使用方法: .clearfix:before,.clearfix:after { content:"."; display:table; } .clearfix:after { clear:both; } .clearfix { *zoom:1; } 优点: 代码更简洁 缺点: 由于IE6-7不支持:after,使用 zoom:1触发 hasLayout. 代表网站: 小米.腾讯等…
.BFC概念: 块级格式化上下文,是一个独立的渲染区域,让处于 BFC 内部的元素与外部的元素相互隔离,使内外元素的定位不会相互影响. 我们先了解一个名词:BFC(block formatting context),中文为“块级格式化上下文”. 先记住一个原则: 如果一个元素具有BFC,那么内部元素再怎么翻江倒海,翻云覆雨,都不会影响外面的元素.所以,BFC元素是不可能发生margin重叠的,因为margin重叠会影响外面的元素的:BFC元素也可以用来清除浮动带来的影响,因为如果不清除,子元素浮…
使用after伪类清除浮动 .department li:after{ content:"."; height:0; visibility:hidden; display:block; clear:both; }…
以前清除浮动的时候总是在想要清除浮动的元素后面添加 <div style="clear:both;"></div> 或者写在br标签里面来解决,但这样会增加无语义的标签,下面是用after伪类实现,兼容多种浏览器 .clearfix:after{ content:""; display:block; ; clear:both; visibility:hidden; } 为兼容IE6,IE7,因为ie6,ie7不能用after伪类.加上下面代码…
代码实例: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>清除浮动方法一</title> <style> *{ margin:; padding:; } .father{ width: 500px; background-color: pink; } .son1, .son2{ height…
浮动对页面的影响: 如果一个父盒子中有一个子盒子,并且父盒子没有设置高,子盒子在父盒子中进行了浮动,那么将来父盒子的高度为0.由于父盒子的高度为0, 下面的元素会自动补位,所以这个时候要进行浮动的清除(不要在浮动元素上清除浮动),不然浮动会造成父元素高度坍塌,同时浮动会脱离文档流,对整个页面布局有很大的影响 方式一:使用overflow属性来清除浮动 .ovh{ overflow:hidden; } 先找到浮动盒子的父元素,再在父元素中添加一个属性:overflow:hidden,就是清除这个父…
若元素没有设置宽高,那元素实际宽高是被内容撑起来, 若元素自己有设置宽高,那实际面积于自己的盒子模型有关 1.清除浮动的本质 清除浮动主要是为了解决父级元素因为子级浮动而引起的内部高度为0的问题. (当父元素没有设置高度时,子元素又全浮动了,此时子元素脱离文档流而不占据位置,那就会出现父元素高度为0底下的盒子会跑上来.) 2.清除浮动的方法 a.额外标签法(很少用,不想添加下无意义的标签) b.父级添加overflow方法(overflow:hidden) c.利用after伪元素清除浮动 注意…
盒模型 1.box-sizing: content-box 是普通的默认的一种盒子表现模式 盒子大小为 width + padding + border   content-box:此值为其默认值,其让元素维持W3C的标准Box Mode 2.box-sizing:border-box 以盒子边框为界 自己管理里面的元素 border-box 盒子大小为 width   就是说 padding 和 border 是包含到width里面的 盒子阴影 box-shadow:水平阴影 垂直阴影 模糊距…
盒模型 盒模型是有两种标准的,一个是标准模型,一个是IE模型. css如何设置两种模型 这里用到了CSS3 的属性 box-sizing /* 标准模型 */ box-sizing:content-box; /*IE模型*/ box-sizing:border-box; 行内元素 行内元素对margin的支持 行内元素不支持margin-top与margin-bottom.块级元素及行内块没有这个问题. 行内元素对padding的支持 行内元素设置padding-top会向上延伸一段距离,会覆盖…