[css]等高列的简单实现
又碰到css等高布局的问题,发现以前没有总结,这里再把基本原理写一下吧。
1.负边距控制法。
<div id="content">
<div class="left">左边,无高度属性,自适应于最高一栏的高度</div>
<div class="right">右边,无高度属性,自适应于最高一栏的高度</div>
<div class="center">中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应</div>
</div>
把容器的overflow设为hidden,给每列都设置大的底部内边距,再用数值相似的负外边距消除这个高度。
#content{
overflow:hidden;
}
.left,.right,.center{
padding-bottom:9999px;
margin-bottom:-9989px;
padding-top:10px;
padding-left:10px;
padding-right:10px;
}
.left{
float:left;
width:200px;
background-color:#eee;
}
.right{
float:right;
width:300px;
background-color:#ddd;
}
.center{
margin-left:230px;
margin-right:330px;
background-color:#999;
}
2.flex布局
同样的html结构。如果是三等分的话,用flex非常简单,align-items的属性默认值是stretch,所以就是等高的,上css代码:
#content {
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
overflow: hidden;
}
.left,.right,.center {
flex: 1;
}
.left {
order: 0;
background-color: #eee;
}
.center {
order: 1;
margin: 0 10px;
background-color: #999;
}
.right {
order: 2;
background-color: #ddd;
}
3.参考资料
[css]等高列的简单实现的更多相关文章
- 古老的CSS同高列问题
今日在网页设计时,遇到了希望页面的几列同高需求的实现问题,搜罗了一下google,找到以下文章,感觉不错,翻译过来,同时作为学习加深印象. https://css-tricks.com/fluid-w ...
- css设置多列等高布局
初始时,多个列内容大小不同,高度不同.现在需要设置不同的背景来显示,而且各个列的高度需要保持一致.那么这就需要利用到多列等高布局. 最终需要的效果: 1. 真实等高布局 flex 技术点:弹性盒子布局 ...
- 只用css实现“每列四行,加载完一列后数据自动填充到下一列”的效果
只用css实现“每列四行,加载完一列后数据自动填充到下一列”的效果.这个题目用图表示如下: 如果将题目换成“只用css实现每行四列,加载完一行后数据自动填充到下一行”,那这个问题就简单多了,相信大家都 ...
- 八种创建等高列布局【出自w3c】
高度相等列在Web页面设计中永远是一个网页设计师的需求.如果所有列都有相同的背景色,高度相等还是不相等都无关紧要,因为你只要在这些列的父元素中设置一个背景色就可以了.但是,如果一个或多个列需要单独设置 ...
- CSS行高--line-height
遇到的问题:在css中,不理解line-height:1与line-height:1px的区别 发现的过程:最近在学做一个网站的过程中,设置两行文字之间的行高时需要用到line-height,发现了这 ...
- 【转】css行高line-height的一些深入理解及应用
一.前言 前两天在腾讯ISD团队博客上看到一篇翻译的文章“深入理解css 行高”,是个不错的文章,学到了不少东西,建议您看看. 这里,我也要讲讲我对line-height的一些理解,所讲解的东西绝大多 ...
- CSS行高——line-height 垂直居中等问题
CSS行高——line-height 初入前端的时候觉得CSS知道display.position.float就可以在布局上游刃有余了,随着以后工作问题层出不穷,才逐渐了解到CSS并不是几个sty ...
- 哪些CSS是可以被继承的--简单整理
那些CSS是可以被继承的--简单整理1.文本相关属性是继承的:font-size,font-family,line-height,text-index等2.列表相关属性是继承的:list-style- ...
- 李洪强和你一起学习前端之(6)css行高,盒模型,外边距
李洪强和你一起学习前端之(6)css行高,盒模型,外边距 复习昨天的知识 1.1css书写位置: 内嵌式写法 外联式写法 <link href = "1.css" rel = ...
随机推荐
- java使用对象类型作为方法的参数
- Flutter中的日期、格式化日期、日期选择器组件
Flutter中的日期和时间戳 //獲取當前日期 DateTime _nowDate = DateTime.now(); print(_nowDate);//2019-10-29 10:57:20.3 ...
- vue的列表交错过渡
参考文章 https://juejin.im/post/5cccf5b0e51d453a907b4af1
- RandomAccessFile类学习
RandomAccessFile类学习 RandomAccessFile是io包的类,从Object直接继承而来,只可以对文件进行操作,可以对文件进行读取和写入. 当模式为r:当文件不存在时会报异常: ...
- HTTP协议-Cookie和Session详解
前言: 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的跟踪技术就是Cookie和Session. Cookie通过在客户端记录信息确定用户身份,Session通过在 ...
- boost timer
Boost.Timer provides clocks to measure code performance. At first, it may seem like this library com ...
- 如何通过Dataphin构建数据中台新增100万用户?
欢迎来到数据中台小讲堂!这一期我们来看看,作为阿里巴巴数据中台(OneData - OneModel.OneID.OneService)方法论的产品载体,Dataphin如何帮助传统零售企业实现数字化 ...
- Ant Design(ui框架)
官方文档:https://ant.design/docs/react/introduce-cn 说明:Ant Design 是一个 ui框架,和 bootstrap 一样是ui框架.里面的组件很完善, ...
- Xcode cannot run using the selected device after upgrade
Please follow below step 1>Go to Project Build setting 2>Change compiler for c/c++/objective c ...
- Spring CGLlB动态代理
JDK 动态代理使用起来非常简单,但是它也有一定的局限性,这是因为 JDK 动态代理必须要实现一个或多个接口,如果不希望实现接口,则可以使用 CGLIB 代理. CGLIB(Code Generati ...