182tv午夜-182tv午夜福利在线观看-成人入口-成人软件在线观看-狠狠亚洲-狠狠夜夜-免费的黄色小视频-免费的黄网站-日本一区二区精品视频-日本一区二区久久-午夜精品福利一区二区-午夜精品福利在线-在线黄色av-在线黄色av网站-国产精品青草久久久久婷婷-久久/这里只精品热在线获取

網(wǎng)站目錄

什么是外邊距折疊?什么情況下出現(xiàn)?怎么解決?

有啊網(wǎng)站百科1432024-07-14 00:12:26

本篇文章帶大家了解一下css 盒模型,介紹一下什么是外邊距折疊?什么情況下會(huì)出現(xiàn)外邊距折疊?并談?wù)劷鉀Q方法。

什么是外邊距折疊?什么情況下出現(xiàn)?怎么解決?

在 CSS 中,所有的元素都被一個(gè)個(gè)的 “盒子(box)” 包圍著,我們廣泛地使用兩種“盒子” —— 塊級(jí)盒子 (block box) 和 內(nèi)聯(lián)盒子 (inline box)。

什么是 CSS 盒模型?

在 CSS 中,盒模型(box model)是在設(shè)計(jì)和布局時(shí)使用。

盒模型的定義可以分成這幾部分:

  • Content box: 這個(gè)區(qū)域是用來(lái)顯示內(nèi)容,大小可以通過(guò)設(shè)置 width 和 height.
  • Padding box: 包圍在內(nèi)容區(qū)域外部的空白區(qū)域; 大小通過(guò) padding 相關(guān)屬性設(shè)置。
  • Border box: 包裹內(nèi)容和內(nèi)邊距。大小通過(guò) border 相關(guān)屬性設(shè)置。
  • Margin box: 這是最外面的區(qū)域,是盒子和其他元素之間的空白區(qū)域。大小通過(guò) margin 相關(guān)屬性設(shè)置。

什么是外邊距折疊?什么情況下出現(xiàn)?怎么解決?

塊級(jí)盒子完整地應(yīng)用了 CSS 盒模型,內(nèi)聯(lián)盒子只使用盒模型中定義的部分內(nèi)容。

box-sizing

box-sizing 屬性定義了瀏覽器應(yīng)該如何計(jì)算一個(gè)元素的總寬度和總高度。

  • content-box(默認(rèn)值),即標(biāo)準(zhǔn)盒模型,width: 100px 指的是內(nèi)容區(qū)會(huì)有 100px 寬。
    • 盒子的大小 = content(100px) + padding + border
  • border-box,即替代(IE)盒模型,width: 100px 指的是 內(nèi)容區(qū) + 邊框 + 內(nèi)邊距 的總和是 100px 寬。
    • 盒子的大小 = content + padding + border = 100px
不論那種模型,margin 都是不計(jì)入實(shí)際大小 —— 當(dāng)然,它會(huì)影響盒子在頁(yè)面所占空間,但是影響的是盒子外部空間。

display

這里可以補(bǔ)充一個(gè)概念 -- 內(nèi)部和外部顯示類型。

  • 外部顯示類型,我們通過(guò)對(duì)盒子 display 屬性的設(shè)置,比如 inline 或者 block ,來(lái)控制盒子的是內(nèi)聯(lián)還是塊級(jí)。
  • 內(nèi)部顯示類型,它決定了盒子內(nèi)部元素是如何布局的。

如果設(shè)置 display: flex,在一個(gè)元素上,外部顯示類型是 block,但是內(nèi)部顯示類型修改為 flex。 該盒子的所有直接子元素都會(huì)成為 flex 元素,會(huì)根據(jù) 彈性盒子(Flexbox )規(guī)則進(jìn)行布局。

還有一個(gè)特殊的值 -- display: inline-block,它在內(nèi)聯(lián)和塊之間提供了一個(gè)中間狀態(tài)。這對(duì)于以下情況非常有用:不發(fā)生換行,但可以設(shè)定寬度和高度,也就是說(shuō)實(shí)現(xiàn)了塊級(jí)的部分效果:

  • 設(shè)置 width 和 height 屬性會(huì)生效。
  • padding, margin, 以及 border 會(huì)推開(kāi)其他元素。

行內(nèi)元素 / 塊級(jí)元素

HTML4 中,元素被分成兩大類: inline (內(nèi)聯(lián)元素) 與 block (塊級(jí)元素)。

1. 什么是行內(nèi)元素?

一個(gè)行內(nèi)元素只占據(jù)它對(duì)應(yīng)標(biāo)簽的邊框所包含的空間。

常見(jiàn)的行內(nèi)元素有 a、 b、 span、 img、 strong、 sub sup、 button、 input、 label、 select、 textarea

2. 什么是塊級(jí)元素?

塊級(jí)元素占據(jù)其父元素(容器)的整個(gè)空間,因此創(chuàng)建了一個(gè)“塊”。通常瀏覽器會(huì)在塊級(jí)元素前后另起一個(gè)新行。

常見(jiàn)的塊級(jí)元素有 div、ul 、ol、 li、 dl、 dt、 dd、 h1、 h2、 h3、h4 、 h5、h6 、p

3. 區(qū)別?

  • 格式上(默認(rèn)情況),行內(nèi)元素不會(huì)換行,而塊級(jí)元素都會(huì)換行。

  • 內(nèi)容上(默認(rèn)情況),行內(nèi)元素只能包含數(shù)據(jù)和其他行內(nèi)元素。而塊級(jí)元素可以包含行內(nèi)元素和其他塊級(jí)元素。

  • 在屬性上

    • 行內(nèi)元素
      • width 和 height 設(shè)置無(wú)效(可以設(shè)置 line-height),
      • 內(nèi)邊距(padding)、外邊距(margin) 和 邊框(border) 在 上下方向 不會(huì)對(duì)其他元素產(chǎn)生影響。
    • 塊級(jí)元素
      • width 和 height 屬性可以發(fā)揮作用,
      • 內(nèi)邊距(padding)、外邊距(margin) 和 邊框(border) 會(huì)將其他元素從當(dāng)前元素周圍“推開(kāi)”

什么是外邊距折疊?什么情況下出現(xiàn)?怎么解決?

外邊距(margin)折疊

塊的上外邊距(margin-top)和下外邊距(margin-bottom)有時(shí)合并(折疊)為單個(gè)邊距,其大小為單個(gè)邊距的最大值(或如果它們相等,則僅為其中一個(gè)),這種行為稱為 邊距折疊

什么情況才會(huì)出現(xiàn)

2 個(gè)或多個(gè)毗鄰的的普通流中的塊元素垂直方向上的 margin 會(huì)折疊

  • 毗鄰: 是指沒(méi)有被非空內(nèi)容、padding、border 或 clear 分隔開(kāi)
  • 垂直方向: 是指只有垂直方向的 margin 才會(huì)

如何解決?

  • 創(chuàng)建了 BFC 的元素 和它的子元素/兄弟元素不會(huì)發(fā)生折疊

  • 設(shè)置 padding / border ,一些具體的場(chǎng)景:

    • 父元素的 margin-top 和子元素的 margin-top 發(fā)生重疊。

      發(fā)生重疊是因?yàn)樗鼈兪窍噜彽模晕覀兛梢酝ㄟ^(guò)這一點(diǎn)來(lái)解決這個(gè)問(wèn)題。我們可以為父元素設(shè) border-top、padding-top 值來(lái)分隔它們。

    • 高度為 auto 的父元素的 margin-bottom 和子元素的 margin-bottom 發(fā)生重疊。

      發(fā)生重疊一個(gè)是因?yàn)樗鼈兿?鄰,一個(gè)是因?yàn)楦冈氐母叨炔还潭?。因此我們可以為父元素設(shè)置 border-bottom、 padding-bottom 來(lái)分隔它們,也可以為父元素設(shè)置一個(gè)高度,max-height 和 min-height 也能解決這個(gè)問(wèn)題。

    • 是沒(méi)有內(nèi)容的元素,自身的 margin-top 和 margin-bottom 發(fā)生的重疊。

      我們可以通過(guò)為其設(shè)置 border、padding 或者高度來(lái)解決這個(gè)問(wèn)題。

觸發(fā) BFC 的因素

  • float(除了 none)
  • overflow(除了 visible)
  • display(table-cell / table-caption / inline-block)
  • position(除了 static / relative)

更多編程相關(guān)知識(shí),請(qǐng)?jiān)L問(wèn):編程視頻??!

以上就是什么是外邊距折疊?什么情況下出現(xiàn)?怎么解決?的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注有啊網(wǎng)站百科其它相關(guān)文章!

  • 不喜歡(3
聲明:本文由會(huì)員轉(zhuǎn)載自互聯(lián)網(wǎng)、僅供學(xué)習(xí)交流,內(nèi)容版權(quán)歸原作者所有,如涉作品、版權(quán)或其它疑問(wèn)請(qǐng)聯(lián)系本站管理員刪除。

本文鏈接:http://www.yongsung168.cn/ask-css/24773.html

圖片名稱

猜你喜歡

  • css如何實(shí)現(xiàn)自適應(yīng)

    css如何實(shí)現(xiàn)自適應(yīng)

    在css中,可以使用calc()函數(shù)來(lái)實(shí)現(xiàn)自適應(yīng),只需要在元素中添加“元素:calc(100%-像素大小);”即可。calc()函數(shù)是css3新增的一個(gè)功能,通過(guò)計(jì)算來(lái)指定元素的長(zhǎng)度,因此不用擔(dān)心添加...

    css教程2024-07-14 02:37:36
  • css怎樣實(shí)現(xiàn)鼠標(biāo)懸浮改變圖片

    css怎樣實(shí)現(xiàn)鼠標(biāo)懸浮改變圖片

    在css中,可以使用“:hover”偽類選擇器和background屬性實(shí)現(xiàn)鼠標(biāo)懸浮改變圖片的效果,語(yǔ)法為“圖片元素:hover{background:url(鼠標(biāo)懸浮后顯示圖片的路徑);}”。本...

    css教程2024-07-14 02:37:00
  • css怎么設(shè)置虛線分割線

    css怎么設(shè)置虛線分割線

    css設(shè)置虛線分割線的方法:1、利用“元素{height:0;}”語(yǔ)句,將元素的高設(shè)置為0;2、給高度為0的元素添加border屬性,將元素的邊框樣式設(shè)置為虛線即可,語(yǔ)法為“border:粗細(xì)值 da...

    css教程2024-07-14 02:36:24
  • css里solid是什么意思

    css里solid是什么意思

    solid的意思為“實(shí)心的”,是css border-style屬性的一個(gè)屬性值,表示“實(shí)線”;將border-style屬性的值設(shè)置為“solid”可以定義實(shí)線邊框。本教程操作環(huán)境:window...

    css教程2024-07-14 02:35:49
  • css怎么去掉輸入框樣式

    css怎么去掉輸入框樣式

    在css中,可以利用“border-style”屬性去掉輸入框的樣式,該屬性用于設(shè)置元素的邊框樣式,當(dāng)屬性的值為“none”時(shí),元素就會(huì)去掉邊框樣式,語(yǔ)法為“輸入框元素{border-style:no...

    css教程2024-07-14 02:35:12
  • 純CSS做一個(gè)煙花綻放動(dòng)畫(代碼示例)

    純CSS做一個(gè)煙花綻放動(dòng)畫(代碼示例)

    本篇文章帶大家使用純css做一個(gè)煙花綻放動(dòng)畫,希望對(duì)大家有所幫助!最近項(xiàng)目上需要做一個(gè)煙花動(dòng)畫,要求是隨機(jī)大小,不同地方出現(xiàn),先看效果一、選擇合適的動(dòng)畫什么樣的場(chǎng)景決定使用什么樣的動(dòng)畫。比如...

    css教程2024-07-14 02:34:36
  • css怎么實(shí)現(xiàn)兩列布局

    css怎么實(shí)現(xiàn)兩列布局

    方法:1、兩個(gè)盒子元素都設(shè)置“dislpay:inline-block”;2、兩個(gè)盒子元素設(shè)置浮動(dòng);3、左側(cè)定寬元素浮動(dòng),右側(cè)元素設(shè)置margin-left,且值大于定寬元素的寬度;4、浮動(dòng)+bfc;...

    css教程2024-07-14 02:34:00
  • css樣式中有文字描邊嗎

    css樣式中有文字描邊嗎

    在css樣式中,有文字描邊樣式??梢岳谩皌ext-stroke”屬性給文字元素設(shè)置描邊樣式,該屬性可以設(shè)置文字描邊的厚度和顏色,語(yǔ)法為“文字元素{text-stroke:width color;}”...

    css教程2024-07-14 02:33:24
  • 詳解CSS content的使用機(jī)制,原來(lái)還可以這樣用!

    詳解CSS content的使用機(jī)制,原來(lái)還可以這樣用!

    本篇文章帶大家了解一下css中的content屬性,介紹一下content的使用場(chǎng)景,希望對(duì)大家有所幫助!在開(kāi)發(fā)中遇到類似清除浮動(dòng)、小圖標(biāo)、替換內(nèi)容等場(chǎng)景時(shí)不可避免會(huì)遇到 content 屬性,一...

    css教程2024-07-14 02:32:48
  • 手把手教你使用css3制作炫酷的導(dǎo)航欄效果(代碼詳解)

    手把手教你使用css3制作炫酷的導(dǎo)航欄效果(代碼詳解)

    之前的文章《教你使用css3給字體添加立體效果(附代碼)》中,給大家介紹了怎么使用css3給字體添加立體效果。下面本篇文章給大家介紹怎么使用css3制作炫酷的導(dǎo)航欄效果,我們一起看看怎么做。炫酷的...

    css教程2024-07-14 02:32:12

網(wǎng)友評(píng)論

最新文章
隨機(jī)文章
最新網(wǎng)址
熱門標(biāo)簽
關(guān)注我們
\"二維碼\"

掃一掃二維碼關(guān)注我們的微信公眾號(hào)

圖片名稱
182tv午夜-182tv午夜福利在线观看-成人入口-成人软件在线观看-狠狠亚洲-狠狠夜夜-免费的黄色小视频-免费的黄网站-日本一区二区精品视频-日本一区二区久久-午夜精品福利一区二区-午夜精品福利在线-在线黄色av-在线黄色av网站-国产精品青草久久久久婷婷-久久/这里只精品热在线获取
  • <rt id="mug8y"><delect id="mug8y"></delect></rt>
    <li id="mug8y"></li>
  • <rt id="mug8y"><tr id="mug8y"></tr></rt><button id="mug8y"><dl id="mug8y"></dl></button>
    主站蜘蛛池模板: 伊人一区二区三区久久精品| 91免费国产视频| 亚洲男人天堂手机在线| 久久久久久国产| 亚洲欧洲日产国产网站| 国产成人免费av电影| 欧美理论电影在线播放| 日韩成人在线观看| 国产成人精品视| 欧美电影免费观看大全| 日日骚久久av| 亚洲精品av在线| 国产精品69久久| 欧美黄色免费网站| 亚洲人成电影在线观看天堂色| 国产精品久久久久久网站| 久久久久久久久久久91| 欧美成年人视频网站| 亚洲一级片在线看| 91网站免费看| 国产精品久久久久久久电影| 欧美丰满少妇xxxxx做受| 啊v视频在线一区二区三区| 亚洲精品视频在线观看视频| 成人久久久久久久| 国产精品91在线| 欧美亚洲国产视频| 国产精品午夜视频| 日韩av不卡在线| 高清视频欧美一级| 欧美日韩综合视频| 欧美成人免费网| 久久天天躁狠狠躁夜夜爽蜜月| 亚洲欧美日韩精品久久奇米色影视| 91在线中文字幕| 91久久精品美女高潮| 国产裸体写真av一区二区| 国产91网红主播在线观看| 欧美最顶级的aⅴ艳星| 欧美在线www| 国产成人免费91av在线|