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

首頁 > 開發 > CSS > 正文

CSS屬性探秘系列(六):margin

2024-07-11 08:30:24
字體:
來源:轉載
供稿:網友

一、屬性介紹

margin 屬性接受任何長度單位,可以是像素、英寸、毫米或 em。
可取值:
auto 瀏覽器計算外邊距。
length 規定以具體單位計的外邊距值,比如像素、厘米等。默認值是 0px。
% 規定基于父元素的寬度的百分比計算的外邊距。
inherit 規定應該從父元素繼承外邊距。

二、常見問題

1.IE6下浮動元素雙倍邊距問題
解決方法:
IE6中設置block元素display:inline;
.l{margin-left:20px;float:left;display:inline;}
原因:首先,inline元素和inline-block元素是沒有雙倍邊距的。對inline元素設置float后,會有個haslayout,使inline元素具有inline-block元素的特性,進而可以設置垂直margin、padding、width、height。

2.margin外邊距合并問題
外邊距的合并發生在以下三種情形:
情形一:空塊元素
a)如果一個塊級元素沒有border、padding、inline content、height、min-height來分隔,設置margin-top和margin-bottom屬性后會合并,

b)實例:


復制代碼
代碼如下:
<style type="text/css">
body{margin:0;}
.out{width:400px;border:1px solid #f00;margin:0 auto;background-color:#ccc;}
.inner{margin-top:40px;margin-bottom:40px;}
</style>
<div class="out">
<div class="inner"></div>
</div>

從上例可以看出,最后.out computed height為40px;
>=IE8、Firefox、Chrome測試效果相同。但是有個疑問,去掉out的邊框后,其高度計算為0,不知道什么原因?

情形二:父元素與第一個或最后一個子元素
如果塊元素的 margin-top 與它的第一個子元素之間沒有border, padding, inline content, 或 clearance 分隔,或者塊元素的 margin-bottom 與它的最后一個子元素之間沒有padding, inline content, height, min-height, or max-height 分隔,那么外邊距會合并。


復制代碼
代碼如下:
<style type="text/css">
body{margin:0;}
.parent{border:1px dotted #ccc;width:400px;}
.outer{height:50px;background-color:#f00;margin-top:40px;margin-bottom:40px;}
.inner01{margin-top:20px;background:#00f;}
.inner02{margin-bottom:60px;background:#f0f;}
</style>
<div class="parent">
<div class="outer">
<div class="inner01">inner01</div>
<div class="inner02">inner02</div>
</div>
</div>

>=IE6,FF,Chrome效果效果相同,此時inner01的margin-top:并沒有起作用,這就是為什么很多人在網上問,我設置margin-top,margin-bottom不起作用的原因了!如下圖:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 普定县| 宣汉县| 旺苍县| 晋城| 娱乐| 肇东市| 徐水县| 丹江口市| 新邵县| 贵州省| 泾阳县| 清徐县| 中超| 澜沧| 平乡县| 民和| 云梦县| 许昌市| 兴海县| 定边县| 札达县| 雷山县| 盈江县| 建平县| 綦江县| 碌曲县| 泰兴市| 西安市| 茂名市| 博野县| 洮南市| 彰武县| 无为县| 宜春市| 尉氏县| 盱眙县| 凉山| 江北区| 迁安市| 即墨市| 连平县|