每個文檔中,每一個元素都被表示爲一個矩形的盒子,它都會具備內容區、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