CSS3中使用flex和grid实现等高元素布局的示例代码
发布时间:2025-02-11 16:37:51 作者:天才和人才就差了二
我要评论
本文介绍了使用CSS3中的Flexbox和Grid布局实现等高元素布局的方法,通过简单的两列实现、每行放置3列以及全部代码的展示,展示了这两种布局方式的实现细节和效果,感兴趣的朋友一起看看吧
过往的实现方法是使用浮动加计算布局来实现,当flex和grid问世时,这一切将变得简单起来
一、简单的两列实现
1、先看页面效果

2、css代码
.container {
padding: 10px;
width: 100ch;
margin: 0 auto;
box-shadow: inset 0 0 0 2px #ccc;
}
.column {
margin: 20px;
background-color: #ccc;
padding: 10px;
}
.flexbox {
display: flex;
}
.grid {
display: grid;
grid-auto-flow: column;
}3、html代码
<div class="container">flex布局</div>
<div class="container flexbox">
<div class="column">
<div class="element">
<p> 松饼冰淇淋小熊软糖。甜苹果派,蛋糕,糖果,胡萝卜蛋糕。糖蛋奶酥,柠檬糖软糖。</p>
</div>
</div>
<div class="column">
<div class="element">
<p>提拉米苏粉布丁。蛋糕芝士蛋糕糕点焦糖提拉米苏。</p>
</div>
</div>
</div>
<div class="container">grid布局</div>
<div class="container grid">
<div class="column">
<div class="element">
<p>松饼冰淇淋小熊软糖。甜苹果派,蛋糕,糖果,胡萝卜蛋糕。糖蛋奶酥,柠檬糖软糖。</p>
</div>
</div>
<div class="column">
<div class="element">
<p>提拉米苏粉布丁。蛋糕芝士蛋糕糕点焦糖提拉米苏。</p>
</div>
</div>
</div>二、每行放置3列,多出来的自动到下一行
1、还是先看页面效果

2、css代码
.container {
padding: 10px;
width: 100ch;
margin: 0 auto;
box-shadow: inset 0 0 0 2px #ccc;
}
.column {
margin: 20px;
background-color: #ccc;
padding: 10px;
}
.flexbox {
display: flex;
}
.flexbox.col-3 {
flex-wrap: wrap;
}
.flexbox.col-3 .column {
margin: 0.5rem;
width: calc((100% / 3) - 1rem);
}
.grid {
display: grid;
grid-auto-flow: column;
}
.grid.col-3 {
grid-gap: 1rem;
grid-template-columns: repeat(3, 1fr);
grid-auto-flow: unset;
}
.grid.col-3 .column {
margin: 0;
}3、html代码
<div class="container">flex布局</div>
<div class="container flexbox col-3">
<div class="column">
<div class="element">
<p>flexbox col-3: 甜苹果派,蛋糕,糖果,胡萝卜蛋糕。糖蛋奶酥,柠檬糖软糖。</p>
</div>
</div>
<div class="column">
<div class="element">
<p>提拉米苏粉布丁。蛋糕芝士蛋糕糕点焦糖提拉米苏。</p>
</div>
</div>
<div class="column">
<div class="element">
<p>松饼冰淇淋小熊软糖。甜苹果派,蛋糕,糖果,胡萝卜蛋糕。糖蛋奶酥,柠檬糖软糖。</p>
</div>
</div>
<div class="column">
<div class="element">
<p>蛋奶酥馅饼,柠檬糖,小熊软糖,棒棒糖,甜点,芝麻饼干。提拉米苏粉布丁。蛋糕芝士蛋糕糕点焦糖提拉米苏。</p>
</div>
</div>
</div>
<div class="container">grid布局</div>
<div class="container grid col-3">
<div class="column">
<div class="element">
<p>grid col-3:甜苹果派,蛋糕,糖果,胡萝卜蛋糕。糖蛋奶酥,柠檬糖软糖。</p>
</div>
</div>
<div class="column">
<div class="element">
<p>提拉米苏粉布丁。蛋糕芝士蛋糕糕点焦糖提拉米苏。</p>
</div>
</div>
<div class="column">
<div class="element">
<p>松饼冰淇淋小熊软糖。甜苹果派,蛋糕,糖果,胡萝卜蛋糕。糖蛋奶酥,柠檬糖软糖。</p>
</div>
</div>
<div class="column">
<div class="element">
<p>蛋奶酥馅饼,柠檬糖,小熊软糖,棒棒糖,甜点,芝麻饼干。提拉米苏粉布丁。蛋糕芝士蛋糕糕点焦糖提拉米苏。</p>
</div>
</div>
</div>三、全部代码

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>使用flex和grid实现等高元素布局</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
.container {
padding: 10px;
width: 100ch;
margin: 0 auto;
box-shadow: inset 0 0 0 2px #ccc;
}
.column {
margin: 20px;
background-color: #ccc;
padding: 10px;
}
.flexbox {
display: flex;
}
.flexbox.col-3 {
flex-wrap: wrap;
}
.flexbox.col-3 .column {
margin: 0.5rem;
width: calc((100% / 3) - 1rem);
}
.grid {
display: grid;
grid-auto-flow: column;
}
.grid.col-3 {
grid-gap: 1rem;
grid-template-columns: repeat(3, 1fr);
grid-auto-flow: unset;
}
.grid.col-3 .column {
margin: 0;
}
</style>
</head>
<body>
<div class="container">flex布局</div>
<div class="container flexbox">
<div class="column">
<div class="element">
<p> 松饼冰淇淋小熊软糖。甜苹果派,蛋糕,糖果,胡萝卜蛋糕。糖蛋奶酥,柠檬糖软糖。</p>
</div>
</div>
<div class="column">
<div class="element">
<p>提拉米苏粉布丁。蛋糕芝士蛋糕糕点焦糖提拉米苏。</p>
</div>
</div>
</div>
<div class="container">grid布局</div>
<div class="container grid">
<div class="column">
<div class="element">
<p>松饼冰淇淋小熊软糖。甜苹果派,蛋糕,糖果,胡萝卜蛋糕。糖蛋奶酥,柠檬糖软糖。</p>
</div>
</div>
<div class="column">
<div class="element">
<p>提拉米苏粉布丁。蛋糕芝士蛋糕糕点焦糖提拉米苏。</p>
</div>
</div>
</div>
<div class="container">flex布局</div>
<div class="container flexbox col-3">
<div class="column">
<div class="element">
<p>flexbox col-3: 甜苹果派,蛋糕,糖果,胡萝卜蛋糕。糖蛋奶酥,柠檬糖软糖。</p>
</div>
</div>
<div class="column">
<div class="element">
<p>提拉米苏粉布丁。蛋糕芝士蛋糕糕点焦糖提拉米苏。</p>
</div>
</div>
<div class="column">
<div class="element">
<p>松饼冰淇淋小熊软糖。甜苹果派,蛋糕,糖果,胡萝卜蛋糕。糖蛋奶酥,柠檬糖软糖。</p>
</div>
</div>
<div class="column">
<div class="element">
<p>蛋奶酥馅饼,柠檬糖,小熊软糖,棒棒糖,甜点,芝麻饼干。提拉米苏粉布丁。蛋糕芝士蛋糕糕点焦糖提拉米苏。</p>
</div>
</div>
</div>
<div class="container">grid布局</div>
<div class="container grid col-3">
<div class="column">
<div class="element">
<p>grid col-3:甜苹果派,蛋糕,糖果,胡萝卜蛋糕。糖蛋奶酥,柠檬糖软糖。</p>
</div>
</div>
<div class="column">
<div class="element">
<p>提拉米苏粉布丁。蛋糕芝士蛋糕糕点焦糖提拉米苏。</p>
</div>
</div>
<div class="column">
<div class="element">
<p>松饼冰淇淋小熊软糖。甜苹果派,蛋糕,糖果,胡萝卜蛋糕。糖蛋奶酥,柠檬糖软糖。</p>
</div>
</div>
<div class="column">
<div class="element">
<p>蛋奶酥馅饼,柠檬糖,小熊软糖,棒棒糖,甜点,芝麻饼干。提拉米苏粉布丁。蛋糕芝士蛋糕糕点焦糖提拉米苏。</p>
</div>
</div>
</div>
</body>
</html>到此这篇关于CSS3中使用flex和grid实现等高元素布局的文章就介绍到这了,更多相关css3 flex和grid等高元素布局内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!
相关文章
CS3的Grid网格布局是目前最强的二维布局系统,可以同时对列和行进行处理,将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局,本文介绍CSS3 最强二维布局系2025-02-27- 本文介绍了如何使用CSS3的transform属性和动画技巧实现波浪式图片墙,通过设置图片的垂直偏移量,并使用动画使其周期性地改变位置,可以创建出动态且具有波浪效果的图片墙,同2025-02-27
文章介绍了如何使用CSS3实现一个雷达探测扫描的效果,包括夜色背景、蜘蛛网盘、扫描体的转动效果、尾巴阴影以及被扫描到的光点,通过HTML和CSS的配合,实现了丰富的动画效果,2025-02-21- CSS3的Flexbox是一种强大的布局模式,通过设置display:flex可以轻松实现对齐、排列和分布网页元素,它解决了传统布局方法中的对齐、间距分配和自适应布局等问题,接下来通过本2025-02-19
本文给大家介绍css3 实现icon刷新转动效果,文章开头给大家介绍了webkit-transform、animation、@keyframes这三个属性,结合实例代码给大家介绍的非常详细,感兴趣的朋友一2025-02-19- CSS3过渡属性用于实现元素从一种样式平滑过渡到另一种样式,通过设置transition-property过渡属性、transition-duration过渡时长transition-timing-function过渡函数和trans2025-02-19
- 本文介绍了如何使用CSS3创建一个简单的动态旋转加载样式,通过定义一个带有类名“loader”的HTML元素,并使用CSS样式和@keyframes规则来实现旋转动画,你可以根据需要调整样式2025-02-19
- 这篇文章主要介绍了如何使用CSS3的transition属性实现平滑的过渡动画,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧2025-02-13
本文介绍了使用CSS3中的Flexbox和Grid布局实现等高元素布局的方法,通过简单的两列实现、每行放置3列以及全部代码的展示,展示了这两种布局方式的实现细节和效果,感兴趣的朋2025-02-11- CSS3和SVG的结合使用为网页设计带来了创新的动态视觉效果,本文通过一个圆形进度条的动画特效示例,展示了如何利用CSS3的动画功能和SVG的矢量图形能力来创建丰富的用户交互体2024-10-24






最新评论