大家知道 CSS overflow 屬性用法嗎?下面我們就給大家詳細(xì)介紹一下吧!我們積累了一些經(jīng)驗(yàn),在此拿出來(lái)與大家分享下,請(qǐng)大家互相指正。
CSS overflow的屬性值:
1. visible: 默認(rèn)值,內(nèi)容不會(huì)被修剪,會(huì)呈現(xiàn)在元素框之外;
2. hidden: 內(nèi)容會(huì)被修剪,并且其余內(nèi)容是不可見(jiàn)的;
3. scroll: 內(nèi)容會(huì)被修剪,但是瀏覽器會(huì)顯?滾動(dòng)條以便查看其余的內(nèi)容;
4. auto: 如果內(nèi)容被修剪,則瀏覽器會(huì)顯?滾動(dòng)條以便查看其余內(nèi)容;
同樣有兩個(gè) overflow 的姐妹屬性 overflow-y 和 overflow-x,它們很少被采用。讓我們分別看一下這幾個(gè)值,并討論一寫(xiě)共同用法和技巧。
(1)Auto
overflow 的 auto 值很像 scroll,它唯一解決的是在你不需要的時(shí)候也會(huì)出現(xiàn)滾動(dòng)條的問(wèn)題。
(2)Hidden
默認(rèn)值 visible 的相反的值就是 hidden。它會(huì)將所有超出盒子的所有內(nèi)容都給隱藏掉。這對(duì)應(yīng)付使用動(dòng)態(tài)的內(nèi)容,而且可能會(huì)由于內(nèi)容溢出而引起一些布局上的問(wèn)題的確很有用。盡管如此,請(qǐng)記住用此方法隱藏的內(nèi)容將徹底的看不到(除非去查看源代碼)。 比如有的用戶設(shè)置他們的瀏覽器的默認(rèn)字體比你預(yù)期的要大些,你會(huì)將一些文字推到盒子的外面然后完全的隱藏。
(3)Visible
如果你不設(shè)置 overflow 屬性,則默認(rèn)的 overflow 屬性值就是 visible。所以一般而言,并沒(méi)有什幺理由特別的設(shè)定 overflow 的屬性為 visible 除非你想覆蓋它在其它地方被設(shè)定的值。這里需要記住的重要的事情是,盡管盒子外面的內(nèi)容是可見(jiàn)的,內(nèi)容并不會(huì)影響頁(yè)面的工作流。一般來(lái)說(shuō),你至少不用為里面的內(nèi)容為文字的盒子設(shè)置固定的高度,這樣就不會(huì)遇到這種情況了。
(4)Scroll
設(shè)置一個(gè)盒子的 overflow 值為 scroll 將會(huì)隱藏掉渲染到盒子之外的內(nèi)容,但是它將會(huì)提供一個(gè)滾動(dòng)條在盒子內(nèi)部滾動(dòng),從而可以查看剩下的內(nèi)容。值得注意的是,使用 scroll 將會(huì)同時(shí)產(chǎn)生水平和垂直兩個(gè)滾動(dòng)條,就算內(nèi)容只需要其中一個(gè)。
舉例:使用Visible和Hidden屬性值
<!DOCTYPE html> <html> <head> <style> div { width: 550px; height: 100px; margin-top: 20px; border: 1px solid red; } div.hidden { overflow: hidden; } div.scroll { overflow: scroll; } div.auto { overflow: auto; } </style> </head> <body> <div class="hidden"> visible:默認(rèn)值,對(duì)溢出的內(nèi)容不做處理,內(nèi)容會(huì)在元素內(nèi)容區(qū)之外顯示;<br> hidden:隱藏溢出元素內(nèi)容區(qū)的內(nèi)容;<br> scroll:隱藏溢出元素內(nèi)容區(qū)的內(nèi)容,并在元素的左側(cè)和下方分別創(chuàng)建一個(gè)滾動(dòng)條,通過(guò)滑動(dòng)滾動(dòng)條可以查看元素中的所有內(nèi)容;<br> auto:如果出現(xiàn)內(nèi)容溢出,則會(huì)在元素左側(cè)創(chuàng)建一個(gè)滾動(dòng)條,通過(guò)滑動(dòng)滾動(dòng)條可以查看元素中的全部?jī)?nèi)容;<br> inherit:從父元素繼承 overflow 屬性的值。 </div> <div class="scroll"> visible:默認(rèn)值,對(duì)溢出的內(nèi)容不做處理,內(nèi)容會(huì)在元素內(nèi)容區(qū)之外顯示;<br> hidden:隱藏溢出元素內(nèi)容區(qū)的內(nèi)容;<br> scroll:隱藏溢出元素內(nèi)容區(qū)的內(nèi)容,并在元素的左側(cè)和下方分別創(chuàng)建一個(gè)滾動(dòng)條,通過(guò)滑動(dòng)滾動(dòng)條可以查看元素中的所有內(nèi)容;<br> auto:如果出現(xiàn)內(nèi)容溢出,則會(huì)在元素左側(cè)創(chuàng)建一個(gè)滾動(dòng)條,通過(guò)滑動(dòng)滾動(dòng)條可以查看元素中的全部?jī)?nèi)容;<br> inherit:從父元素繼承 overflow 屬性的值。 </div> <div class="auto"> visible:默認(rèn)值,對(duì)溢出的內(nèi)容不做處理,內(nèi)容會(huì)在元素內(nèi)容區(qū)之外顯示;<br> hidden:隱藏溢出元素內(nèi)容區(qū)的內(nèi)容;<br> scroll:隱藏溢出元素內(nèi)容區(qū)的內(nèi)容,并在元素的左側(cè)和下方分別創(chuàng)建一個(gè)滾動(dòng)條,通過(guò)滑動(dòng)滾動(dòng)條可以查看元素中的所有內(nèi)容;<br> auto:如果出現(xiàn)內(nèi)容溢出,則會(huì)在元素左側(cè)創(chuàng)建一個(gè)滾動(dòng)條,通過(guò)滑動(dòng)滾動(dòng)條可以查看元素中的全部?jī)?nèi)容;<br> inherit:從父元素繼承 overflow 屬性的值。 </div> </body> </html>
運(yùn)行結(jié)果:
C語(yǔ)言網(wǎng)提供由在職研發(fā)工程師或ACM藍(lán)橋杯競(jìng)賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點(diǎn)擊了解:
一點(diǎn)編程也不會(huì)寫(xiě)的:零基礎(chǔ)C語(yǔ)言學(xué)練課程
解決困擾你多年的C語(yǔ)言疑難雜癥特性的C語(yǔ)言進(jìn)階課程
從零到寫(xiě)出一個(gè)爬蟲(chóng)的Python編程課程
只會(huì)語(yǔ)法寫(xiě)不出代碼?手把手帶你寫(xiě)100個(gè)編程真題的編程百練課程
信息學(xué)奧賽或C++選手的 必學(xué)C++課程
藍(lán)橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競(jìng)賽課入門課程
手把手講解近五年真題的藍(lán)橋杯輔導(dǎo)課程