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

首頁 > 開發 > CSS > 正文

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

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

前言

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

概念

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

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

場景

一、相鄰兄弟元素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合并是為了更好地進行圖文信息展示而設計的,為了保證圖文信息排版的舒服自然。我們不僅要理解它們存在的意義,而且要合理的運用它們。

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 赤峰市| 微博| 定襄县| 西乌珠穆沁旗| 大竹县| 广灵县| 石渠县| 怀宁县| 铜梁县| 南漳县| 仁寿县| 元氏县| 米易县| 龙门县| 耒阳市| 林州市| 灯塔市| 玉龙| 马尔康县| 荥阳市| 达日县| 峡江县| 健康| 盱眙县| 洪雅县| 镇赉县| 泰兴市| 绥德县| 罗江县| 正宁县| 鄂托克旗| 淮安市| 凌源市| 纳雍县| 文水县| 龙里县| 晋州市| 宜兴市| 淮南市| 溆浦县| 霞浦县|