在寫css三角的時候,很多人都加了個overflow hidden 這是為什麼?加與不加的區別在哪呢?

時間 2021-06-07 08:25:45

1樓:蔡蠢

height:0;

overflow:hidden;

這兩條語句放在一起是前端開發人員常見的書寫習慣,因為早期IE6肆虐橫行的時候,必須要這麼寫。

我們都知道在IE下,heihgt相當於其他瀏覽器下的min-height,當子元素的高度超過父元素的高度的時候,父元素是會被自動撐開的。另外,IE6 下預設的字型尺寸大致在 12 - 14px 之間,當你試圖定義乙個高度小於這個預設值的元素的時候, IE6 會固執的認為這個層的高度不應該小於字型的行高。所以即使你用 height:

0px;(或者任意小於預設值的數值) 來定義了乙個元素的高度,實際在 IE6 下顯示的仍然是乙個 12px 左右高度的層。

當然,我們也可以通過設定font-size來改變這個預設值,但是,即使把font-size設定為0,這個最小的預設值仍然為2px。如果我們新增overflow:hidden; 則不管我們設定的高度是多少,最後顯示的高度都會與我們設定的值一致。

然而,這並沒有什麼卵用。因為IE8以下版本根本不支援before和after偽元素。

只不過,每個前端工程師都是強迫症,既然用了偽類,當然希望所有瀏覽器都能相容,雖然IE低版本瀏覽器過時又傲嬌,我們還是可以想想辦法的。

隨手度了一下,找了乙個解決方案。小tip:我是如何在實際專案中使用before/after偽類的張鑫旭(這個方案不是我給出的,可用性有待驗證=,=)

別人只多寫了一條語句,可能並不是多餘,也許只是因為懶得完善相容性問題而已。

2樓:

有區別的,你可以這樣:

建立兩個div容器,內部的div寬度設定為100,顏色為紅色;外部的div寬度為50,顏色為黃色;

假如外部div沒有設定overflow hidden,那麼紅色區域將全部顯示出來;否則,只能顯示一半紅色。

overflow主要是防止內部元素區域大於外部時的溢位,很有用。

我用手機回答的問題,講的有點粗糙,看不懂就動手操作一下吧

是否存在 很多人都深信中醫,但生病的時候又去看西醫 的現象?如果存在,原因是什麼?

已登出 看了前面回答以及這個提問真特麼搞笑。生病了不是去醫院?根據自己症狀去掛相應的科室?現在醫院難道只有中醫或者西醫?醫生給你開的中藥,中成藥,西藥是不是你還要選擇吃? 生田會理髮 因為他們骨子裡其實都是不信的。很多人提宗教信徒來證明,我也只能說,別看鬼佬天天上帝聖誕老人嘴邊掛著,但是真有事時誰會...

為什麼現在的很多人都三觀不正?你有過或見識過哪些三觀不正的行為或思想?

很激憤的寫下這篇回答,因為這個時候正好躲在廁所裡面哭我最討厭的就是一些大人,他們把一些三觀不正,當做所謂的社會遊戲規則。但是為了不讓場面可能會更難看,他們選擇不說出自己認為正確的話和本來就是正確的話。我能理解他們所做的妥協,但是我不能理解,為什麼他們這樣的心態缺還高高在上,是你太年輕,不懂,反而顯得...

怎樣在面向很多人陌生人的時候 能夠發言順暢並且不緊張?

本沒有多少經驗供你參考,但有過樓主這樣的經歷,而且次數還不少。剛參加工作那一年,年會無人主持,公司也不想花那個冤枉錢,趕鴨子上架指定讓我上。害怕,恐懼,擔憂一股腦襲來,可想而知,效果一般般,緊張到說不出話。後來一想,如何克服自己這種畏懼感呢?那就多練吧。於是有意識的增加自己公眾場合發言的機會,說話的...