css实现多列高度自适应的方法
你对CSS布局自适应高度解决方法是否了解,这里和大家分享一下,本文要介绍的方法是采用容器溢出部分隐藏和列的负底边界和正的内补丁相结合的方法来解决列高度相同的问题。
查看DEMO
CSS布局自适应高度解决方法
这是一个比较典型的三行二列布局,每列高度(事先并不能确定哪列的高度)的相同,是每个设计师追求的目标,按一般的做法,大多采用背景图填充、加JS脚本的方法使列的高度相同,本文要介绍的是采用容器溢出部分隐藏和列的负底边界和正的内补丁相结合的方法来解决列高度相同的问题。
先看代码:
- #wrap{
- overflow:hidden;
- }
- #sideleft,#sideright{
- padding-bottom:32767px;
- margin-bottom:-32767px;
- }
块元素必须包含在一个容器里。
应用overflow:hidden到容器里的元素。
应用padding-bottom(足够大的值)到列的块元素。
应用margin-bottom(足够大的值)到列的块元素。
padding-bottom将列拉长变的一样高,而负的margin-bottom又使其回到底部开始的位置,同时,溢出部分隐藏掉了。
兼容各浏览器
IEMac5
得到高度正确,所以要过滤掉上面的代码。
- /*\*/
- #sideleft,#sideright{
- padding-bottom:32767px;
- margin-bottom:-32767px;
- }
- /**/
1.Opera7.0-7.2不能正确清除溢出部分,所以要加:
- /*easyclearing*/
- #wrap:after
- {
- content:'[DONOTLEAVEITISNOTREAL]';
- display:block;
- height:0;
- clear:both;
- visibility:hidden;
- }
- #wrap
- {
- display:inline-block;
- }
- /*\*/
- #wrap
- {
- display:block;
- }
- /*endeasyclearing*/
- /*\*/
- /*\*/
- #sideleft,#sideright
- {
- padding-bottom:32767px!important;
- margin-bottom:-32767px!important;
- }
- @mediaalland(min-width:0px){
- #sideleft,#sideright
- {
- padding-bottom:0!important;
- margin-bottom:0!important;
- }
- #sideleft:before,#sideright:before
- {
- content:'[DONOTLEAVEITISNOTREAL]';
- display:block;
- background:inherit;
- padding-top:32767px!important;
- margin-bottom:-32767px!important;
- height:0;
- }
- }
- /**/
测试环境:IE5.01、IE5.5、IE6.0、Firefox1.5、Opera8.5、Netscape7.2通过。
推荐阅读
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- MybatisPlus使用queryWrapper如何实现复杂查询
- python学习之|python学习之 实现QQ自动发送消息
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。
- 孩子不是实现父母欲望的工具——林哈夫
- opencv|opencv C++模板匹配的简单实现
- Node.js中readline模块实现终端输入
- java中如何实现重建二叉树
- 人脸识别|【人脸识别系列】| 实现自动化妆
- paddle|动手从头实现LSTM