您现在的位置是:网站首页> 编程资料编程资料
css浮动中避免包含元素高度为0的4种解决方法解决子容器全部浮动时父容器高度不能自动撑开的方法纯CSS无hacks的跨游览器自适应高度多列布局 推荐在DIV容器中使用浮动元素的方法CSS教程:div设置float后高度不自动增加-CSS教程-网页制作-网页教学网CSS 清除浮动元素方法 整理浮动层自动适应高度的解决方法Css浮动元素外层容器高度为0(无高度)的解决方法
2021-09-07
859人已围观
简介 当一个元素只包含浮动元素的时候,它会出现高度折叠,即元素的上下底边重合,和高度为0效果一样,针对这个问题与大家分享四种解决方法,感兴趣的你可以参考下本文或许对你更好的理解css有所帮助
当一个元素只包含浮动元素的时候,它会出现高度折叠(在火狐中是这样,IE9不会),即元素的上下底边重合,和高度为0效果一样,下面是解决这个问题的4种方法。
首先我么看最原始的情况,下面是代码:
Float
运行结果:
本来ul的背景色被设置成blue,但是由于它出现了高度折叠,所以看不到背景色。
1 给包含元素设置高度height
最直接的办法是给包含元素设置一个高度,在本例中就是给ul标签添加height属性,添加后的代码如下:
ul {
list-style-type: none;
width: 800px;
background: blue;
height: 300px; /*添加高度属性*/
}
但是这种方法有一个缺点,就是包含元素的高度不能自适应内容。比如我们在添加多个列表项,那么高度又不够了。
2 利用overflow属性
可以包含元素设置overflow属性,并设置属性值为auto或者hidden,添加后的代码如下:
ul {
list-style-type: none;
width: 800px;
background: blue;
overflow: hidden; /*添加overflow属性,可以设置为auto或者hidden*/
}
这种方式没有直接设置height属性的限制,但是当包含元素的overflow属性必须设置为visible时,这种方法失效。
3 添加一个空的div
这种方法是添加一个空的div,这个div和浮动元素同一级别,且位于浮动元素的最后。这种方法要改动两个地方,一个是html代码,另一个是必须要为这个div添加一个clear属性:
Float
这种方法虽然也能解决高度问题,但是却引入了一个多余的标签div,它这里并不具有实际意义,它的作用只是撑开ul标签而已。
4 利用伪元素:after
用这种方法时要为包含元素先添加一个类名,这里为ul标签设置的类名.clearUl,代码如下:
Float
在:after为元素里面用到了content属性,这样这条样式的意思是在ul元素后面生成指定的内容,这里生成的内容是一个空字符串,因为只是让它来消除ul标签的高度折叠,并不让它显示出来。还有,这条样式里有display属性,要将他设置成block,这样clear属性才会起作用,因为清除操作只作用于块级元素,它的原理是为要执行清除操作的元素添加上边距,以此让元素降到浮动元素的下面,而操作行内元素的上边距不起作用。
首先我么看最原始的情况,下面是代码:
复制代码
代码如下:运行结果:

本来ul的背景色被设置成blue,但是由于它出现了高度折叠,所以看不到背景色。
1 给包含元素设置高度height
最直接的办法是给包含元素设置一个高度,在本例中就是给ul标签添加height属性,添加后的代码如下:
复制代码
代码如下:ul {
list-style-type: none;
width: 800px;
background: blue;
height: 300px; /*添加高度属性*/
}
但是这种方法有一个缺点,就是包含元素的高度不能自适应内容。比如我们在添加多个列表项,那么高度又不够了。
2 利用overflow属性
可以包含元素设置overflow属性,并设置属性值为auto或者hidden,添加后的代码如下:
复制代码
代码如下:ul {
list-style-type: none;
width: 800px;
background: blue;
overflow: hidden; /*添加overflow属性,可以设置为auto或者hidden*/
}
这种方式没有直接设置height属性的限制,但是当包含元素的overflow属性必须设置为visible时,这种方法失效。
3 添加一个空的div
这种方法是添加一个空的div,这个div和浮动元素同一级别,且位于浮动元素的最后。这种方法要改动两个地方,一个是html代码,另一个是必须要为这个div添加一个clear属性:
复制代码
代码如下:这种方法虽然也能解决高度问题,但是却引入了一个多余的标签div,它这里并不具有实际意义,它的作用只是撑开ul标签而已。
4 利用伪元素:after
用这种方法时要为包含元素先添加一个类名,这里为ul标签设置的类名.clearUl,代码如下:
复制代码
代码如下:在:after为元素里面用到了content属性,这样这条样式的意思是在ul元素后面生成指定的内容,这里生成的内容是一个空字符串,因为只是让它来消除ul标签的高度折叠,并不让它显示出来。还有,这条样式里有display属性,要将他设置成block,这样clear属性才会起作用,因为清除操作只作用于块级元素,它的原理是为要执行清除操作的元素添加上边距,以此让元素降到浮动元素的下面,而操作行内元素的上边距不起作用。
相关内容
- 背景半透明效果CSS链接样式代码纯CSS实现背景半透明文字不透明效果兼容IE6css 背景半透明最佳实践css实现背景半透明文字不透明的效果示例
- css3气泡 css3关键帧动画创建的动态通知气泡CSS3中的@keyframes关键帧动画的选择器绑定详解CSS动画属性关键帧keyframes全解析
- css伪类伪元素域高级选择器的介绍详解如何使用CSS3中的结构伪类选择器和伪元素选择器解析CSS中的伪元素及其与伪类的区别详解CSS中的伪类与伪元素及二者间的区别浅谈CSS伪类与伪元素CSS伪类和伪元素的区别详解css3 伪元素和伪类选择器详解CSS伪类/伪元素选择器整理CSS伪类与CSS伪元素的区别及由来具体说明浅谈CSS 伪元素&伪类的妙用
- 什么是@font-face及font-face如何在css中使用深入理解CSS @font-face性能优化CSS3 @font-face属性使用指南CSS3用@font-face实现自定义英文字体CSS @font-face属性实现在网页中嵌入任意字体css常用样式font设置字体的多种变换(实例详解)css中引入指定字体@font-face兼容各浏览器的问题
- Firefox按钮和锚标签上的虚线轮廓删除方法去除在FireFox中点击链接时,出现虚线边框的解决办法去掉a标签和按钮加背景图片虚线/阴影完美解决方案去掉a标签超链接的虚线框的方法css去掉点击连接时所产生的虚线边框技巧兼容符合w3c标准的浏览器隐藏超链接,按钮按下时的虚线方法使用CSS清除按钮和超链接点击时产生的虚线 DIV+CSS实例虚线边框|CSS虚线下划线及虚线用应去掉点击链接时出现的虚线框的几个方法css 网页虚线制作方法剖析纯CSS搞定按钮、链接点击时的虚线
- 用纯css3和html制作泡沫对话框实现代码CSS3软件卸载对话框代码 根据是否卸载出现不同表情CSS实现对话框小尾巴功能纯CSS实现气泡对话框尖角处理方案纯CSS代码实现各类气球泡泡对话框效果css 实现小尖角聊天对话框带尖角的说话泡泡效果
- 设计一个带选择和提示功能的检索框(分步介绍)设置div背景透明的方法示例CSS实现div不设高度完全居中div自适应高度自动填充剩余高度详解DIV+CSS的命名规矩才能有利于SEO优化的实现方法DIV或者DIV里面的图片水平与垂直居中的方法详解如何用div实现自制滚动条div对齐与网页布局详解DIV+CSS实现电台列表设计的示例代码div+css实现带箭头的面包屑导航栏不定宽高的文字在div中垂直居中实现方法
- css控制文字前的小图标具体写法css图标与文字对齐的两种实现方法Html+css实现纯文字和带图标的按钮纯CSS实现取字符串的第一个字符实现文字图标功能
- a和span组合定义按钮样式实例分享设置div背景透明的方法示例CSS实现div不设高度完全居中div自适应高度自动填充剩余高度详解DIV+CSS的命名规矩才能有利于SEO优化的实现方法DIV或者DIV里面的图片水平与垂直居中的方法详解如何用div实现自制滚动条div对齐与网页布局详解DIV+CSS实现电台列表设计的示例代码div+css实现带箭头的面包屑导航栏不定宽高的文字在div中垂直居中实现方法
- IE中css样式设置height无效的解决方法浅谈原生页面兼容IE9问题的解决方案新版chrome浏览器设置允许跨域的实现css hack之\9和\0就可能对hack IE11\IE9\IE8无效css区分ie8/ie9/ie10/ie11 chrome firefox的代码解决CSS浏览器兼容性问题的4种方案常见的浏览器兼容性问题(小结)border-radius IE8兼容处理的方法浅谈遇到的几个浏览器兼容性问题base64图片在各种浏览器的兼容性处理 对常见的css属性进行浏览器兼容性总结(推荐)