中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

css溢出機制怎么使用

發布時間:2022-03-10 16:01:05 來源:億速云 閱讀:160 作者:iii 欄目:web開發

今天小編給大家分享一下css溢出機制怎么使用的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

    溢出

    當一個盒子(blockcontainerbox)的內容(子元素、孫子元素等后裔)超過盒子本身的大小的時候,就會出現溢出。這個時候CSS屬性overflow決定如何處理溢出。這個css屬性大家都知道,在這里不討論了,在這里指出需要注意的幾點:

    overflow會影響所在元素的所有內容的裁剪、滾動,但是有一種情況例外:"Itaffectstheclippingofalloftheelement'scontentexceptanydescendantelements(andtheirrespectivecontentanddescendants)whosecontainingblockistheviewportoranancestoroftheelement."也就是說,overflow的所在元素必須是內容元素的直接或間接containingblock,這時overflow屬性才會影響這個內容元素。比如<B><C><C/><B/>,一般來說,B的overflow會影響C,但是如果C是相對于viewport或者A定位的(比如使用了position:absolute),那么C的顯示就不受B的裁剪、滾動的影響。

    當需要滾動條的時候,滾動條會放在border與padding之間。父元素產生滾動條以后,它產生的containingblock的尺寸會減少,以便給滾動條騰出空間。

    在<html>和<body>上的overflow屬性存在冒泡現象:"UAsmustapplythe'overflow'propertysetontherootelementtotheviewport.WhentherootelementisanHTML"HTML"elementoranXHTML"html"element,andthatelementhasanHTML"BODY"elementoranXHTML"body"elementasachild,useragentsmustinsteadapplythe'overflow'propertyfromthefirstsuchchildelementtotheviewport,ifthevalueontherootelementis'visible'.The'visible'valuewhenusedfortheviewportmustbeinterpretedas'auto'.Theelementfromwhichthevalueispropagatedmusthaveausedvaluefor'overflow'of'visible'."

    可以推斷出:

    一般來說只有元素才能擁有滾動條(更準確地說,只有產生blockcontainerbox的元素才能擁有滾動條)。但visualviewport是個例外。它雖然不是一個元素,但是也可以擁有滾動條。如果在<html>和<body>上都沒有設置overflow屬性而使用默認值visible(大部分場景都是這樣),那么,visualviewport的overflow就是auto:當網頁中有內容超出visualviewport時,visualviewport上會出現滾動條。

    <html>的最終overflow永遠都是visible。也就是說,<html>元素永遠不可能擁有滾動條。

    如果你想要為<body>設置非visible的overflow,需要先為<html>設置一個非visible的值來冒泡,從而<body>的overflow不會被冒泡。

    小練習

    小練習:利用以上原理,使visualviewport和<body>都擁有橫、豎滾動條,總共4個滾動條。不能使用overflow:scroll(這樣就太簡單了)。

    步驟:

    使visualviewport和<body>的最終overflow值都為auto,從而可以出現滾動條。

    觸發visualviewport和<body>的溢出。通過【為內容設置一個更大的尺寸】來做到。

    代碼+注釋:

    <!DOCTYPEhtml>

    <htmllang="en">

    <head>

    <metacharset="UTF-8">

    <metaname="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的尺寸始終與visualviewport相同(即使你縮放、調整瀏覽器窗口的大小),從而body可以設置一個比visualviewport還大的尺寸(110%)。

    對于默認為block的元素可以省略width:100%;*/

    width:100%;

    height:100%;

    /*非visible的值冒泡到visualviewport上,使visualviewport可以出現滾動條*/

    overflow:auto;

    border:15pxsolidred;

    }

    body{

    /*使得body可以出現滾動條*/

    overflow:auto;

    /*body溢出html,從而溢出initialcontainningblock,從而溢出visualviewport,使得visualviewport出現滾動條。

    當然,你也可以通過很多其他的方式來觸發visualviewport的溢出,比如增大html元素,或者在body中弄一個position:absolute的p*/

    width:110%;

    height:110%;

    border:15pxsolidgreen;

    }

    main{

    /*main溢出body,使得body出現滾動條*/

    width:110%;

    height:110%;

    border:15pxsolidblue;

    }

    </style>

    </head>

    <body>

    <main>

    </main>

    </body>

    </html>
css溢出機制怎么使用

以上就是“css溢出機制怎么使用”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

css
AI

雅安市| 胶南市| 屏山县| 宣城市| 吉林省| 榆林市| 竹溪县| 梨树县| 静宁县| 宁波市| 丰原市| 辉南县| 肇庆市| 德钦县| 收藏| 崇仁县| 乐山市| 德令哈市| 前郭尔| 淮南市| 东莞市| 通许县| 蓬莱市| 宝兴县| 曲阜市| 桃园市| 仁化县| 玉环县| 河津市| 和田县| 新干县| 德令哈市| 开江县| 固阳县| 习水县| 潜山县| 靖州| 双牌县| 咸阳市| 文登市| 惠水县|