国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > CSS > 正文

css的margin collapsing導致最上面會出現(xiàn)一個橫條

2024-07-11 08:35:55
字體:
供稿:網(wǎng)友

最近在做web頁面設計的時候,莫名的發(fā)現(xiàn)最上面會出現(xiàn)一個橫條,顏色為html的背景顏色。本意是那一片空橫條應該為header的背景色。查了一些資料,發(fā)現(xiàn)是margin collapsing的問題,記錄下來,希望初學者少走彎路。

從問題說起
先給出demo的源碼和截屏,給出一個直觀的印象。代碼如下:


<!DOCTYPE html>
<html>
<head>
<style type=”text/css”>
html {
width: 100%;
height: 100%;
max-height: 100%;
margin: 0px;
padding: 0px;
background-color: blue;
}
body {
width: 100%;
height: 100%;
max-height: 100%;
margin: 0px;
padding: 0px;
background-color: orange;
}
#header {
width: 100%;
height: 38%;
margin: 0px;
padding: 0px;
background-color: red;
}
#main {
width: 100%;
height: 62%;
margin: 0px;
padding: 0px;
background-color: green;
}
#container {
width: 80%;
max-width: 864px;
margin: 0px;
padding: 0px;
background-color: green;
}
#footer {
width: 100%;
height: 38%;
margin: 0;
padding: 0;
background-color: gray;
}
</style>
</head>
<body>
<div id=”header”>
<h1>Hello</h1>
</div>
<div id=”main”>
<div id=”container”>
</div>
</div>
<div id=”footer”>
</div>
</body>
</html>

截屏如下(注意最上面的藍色橫條,本想設計為紅色):
http://img.blog.csdn.net/20140521114915156?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva2lteWxyb25n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

問題的原因

margin collapsing,邊界合并。h1默認margin-top值大于0,h1的top margin與header的top margin合并,合并之后的top margin又與body的top margin合并,html是根元素,不再繼續(xù)合并,所以那個橫條是body的margin,顏色為html的背景色。
解決辦法

解決辦法的思路有兩條。其一,去除margin,也就是把margin設置為0;其二是破壞margin collapsing。
margin設置為0

真的很簡單,代碼如下:


h1{
margin-top: 0px;
}

破壞margin collapsing

這里的方法很多,只要是針對margin collapsing的規(guī)則,破壞其中的某一個或者多個環(huán)節(jié)。

設置父元素的overflow為auto或者hidden,代碼如下:


#header {
width: 100%;
height: 38%;
margin: 0px;
padding: 0px;
background-color: red;
overflow: auto;
}

設為非負padding,代碼如下:


#header {
width: 100%;
height: 38%;
margin: 0px;
padding: 0px;
background-color: red;

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 荥经县| 霍林郭勒市| 富顺县| 洞口县| 延长县| 神木县| 行唐县| 寿阳县| 榆中县| 福清市| 兴和县| 延津县| 宣汉县| 庆阳市| 山阴县| 乌海市| 伊通| 准格尔旗| 台前县| 南投市| 柘荣县| 镇巴县| 家居| 罗山县| 会宁县| 宣汉县| 毕节市| 苍梧县| 大足县| 名山县| 郸城县| 延吉市| 长治市| 河津市| 石门县| 翼城县| 秦皇岛市| 招远市| 嘉祥县| 沂水县| 长子县|