每个文档中,每一个元素都被表示为一个矩形的盒子,它都会具备内容区、padding、border、margincss
二者的区别:html
使用box-sizing来进行切换chrome
主要分三种重叠, 重叠规则:一大一小取最大,一正一负取和bash
// css
* {
margin:0;
padding:0;
border:0;
}
#d1 {
width:100px;
height:100px;
margin-top:20px;
margin-bottom:20px;
background-color:red;
}
#d2 {
width:100px;
height:100px;
margin-top:10px;
background-color:blue;
}
// html
<div id="d1">
</div>
<div id="d2">
</div>
复制代码
// css
* {
margin:0;
padding:0;
border:0;
}
#outer {
width:300px;
height:300px;
background-color:red;
margin-top:20px;
}
#inner {
width:50px;
height:50px;
background-color:blue;
margin-top:10px;
}
// html
<div id="outer">
<div id="inner">
</div>
</div>
复制代码
块格式化上下文(Block Formatting Context,BFC) 是Web页面的可视化CSS渲染的一部分,是布局过程当中生成块级盒子的区域,也是浮动元素与其余元素的交互限定区域。ide
每一个块级盒子都会参与块格式化上下文(block formatting context)的建立,而每一个块级元素都会至少生成一个块级盒子,即主块级盒子(principal block-level box)布局
有时候定义了一个块级元素,设置了宽高虽然占据一行在chrome下会发现除了元素之外的一个包裹盒子像margin同样的颜色,这个就是块级盒; post
每个块级元素会生成一个ui
原理就是触发BFC从新计算元素尺寸spa
// html
<div></div>
<p>
开始清除浮动清除浮动清除浮动....
</p>
// css
*{
margin: 0;
padding: 0;
}
div{
width: 100px;
height: 100px;
background: green;
float: left;
}
p{
background: #f0faa5;
overflow: hidden;
}
复制代码
// html
<section class="divwrap">
<div class="div1">
float1
</div>
<div class="div2">
float2
</div>
</section>
//css
*{
margin: 0;
padding: 0;
}
div{
width: 100px;
height: 100px;
background: green;
float: left;
}
.div2{
background: red;
}
.divwrap{
border:3px solid #000;
overflow: hidden;
}
复制代码
// html
<div class="BFC">
<p>
hello world
</p>
</div>
<p>
hello world
</p>
<p>
hello world
</p>
// css
*{
margin: 0;
padding: 0;
}
.BFC{
overflow:hidden;
}
p{
color:black;
background:#D499B9;
line-height:100px;
width:200px;
text-align:center;
margin:50px;
}
复制代码
最后感谢每一个阅读的小伙伴与全部写博客分享的人3d