父元素的高度为0利用伪元素-after清除浮动可解决
在使用浮动布局进行页面多列布局时,经常利用 CSS 的 `float: left/right` 属性。浮动元素的一个常见问题是,如果父元素没有明确定义高度,那么它的高度会默认为 0,并不会根据子元素的高度自动调整。若想让某些元素避开浮动元素并出现在下一行,则这些元素不应紧跟在浮动元素后面。
对于样式表,我们有这样的代码:
```css
content {
background: 000;
}
.left {
width: 100px;
height: 100px;
background: eee;
margin: 0 10px;
float: left;
}
```
在使用浮动布局时,我们经常需要一个块级元素来设置 `clear` 属性以清除浮动。如果浮动元素的下方已有其他元素,可以直接对这个元素设置 `clear: both`。但在没有其它元素的情况下,我们通常需要一个空白标签来清除浮动。然而这种做法无疑会增加浏览器的渲染负担。为了解决这个问题,我们可以使用伪元素 `:after` 来替代这个空白标签。由于清除浮动需要在浮动元素的后面进行,因此我们不能使用 `:before`。我们可以对 `:after` 设置 `content: ""` 并使其 `display: block` 成为块级元素后 `clear: both` 来清除浮动。代码如下:
```css
content:after {
content: "";
display: block;
clear: both;
}
```
值得注意的是,上述方法在 IE6、IE7 中可能无法正常工作。为了在这些旧版浏览器中也能使用,我们需要对 `content` 设置 `zoom: 1`。这样,我们就可以在不增加浏览器渲染负担的情况下清除浮动,让页面布局更加灵活和高效。这样设计的页面在呈现多列布局时,既美观又具有良好的兼容性和性能。
网站模板
- 父元素的高度为0利用伪元素-after清除浮动可解决
- 从微软官网申请win10安装密钥的方法
- 数码单反相机拍摄技巧心得之一:确立明确的拍
- 为什么鼠标被禁用了?网页鼠标右键被禁用解决
- 台媒证实360收购案内幕:周鸿祎曾要求HTC手机减
- CDR绘制可爱的卡通小老虎
- CSS新特性-圆角边框多栏Gird布局背景设置
- Xbox One游戏串流到Win10:微软已开启最高质量模式
- Windows8系统如何阻止自动清除缩略图?阻止自动清
- 怎样隐藏及禁止查看U盘盘符
- Win8采用扁平化的Metro设计风格如何设置默认进入
- SonicStageMonitoring.exe是什么进程 有什么作用
- Win10通用版QQ 5.0.6.0901正式版下载
- 三星S6 edge Plus售价曝光 约合5432元
- Win10修改输入法切换快捷键Ctrl+Shift
- 360修复漏洞打补丁过程中XP突然蓝屏的修复方法