在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當(dāng)前位置:雨林木風(fēng)下載站 > 網(wǎng)頁設(shè)計(jì)教程 > 詳細(xì)頁面

css溢出機(jī)制是什么?css溢出的詳細(xì)介紹(附案例)

css溢出機(jī)制是什么?css溢出的詳細(xì)介紹(附案例)

更新時(shí)間:2025-11-23 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

導(dǎo)網(wǎng)頁的本質(zhì)就是超級文本標(biāo)記語言,通過結(jié)合使用其他的Web技術(shù)(如:腳本語言、公共網(wǎng)關(guān)接口、組件等),可以創(chuàng)造出功能強(qiáng)大的網(wǎng)頁。因而,超級文本標(biāo)記語言是萬維網(wǎng)(Web)編程的基礎(chǔ),也就是說萬維網(wǎng)是建立...
網(wǎng)頁的本質(zhì)就是超級文本標(biāo)記語言,通過結(jié)合使用其他的Web技術(shù)(如:腳本語言、公共網(wǎng)關(guān)接口、組件等),可以創(chuàng)造出功能強(qiáng)大的網(wǎng)頁。因而,超級文本標(biāo)記語言是萬維網(wǎng)(Web)編程的基礎(chǔ),也就是說萬維網(wǎng)是建立在超文本基礎(chǔ)之上的。超級文本標(biāo)記語言之所以稱為超文本標(biāo)記語言,是因?yàn)槲谋局邪怂^“超級鏈接”點(diǎn)。
本篇文章給大家?guī)淼膬?nèi)容是關(guān)于css溢出機(jī)制是什么?css溢出的詳細(xì)介紹(附實(shí)例),有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對你有所幫助。

為什么需要深入學(xué)習(xí)CSS溢出機(jī)制?

在實(shí)際開發(fā)的過程中,內(nèi)容溢出是經(jīng)常見到的。如果不深入了解這個(gè)機(jī)制,你經(jīng)常會(huì)碰到這樣的問題:為什么這個(gè)元素沒有受到祖先元素的overflow:hidden的影響?這里出現(xiàn)的滾動(dòng)條是哪個(gè)元素的?如果消除這個(gè)滾動(dòng)條?如何在指定的元素上增加滾動(dòng)功能?
在這篇文章,我們將會(huì)從CSS標(biāo)準(zhǔn)出發(fā),討論CSS溢出機(jī)制的細(xì)節(jié)。

溢出

當(dāng)一個(gè)盒子(block container box)的內(nèi)容(子元素、孫子元素等后裔)超過盒子本身的大小的時(shí)候,就會(huì)出現(xiàn)溢出。這個(gè)時(shí)候CSS屬性overflow決定如何處理溢出。這個(gè)css屬性大家都知道,在這里不討論了,在這里指出需要注意的幾點(diǎn):

  • overflow會(huì)影響所在元素的所有內(nèi)容的裁剪、滾動(dòng),但是有一種情況例外:"It affects the clipping of all of the element's content except any descendant elements (and their respective content and descendants) whose containing block is the viewport or an ancestor of the element." 也就是說,overflow的所在元素必須是內(nèi)容元素的直接或間接containing block,這時(shí)overflow屬性才會(huì)影響這個(gè)內(nèi)容元素。比如<A><B><C><C/><B/><A/>,一般來說,B的overflow會(huì)影響C,但是如果C是相對于viewport或者A定位的(比如使用了position:absolute),那么C的顯示就不受B的裁剪、滾動(dòng)的影響。

  • 當(dāng)需要滾動(dòng)條的時(shí)候,滾動(dòng)條會(huì)放在border與padding之間。父元素產(chǎn)生滾動(dòng)條以后,它產(chǎn)生的containing block的尺寸會(huì)減少,以便給滾動(dòng)條騰出空間。

  • 在<html>和<body>上的overflow屬性存在冒泡現(xiàn)象: "UAs must apply the 'overflow' property set on the root element to the viewport. When the root element is an HTML "HTML" element or an XHTML "html" element, and that element has an HTML "BODY" element or an XHTML "body" element as a child, user agents must instead apply the 'overflow' property from the first such child element to the viewport, if the value on the root element is 'visible'. The 'visible' value when used for the viewport must be interpreted as 'auto'. The element from which the value is propagated must have a used value for 'overflow' of 'visible'. "

可以推斷出:

  • 一般來說只有元素才能擁有滾動(dòng)條(更準(zhǔn)確地說,只有產(chǎn)生block container box的元素才能擁有滾動(dòng)條)。但visual viewport是個(gè)例外。它雖然不是一個(gè)元素,但是也可以擁有滾動(dòng)條。如果在<html>和<body>上都沒有設(shè)置overflow屬性而使用默認(rèn)值visible(大部分場景都是這樣),那么,visual viewport的overflow就是auto:當(dāng)網(wǎng)頁中有內(nèi)容超出visual viewport時(shí),visual viewport上會(huì)出現(xiàn)滾動(dòng)條。

  • <html>的最終overflow永遠(yuǎn)都是visible。也就是說,<html>元素永遠(yuǎn)不可能擁有滾動(dòng)條。

  • 如果你想要為<body>設(shè)置非visible的overflow,需要先為<html>設(shè)置一個(gè)非visible的值來冒泡,從而<body>的overflow不會(huì)被冒泡。

小練習(xí)

小練習(xí):利用以上原理,使visual viewport和<body>都擁有橫、豎滾動(dòng)條,總共4個(gè)滾動(dòng)條。不能使用overflow: scroll(這樣就太簡單了)。
步驟:

  1. 使visual viewport和<body>的最終overflow值都為auto,從而可以出現(xiàn)滾動(dòng)條。

  2. 觸發(fā)visual viewport和<body>的溢出。通過【為內(nèi)容設(shè)置一個(gè)更大的尺寸】來做到。

代碼+注釋:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
  <title>test</title>
  <style>
    * {
      padding: 0;
      margin: 0;
      box-sizing: border-box;
    }

    html {
      /* 使html的尺寸始終與visual viewport相同(即使你縮放、調(diào)整瀏覽器窗口的大小),從而body可以設(shè)置一個(gè)比visual viewport還大的尺寸(110%)。
      對于默認(rèn)為block的元素可以省略width: 100%; */
      width: 100%;
      height: 100%;
      /* 非visible的值冒泡到visual viewport上,使visual viewport可以出現(xiàn)滾動(dòng)條 */
      overflow: auto;
      border: 15px solid red;
    }

    body {
      /* 使得body可以出現(xiàn)滾動(dòng)條 */
      overflow: auto;
      /* body溢出html,從而溢出initial containning block,從而溢出visual viewport,使得visual viewport出現(xiàn)滾動(dòng)條。
      當(dāng)然,你也可以通過很多其他的方式來觸發(fā)visual viewport的溢出,比如增大html元素,或者在body中弄一個(gè)position: absolute的p */
      width: 110%;
      height: 110%;
      border: 15px solid green;
    }

    main {
      /* main溢出body,使得body出現(xiàn)滾動(dòng)條 */
      width: 110%;
      height: 110%;
      border: 15px solid blue;
    }
  </style>
</head>

<body>
  <main>
  </main>
</body>

</html>

結(jié)果:

3297945717-5b9f64e2211db_articlex.png

自己在chrome中打開以上代碼,能更加清晰地看出是怎么做到的。

也可以通過absolute的方式來溢出initial containing block:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
  <title>test</title>
  <style>
    * {
      padding: 0;
      margin: 0;
      box-sizing: border-box;
    }

    html {
      /* 使html的尺寸始終與visual viewport相同(即使你縮放、調(diào)整瀏覽器窗口的大小),從而body可以設(shè)置一個(gè)比visual viewport還大的尺寸(110%)。
      對于默認(rèn)為block的元素可以省略width: 100%; */
      width: 100%;
      height: 100%;
      /* 非visible的值冒泡到visual viewport上,使visual viewport可以出現(xiàn)滾動(dòng)條 */
      overflow: auto;
      border: 15px solid red;
    }

    body {
      /* 使得body可以出現(xiàn)滾動(dòng)條 */
      overflow: auto;
      /* 為body設(shè)置一個(gè)尺寸,從而main可以設(shè)置一個(gè)比body還大的尺寸(110%)。
      對于默認(rèn)為block的元素可以省略width: 100%; */
      height: 100%;
      border: 15px solid green;
    }

    main {
      /* main溢出body,使得body出現(xiàn)滾動(dòng)條 */
      width: 110%;
      height: 110%;
      border: 15px solid blue;
    }

    .abs {
      /* 通過absolute的方式來溢出initial containing block,從而溢出viewport */
      position: absolute;
      width: 100px;
      height: 100px;
      right: -100px;
      bottom: -100px;
      border: 15px solid blueviolet;
    }
  </style>
</head>

<body>
  <main>
  </main>

  <p class="abs"></p>
</body>

</html>

結(jié)果:

3520967202-5b9f669ba4779_articlex.png

自己在chrome中打開以上代碼,能更加清晰地看出是怎么做到的。

如何看出某個(gè)滾動(dòng)條是屬于哪個(gè)元素的?

通過Chrome DevTools就可以看出滾動(dòng)條的所屬元素。
前面已經(jīng)說過,滾動(dòng)條的位置在元素的border與padding之間。當(dāng)你使用Chrome DevTools選中某個(gè)元素,發(fā)現(xiàn)滾動(dòng)條恰好在高亮區(qū)域(border)內(nèi)部時(shí),滾動(dòng)條就屬于當(dāng)前元素。

801048111-5b9fb370c26dd_articlex.png

要判斷滾動(dòng)條是否屬于visual viewport,首先先將右邊、下邊的滾動(dòng)條分別滾動(dòng)到最下、最右(這一步很重要,它保證沒有內(nèi)容藏在滾動(dòng)條下面)。然后,Ctrl+Shift+C選擇右邊或下邊的滾動(dòng)條,如果高亮的區(qū)域不包含這個(gè)滾動(dòng)條,就說明這個(gè)滾動(dòng)條不屬于任何元素,也就是屬于visual viewport。

4216250203-5b9fb8504948c_articlex.png

以上就是css溢出機(jī)制是什么?css溢出的詳細(xì)介紹(附實(shí)例)的詳細(xì)內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!


網(wǎng)站建設(shè)是一個(gè)廣義的術(shù)語,涵蓋了許多不同的技能和學(xué)科中所使用的生產(chǎn)和維護(hù)的網(wǎng)站。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 日韩欧美国产片| 99久久99久久精品| 久久艹国产精品| 天天干天天av| www.色就是色| 欧美两根一起进3p做受视频| 久久99中文字幕| 成人性生活视频免费看| www婷婷av久久久影片| 99热这里只有精品免费| 亚洲中文字幕无码一区二区三区 | 五月天激情视频在线观看| 日本免费不卡一区二区| 99热自拍偷拍| 最近免费中文字幕中文高清百度| 亚洲中文字幕无码不卡电影| 日韩人妻精品无码一区二区三区| 黄色一级片在线看| 久久无码高潮喷水| 午夜两性免费视频| 欧美另类videosbestsex日本| 黄色网在线视频| 日韩欧美国产免费| 亚洲欧美日韩三级| 玖玖精品在线视频| 黄色影院一级片| 久久精品国产露脸对白| 黄色片免费在线观看视频| 亚洲色成人www永久在线观看| 日韩在线视频在线观看| 亚洲黄色av片| 日韩中文字幕三区| 九九九九九九九九| 欧美亚洲另类色图| 日本女人高潮视频| 欧美伦理片在线观看| 黄色片免费在线观看视频| 日av中文字幕| 日韩精品综合在线| 中文字幕1234区| 日韩在线综合网| 日韩视频一二三| 国产极品美女高潮无套久久久| 日韩欧美国产片| 116极品美女午夜一级| 国产美女视频免费| 久久人人爽av| av观看免费在线| 人妻av无码专区| 偷拍盗摄高潮叫床对白清晰| 美女一区二区三区视频| 国产九色porny| 国产内射老熟女aaaa| 天天久久综合网| 国产在线青青草| 91黄色在线看| 亚洲一区 在线播放| 日本在线一二三区| 久久这里只精品| 韩国中文字幕av| www.色就是色| 老头吃奶性行交视频| 久草资源站在线观看| 九一国产精品视频| 日本丰满少妇xxxx| 日韩在线综合网| 男人天堂网视频| 东京热加勒比无码少妇| 国产精品自拍片| 无码aⅴ精品一区二区三区浪潮| 精品丰满人妻无套内射| 欧美视频在线第一页| 国产精品久久久久久久久电影网| 亚洲最新免费视频| 99久久99久久精品| 黄色一级片国产| 日韩视频在线视频| 欧美 国产 小说 另类| 成人精品视频一区二区| 五月婷婷之综合激情| 欧美三级理论片| 丰满女人性猛交| 免费网站在线观看视频| 成 年 人 黄 色 大 片大 全| 日本精品免费在线观看| 免费裸体美女网站| 日本中文字幕影院| 51xx午夜影福利| 逼特逼视频在线| 91视频福利网| 奇米影视亚洲色图| 天天爽夜夜爽一区二区三区 | 国产制服91一区二区三区制服| 9色视频在线观看| 欧美成人精品欧美一级乱| 在线观看免费成人av| 在线观看成人免费| 日本在线视频www| 亚洲av综合色区| 日韩一级片播放| 三级在线免费观看| 三级a在线观看| 999一区二区三区| 亚洲综合日韩欧美| 国产精品一区二区免费在线观看| 三上悠亚在线一区二区| 青草视频在线观看视频| 亚洲欧美自偷自拍另类| 日韩黄色短视频| 亚洲久久中文字幕| 欧美精品第三页| 国产在线xxxx| 天天操精品视频| 别急慢慢来1978如如2| 日韩激情视频一区二区| 天天av天天操| 亚洲一级免费在线观看| www国产精品内射老熟女| 久久99国产精品一区| 亚洲视频第二页| 日韩手机在线观看视频| 欧美成人免费在线观看视频| 成年人免费观看的视频| 午夜精品免费看| 黄色三级视频片| 亚洲免费av一区二区三区| 99爱视频在线| 国产欧美在线一区| 波多野结衣家庭教师在线播放| 免费成人深夜夜行网站视频| 色播五月综合网| 久国产精品视频| 911av视频| 免费观看黄色的网站| 国产一区二区在线观看免费视频| 欧美婷婷精品激情| 麻豆av免费在线| 在线免费观看av的网站| 中文字幕视频在线免费观看| 老熟妇仑乱视频一区二区| 国产成人无码av在线播放dvd| 99久久激情视频| 日本成人黄色网| 国产乱码一区二区三区四区| 爱豆国产剧免费观看大全剧苏畅| 九九热免费在线观看| 在线观看中文av| 精品视频在线观看一区二区| 被灌满精子的波多野结衣| 1024av视频| 一本久道综合色婷婷五月| 不卡的av中文字幕| 色哺乳xxxxhd奶水米仓惠香| 日韩黄色短视频| 91极品尤物在线播放国产| 欧美特黄aaa| 麻豆tv在线播放| 午夜激情av在线| www.激情网| 日韩av手机版| 黄色三级中文字幕| 久久久精品三级| 91.com在线| 无限资源日本好片| 欧美又粗又长又爽做受| 国产精品igao| 黄色三级中文字幕| 中日韩av在线播放| 农民人伦一区二区三区| 99re6在线观看| 欧美日韩国产精品激情在线播放| 色一情一区二区| 鲁一鲁一鲁一鲁一澡| 久久人人爽人人片| 成年人免费大片| 精品无码国模私拍视频| www,av在线| 韩国日本美国免费毛片| 被灌满精子的波多野结衣| 亚欧激情乱码久久久久久久久| 成年人午夜视频在线观看| 亚洲制服在线观看| 亚洲77777| 人妻有码中文字幕| 韩日视频在线观看| 天天操精品视频| 中文字幕中文在线| 免费涩涩18网站入口| 成人免费观看毛片| 国产亚洲综合视频| 日本欧美视频在线观看| 麻豆一区二区三区在线观看| 另类小说第一页| 亚洲色精品三区二区一区| 欧美久久久久久久久久久久久| 成人黄色片免费| 少妇高潮大叫好爽喷水| 福利网在线观看| 国产片侵犯亲女视频播放| 亚洲国产精品女人|