原文链接:http://caibaojian.com/css-equal-layout.html
CSS等比例划分,在CSS布局中是比较重要的,下面分享几种常用方法和探讨一下兼容性。
一:浮动布局+百分比
emmet html代码:ul.float-ul>li*5>.con>h3{等分标题}+p{等分内容等分内容}
//code from http://caibaojian.com/css-equal-layout.html
.float-ul{width: 100%; overflow: hidden; zoom: 1;}
.float-ul li{float: left; width: 20%;}
via该样式兼容性较好,但是无法实现当里面的列增多时比例也随着变化,必须手动修改,当然你也可以使用一个JS来调整了。原文来自:http://caibaojian.com/css-equal-layout.html
二:行内元素(inline-block)+百分比
参考之前写过的inline-block替换float的代码,使用该样式还可以实现布局居中等块级元素所具有的特性。
.inline-ul{font-size: 0; *word-spacing: -1px;}
.inline-ul li{display: inline-block; *display: inline; *zoom: 1; font-size: 14px; vertical-align: top; word-spacing: normal; letter-spacing: normal; width: 20%;}
@media screen and (-webkit-min-device-pixel-ratio:0){
.inline-ul{letter-spacing: -5px;}
}
三:display:table + display:table-cell
我们知道表格可以根据内容进行划分,CSS也有一个样式是display:table来实现类似表格的布局,不过不支持IE8以下浏览器。
.table-cell{display: table; width: 100%;}
.table-cell li{display: table-cell;}
四:使用css3 display:flex.
旧语法:
.flex-ul{display: -webkit-box; display: box;}
.flex-ul li{-webkit-box-flex:1; box-flex:1;}
新语法:
.flex-ul{display:-webkit-flex; display: flex; width: 100%;}
.flex-ul li{-webkit-flex:1; flex:1;}
该方法只适用于高级浏览器,IE10以下的还是算了。具体介绍
五:使用栅格化系统
例如Bootstrap的栅格化系统
<div class="container">
<div class="row">
<div class="col-md-3"></div>
...
</div>
</div>
.col-md-3 { float:left; }
@media (min-width: 992px) {
.col-md-3 { width: 25%; }
/* 父级容器的3/12 */
}
缺点和第一个的float一样,需要根据列数来跳出宽度调整。
总结:
如果需要兼容IE6-IE7的,如果列数固定可以使用第一种和第二种。如果列数不固定,可以加少量js支持。
如果是只考虑移动的,考虑第三种,兼容性比下面的flex支持的比较好。
如果单纯的不考虑低版本浏览器的,可以考虑使用第四种。
相关推荐
3. 弹性盒模型(Flexbox):Flexbox使得布局更加灵活,可以轻松实现商品列表的流式布局,自适应不同屏幕尺寸。 4. 栅格系统(Grid):CSS3的网格布局可以创建复杂的二维布局,方便分类页面的商品展示和排列。 5. ...
通过分析和实践这些案例,你可以提升Div+CSS布局能力,理解如何用CSS解决实际问题,如创建多列布局、响应式设计、导航栏、轮播图等。同时,案例源码也会展示如何使用CSS预处理器(如Sass或Less)以及如何组织CSS代码...
通过设置flex容器和flex项目,我们可以实现元素的自动对齐、等分、自适应等效果。 5. **Grid布局**:CSS Grid提供了一个二维的布局系统,使得创建复杂的网格布局变得简单。它可以精确控制行和列的大小,以及元素在...
- 弹性盒布局(Flexbox)是现代CSS布局的重要工具,适用于一维布局(如行或列)。 - `display: flex;`开启父元素的Flex布局,子元素可以通过`flex-grow`、`flex-shrink`、`flex-basis`等属性调整大小和排列。 5. ...
6. **Flexbox和Grid布局**:作为现代CSS布局方案,Flexbox(弹性盒布局)适用于一维布局,而Grid(网格布局)则更适用于二维布局,它们大大简化了复杂的网页布局工作。 7. **CSS预处理器**:Sass、Less等预处理器...
在学习和应用CSS时,了解并熟练掌握Div和CSS布局是基础,但同时也要关注新的CSS规范和技术发展,如Grid和Flex布局的普及,以及CSS-in-JS等趋势。只有不断学习和实践,才能适应快速变化的前端开发环境,创造出更具...
3. **div+css布局** - **流式布局**:传统的`div`+`css`布局通常采用流式布局,将元素按照从左到右、从上到下的顺序排列。 - **响应式布局**:随着移动设备的普及,响应式设计变得至关重要。通过使用媒体查询(`...
在网页设计领域,Div+CSS是一种广泛采用的技术,用于实现页面布局和样式控制。...本资源"div+css实战网页集合——模板+源代码"提供了丰富的网页...同时,源代码的提供有助于学习和调试,加深对CSS布局和样式控制的理解。
还有Flexbox(弹性盒子布局),通过`display: flex`及相关的属性(如`flex-direction`, `justify-content`, `align-items`等)实现灵活的容器内元素排列。 7. **响应式设计**: - 使用媒体查询(`media queries`)...
3. 定位布局:CSS的`position`属性(如static、relative、absolute、fixed)可实现元素相对于其正常位置或其他元素的定位,这对于创建复杂布局至关重要。 4. Flexbox布局:Flexbox模型提供了一种更为现代且灵活的...
在网页设计领域,Div+CSS布局是构建网页结构的核心技术之一。Div(Division)是HTML中的一个块级元素,常用于组织和分隔页面内容,而CSS(Cascading Style Sheets)则是用来控制这些元素样式和布局的语言。本资料包...
本教程“css1.rar_DIV css布局”旨在帮助初学者理解和掌握这一技术。 Div元素,全称为“division”,在HTML中被用来组织和分隔内容,它是块级元素,可以容纳文本、图像或其他HTML元素。通过CSS,我们可以为Div设置...
3. **DIV+CSS布局的优势** - **灵活性**:通过CSS,我们可以精确控制`DIV`元素的尺寸、位置、颜色等样式属性。 - **响应式设计**:使用`DIV+CSS`布局,更容易实现不同设备和屏幕尺寸下的自适应设计。 - **提高...
CSS3是CSS的最新版本,带来了许多强大的新特性,如媒体查询(Media Queries)、Flexbox(弹性盒模型)和Grid(网格布局)。在响应式设计中,媒体查询允许我们根据设备的视口大小应用不同的样式,实现不同屏幕尺寸下...
通过CSS,我们可以控制网页的布局,包括字体、颜色、大小、位置等视觉效果。 2. **CSS选择器**: CSS选择器是用于选取HTML或XML元素的规则。例如,`p`选择器用于选取所有段落,`.class`选择器用于选取具有特定类名...
Flexbox(弹性盒布局)是现代CSS布局的标准,它可以轻松实现等分布局。只需设置`display: flex`和`flex: 1`,所有子元素就会自动等分空间。这种方法不仅支持各种浏览器,还提供了更多的布局控制选项。 ```css ....
与前两个版本相比,CSS3将复杂性分到了多个模块,允许开发者逐步采用新技术,而不是一次性引入大量改动。 **VS 2010 CSS3插件** Visual Studio 2010,是微软提供的一个强大的开发环境,主要用于.NET Framework应用...
总的来说,“50-Div-P-CSS-template.rar_template”是一个全面的教程资源,不仅提供了丰富的布局案例,也鼓励学习者动手实践,通过拆解、修改和重构模板,深入理解Div+CSS布局的精髓。无论是初学者还是有一定经验的...