总结
作用:一块独立渲染区域,内部元素的渲染不会影响边界以外的元素
生成bfc的常见条件:
应用场景:
.clearfix:after {
content: '';
display: table;
clear: both;
}
.clearfix
是处理浮动布局中的常见问题的一个简单而有效的方法。
.clearfix:after
:这是一个伪元素选择器,它选择 .clearfix
类的所有元素的 ::after
伪元素。伪元素 ::after
用于在元素内容的最后添加内容。
content: '';
:设置伪元素的内容。这里设置为空字符串,意味着实际上不添加任何可见内容。
display: table;
:将伪元素的显示类型设置为表格。这种方式可以确保 clear
属性有效。有些情况下,也会看到 display: block;
。
clear: both;
:这个属性是关键。它清除了之前所有浮动元素对布局的影响。both
表示清除左右两侧的浮动,这样伪元素会被放置在浮动元素之后,确保父元素包含所有浮动的子元素。
维持父元素的高度:在不使用 .clearfix
的情况下,如果父元素内部只有浮动元素,父元素的高度可能会坍塌(即不反映子元素的高度),因为浮动元素不占据文档流的空间。使用 .clearfix
可以解决这个问题。
避免布局错乱:它还可以防止后续的非浮动元素上移,插入到浮动元素的旁边。
inline 元素 :text-align: center
block 元素:margin: auto
absolute 元素:left: 50% + margin-left 负值
inline 元素:line-height 的值等于 height 值
absolute 元素:top:50% + margin-top 负值(必须要知道子元素的宽高)
absolute 元素: transform(-50%,-50%)(不需要)
absolute 元素 : top, left, bottom, right = 0 + margin: auto(不需要)
window.screen.height // 屏幕高度
windowinnerHeight // 网页视高度
document.body.clientHeight // body 高度?
vh 网页视口高度的1/100
vw 网页视口宽度的 1/100
vmax 取两者最大值;vmin 取两者最小值
window.innerHeight === 100vh
window.innerwidth ===100vw
offsetWidth =(内容宽度 +内边距 +边框)无外边距