margin的知識點
margin的塌陷現象
標準文件流中,豎直方向的margin不能疊加,以較大的為準。不是標準流的盒子沒有塌陷現象。
盒子居中margin:0 auto;
margin的值可以為auto,表示自動,當left, right的值都為auto的時候,表示居中。
margin: 0 auto;表示上下0,左右auto。
注意:
- 使用margin:0 auto的盒子必須有width。
- 只有標準流的盒子才能使用該方式居中。
- 只能居中盒子,而不是居中文字,居中文字要用text-align: center;來實現。
善於使用父親的padding,而不是兒子的margin
如果父親沒有border,那麼兒子實際上踹的是流,踹的是行,所以父親整體會掉下來。
<style type="text/css">
* {
margin: 0;
padding: 0;
}
div {
width: 300px;
height: 300px;
background-color: orange;
}
p {
margin-top: 10px;
width: 100px;
height: 100px;
background-color: green;
}
</style>
<body>
<div>
<p>文字</p>
</div>
</body>
父親下來了:
兒子下來了:
關於margin的IE6相容問題
IE6雙倍margin bug。
當出現連續浮動的元素,攜帶和浮動方向相同的margin時,隊首的元素,會出現雙倍margin。
解決方案:
1. 使浮動的方向和margin的方向相反,float:left 和 margin: right配合使用。
2. 使用hack,_margin_left,你懂得 :)
IE6的3px bug
右浮動,但是使用了margin-left,IE6會多出3px。
解決方法:
不用管,因為根本就不允許用兒子踹父親(使用padding)。所以,如果你出現了3px bug,說明你的程式碼不標準。
相關文章
- CSS + HTML 小知識點大雜燴(margin合併、塌陷,清除浮動)CSSHTML
- JS知識點:ES6 中常見的知識點JS
- 知識點
- 面試必知的web知識點面試Web
- vue常用的知識點Vue
- 遺漏的知識點
- 需要攻破的知識點
- VEEAM的小知識點
- linux知識知識點總結Linux
- 初識python必知的6個知識點Python
- Promise知識點Promise
- 面試知識點面試
- Laravel 知識點Laravel
- 通用知識點
- 前端知識點前端
- ajax知識點
- rabbitmq 知識點MQ
- Redis知識點Redis
- SQL知識點(+)SQL
- JavaWeb知識點JavaWeb
- MySQL知識點MySql
- 知識點——terms
- Weex 知識點
- mybatis知識點MyBatis
- SASS知識點
- git 知識點Git
- KVO知識點
- iOS 知識點iOS
- Web知識點Web
- mongoDB知識點MongoDB
- qc知識點
- ASM知識點ASM
- 混合知識點
- web開發知識體系中必要的知識點Web
- Promise的10大知識點!Promise
- 圖片的基本知識點
- Git的11個知識點Git
- 面試需要掌握的知識點面試