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

首頁 > 開發 > CSS > 正文

正確理解CSS中的margin合并的用法

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

前言

最近在學習很多開發過程中容易忽悠但是又很重要的知識點,很多時候用的少不代表它不重要,這里將它們寫出來以記錄,如果有寫的不好的地方請指正。

概念

margin合并是指塊級元素的上外邊距與下外邊距有時會合并為單個外邊距,有兩點需要理解。

    在塊級元素中,不包括浮動和絕對定位元素 只發生在和當前文檔流方向的相垂直的方向上

場景

一、相鄰兄弟元素margin合并

p { margin: 1em 0; }<p>第一行</p><p>第二行</p>

因為第一行和第二行的元素合并在一起,所以他們的間距還是1rem,而并非上下相加。

二、父級和子元素

.div1 { margin-top: 10px; }.div2 { margin-top: 10px; }<div class="div1"> <div class="div2"></div></div>

由于父級和子級元素的合并,所以頂部的margin為10px,而不是20px。

三、空級塊元素的合并

div1 { overflow: hidden; }div2 { margin: 1rem 0; }<div class="div1"> <div class="div2"></div></div>

這個<div>元素的margin-top和margin-bottom合并在一起,所以高度只有1rem。

解決方法

這里的解決方法我們分為三種情況來討論,第一種就是解決兄弟元素之間的margin合并情況。
 

我們可以使用設置浮動元素來解決,例如:

p { margin: 1em 0; float: left; }<p>第一行</p><p>第二行</p>

第二種是父級和子元素之間的margin合并,我們使用overflow屬性來解決,例如:

.div1 { margin-top: 10px; overflow: hidden; }.div2 { margin-top: 10px; }<div class="div1"> <div class="div2"></div></div>

當然,我們還可以通過設置父元素為塊狀格式化上下文元素、設置border、padding等方式來解決問題。

第三種情況就是空塊級元素的合并,一般為空塊級元素設置一個高度就能夠避免margin合并的問題。

div1 { overflow: hidden; }div2 { margin: 1rem 0; height: 1rem; }<div class="div1"> <div class="div2"></div></div>

意義

CSS中的margin合并是為了更好地進行圖文信息展示而設計的,為了保證圖文信息排版的舒服自然。我們不僅要理解它們存在的意義,而且要合理的運用它們。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持錯新站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 惠水县| 沈阳市| 麦盖提县| 江都市| 婺源县| 沈阳市| 涟源市| 共和县| 拜泉县| 新宁县| 辽阳县| 饶平县| 兴山县| 宜城市| 三门县| 凤台县| 深水埗区| 富顺县| 兖州市| 衡阳市| 伊金霍洛旗| 满洲里市| 霍林郭勒市| 龙海市| 楚雄市| 五台县| 洪江市| 同德县| 武山县| 柏乡县| 清水县| 新龙县| 神农架林区| 赤水市| 蒙城县| 微博| 海林市| 安远县| 义马市| 三穗县| 阳春市|