css 一行自适应等比例布局
一、浮动布局+百分比
.row {
width:100%;
overflow:hidden;
zoom:1;
}
.item {
float: left;
width: 20%;
}
该样式兼容性较好,但是无法实现当里面的列增多时比例也随着变化,必须手动修改,当然你也可以使用一个JS来调整了。
二、行内元素(inline-block)+百分比
.row {
width:100%;
font-size: 0; /*行内元素间有字符,诸如回车符等会被浏览器解析成一个空格*/
*word-spacing: -1px;
}
.item {
display: inline-block;
*display: inline;
*zoom: 1;
vertical-align: top;
word-spacing: normal;
letter-spacing: normal;
width: 20%;
}
三、display:table + display:table-cell
我们知道表格可以根据内容进行划分,CSS也有一个样式是display:table来实现类似表格的布局,不过不支持IE8以下浏览器。
.row {
width:100%;
display: table;
}
.item {
display: table-cell;
}
四、使用css3 display:flex
.row {
width: 100%;
display: box; /* OLD 2009版 - Android 4.4- */
display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */
display: -webkit-flex; /* NEW - Chrome */
display: flex; /* NEW, Spec - chrome21+ Opera 12.1, Firefox 20+ */
}
.item {
-webkit-box-flex: 1; /* OLD - iOS 6-, Safari 3.1-6 */
-webkit-flex: 1; /* Chrome */
flex: 1;
}
该方法只适用于高级浏览器,哪怕是移动端兼容性也不好,IE10以下的还是算了。具体介绍看另一篇文章。
五、使用栅格化系统
例如Bootstrap的栅格化系统
.col-md-3 { float:left; }
@media (min-width: 992px) {
.col-md-3 { width: 25%; }
/* 父级容器的3/12 */
}
<div class="container">
<div class="row">
<div class="col-md-3"></div>
...
</div>
</div>
缺点和第一个的float一样,需要根据列数来跳出宽度调整。
总结
如果需要兼容IE6-IE7的,如果列数固定可以使用第一种(浮动布局+百分比)和第二种(行内元素+百分比)。如果列数不固定,可以加少量js支持。
如果是只考虑移动的,考虑第三种(table-ceil),兼容性比下面的flex支持的比较好。
如果单纯的不考虑低版本浏览器的,可以考虑使用第四种(flex)。
附布局基础html代码
<style>
.c-red {
background-color: red;
}
.c-blue {
background-color: blue;
}
.c-gray {
background-color: gray;
}
.c-orange {
background-color: orange
}
.c-green {
background-color: green
}
.container {
width: 1000px;
height: 250px;
margin: 50px auto;
border: 5px solid black;
}
.item {
height: 250px;
}
</style>
<div class="container">
<div class="row">
<div class="item c-red"></div>
<div class="item c-blue"></div>
<div class="item c-gray"></div>
<div class="item c-orange"></div>
<div class="item c-green"></div>
</div>
</div>
css 一行自适应等比例布局的更多相关文章
- 常见css垂直自适应布局(css解决方法)
css3的盒模型, css3中添加弹性盒模型,最新弹性盒模型是flex,之前为box <!DOCTYPE html> <html > <head> <titl ...
- 常见css水平自适应布局
左右布局,左边固定,右边自适应布局 BFC方法解决 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ...
- css实现div两列布局——左侧宽度固定,右侧宽度自适应(两种方法)
原文:css实现div两列布局--左侧宽度固定,右侧宽度自适应(两种方法) 1.应用场景 左侧一个导航栏宽度固定,右侧内容根据用户浏览器窗口宽度进行自适应 2.思路 首先把这个问题分步解决,需要攻克以 ...
- CSS流体(自适应)布局下宽度分离原则
CSS流体(自适应)布局下宽度分离原则 这篇文章发布于 2011年02月28日,星期一,00:48,归类于 css相关. 阅读 73990 次, 今日 5 次 by zhangxinxu from h ...
- 七种CSS左侧固定,右侧自适应两栏布局
一 两栏布局基本HTML和CSS 首先创建基本的HTML布局和最基本的样式. 基本的样式是,两个盒子相距20px, 左侧盒子宽120px,右侧盒子宽度自适应 <div class="w ...
- 演示:纯CSS实现自适应布局表格
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- css高度已知,左右定宽,中间自适应三栏布局
css高度已知,左右定宽,中间自适应三栏布局: <!DOCTYPE html> <html lang="en"> <head> <meta ...
- CSS+DIV自适应布局
CSS+DIV自适应布局 1.两列布局(左右两侧,左侧固定宽度200px;右侧自适应占满) 代码如下: <!doctype html> <html> <head> ...
- div等比例缩放-------纯CSS实现自适应浏览器宽度的正方形
摘自:https://blog.csdn.net/u010513603/article/details/78200207 1.方案一:CSS3 vw 单位 CSS3 中新增了一组相对于可视区域百分比的 ...
随机推荐
- python-django框架-电商项目-购物车模块开发_20191125
python-django框架-电商项目-购物车模块开发 商品详情页js代码: 在商品详情页,有加入购物车按钮, 点击加减号可以增加减少,手动输入也可以, 点击加入购物车,就要加过去, 先实现加减的操 ...
- Java IO: 字符流的Piped和CharArray
作者: Jakob Jenkov 译者: 李璟(jlee381344197@gmail.com) 本章节将简要介绍管道与字符数组相关的reader和writer,主要涉及PipedReader.Pip ...
- 地址SQL文件
文件下载 Beckoning
- node+express+MongoDB实现小商城服务端
https://blog.csdn.net/qq_28027903/article/details/82868313
- RabbitMQ(1)——基础入门
本文章写在了CSDN :https://blog.csdn.net/qq_30348181/article/details/87911398
- JS做深度学习3——数据结构
最近在上海上班了,很久没有写博客了,闲下来继续关注和研究Tensorflow.js 关于深度学习的文章我也已经写了不少,部分早期作品可能包含了不少错误的认识,在后面的博文中会改进或重新审视. 今天聊聊 ...
- 用VS2013进行调试
首先新建一个简单的C++程序 打开VS2013-文件-新建-项目-选择Win32 控制台程序 添加-新建项-选择C++源文件 编写如下代码 #include<iostream> using ...
- if分支判断
# 控制语句 分支 循环语句 # 判断语句 if ..elif..else # if 条件语句(比较 逻辑 成员运算) # 空数据 == False # 非空数据 == True age = 20 i ...
- windows 下 基于express搭建 https协议的网站
参考 https://blog.csdn.net/xingyanchao/article/details/79362443 问题在于生成SSL证书的时候Windows环境下会报错 解决方案 参考 ht ...
- Ubuntu18.04安装OpenStack
Ubuntu18.04 安装Queens版本OpenStack 安装环境 系统 系统使用的是Ubuntu18,最少4核8G内存,20G硬盘空间. 工具 devstack DevStack是一系列可扩展 ...