使用CSS的overflow屬性防止float撐開div的方法

許多應征前端工程師的人,在面試時都會被問到這類float的問題。
例如:div元素內的兩個子元素p都float:left,外面的div會變成沒有高度,此時該怎么辦呢?
通常解法是在排版流里面的元素加一個after的偽元素,將它設成display: block以及clear:both即可解決。
- div:after {content: "";display: block;clear: both;}
不過我今天意外發(fā)現(xiàn),原來overflow: hidden;也會撐開div呀!如下:
長知識了。
- <body>
- <div>
- <p>I am floated</p>
- <p>So am I</p></div><style>div {
- overflow: hidden;}p {
- float: left;}</style>
深入
讓我們繼續(xù)深入,來看下面的例子:
編寫如下代碼,查看效果
HTML代碼:
- <div class="content">
- <div class="div1">
- </div>
- </div>
CSS代碼:
- .content {
- border: 1px solid red;
- }
- .div1 {
- width: 100px;
- height: 100px;
- background-color: cyan;
- }
效果如下:
在content中添加一個div1,并設置了content標簽的邊框和div1標簽的大小和顏色,看到content標簽把div1標簽包裹起來了。并且還撐起了content標簽的大小
但,當我們設置了div1向右浮動的屬性之后
- .div1 {
- width: 100px;
- height: 100px;
- background-color: cyan;
- float: rightright;
- }
就會變成這個樣子:
div1標簽確實右對齊了,但是并沒有撐起content標簽的高度。
莫著急,我們需要設置一個屬性,就是給content標簽,添加overflow屬性
添加屬性 (overflow: hidden;)
- .content {
- border: 1px solid red;
- overflow: hidden;
- }
添加完之后,效果就成了這樣
相關文章
- 這篇文章主要介紹了css 設置overflow:scroll 滾動條的樣式 ,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-07-25
CSS中overflow-y: visible;不起作用的原因分析及解決方法
小編最近遇到這樣的需求,移動端的h5頁面,要求有一排可選擇的卡片, 超出容器部分可以左右滑動,同時每張卡片左上角要有一個刪除按鈕。接下來通過本文給大家介紹CSS中overf2018-09-13深入理解CSS overflow:hidden——溢出,坍塌,清除浮動
這篇文章主要介紹了深入理解CSS overflow:hidden——溢出,坍塌,清除浮動的相關資料,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-08-03- 這篇文章主要給大家介紹了關于css中text-overflow屬性與文本截斷的相關資料,文中給出了詳細的示例代碼供大家參考學習,希望本文的內容對各位前端開發(fā)者們能帶一定的幫助,2017-06-04
詳解CSS中zoom屬性或overflow:auto屬性清除浮動的作用
這篇文章主要為大家介紹了CSS中zoom屬性或overflow:auto屬性清除浮動的作用,文中通過實例代碼介紹的很詳細,相信會對大家的理解和學習具有一定的參考借鑒價值,有需要的朋2016-11-26- 下面小編就為大家?guī)硪黄狢SS屬性text-overflow的使用問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-06-13
- 這篇文章主要介紹了使用CSS隱藏元素滾動條的示例代碼,需要的朋友可以參考下2019-07-10
- 這篇文章主要介紹了css 給div添加滾動并隱藏滾動條的實例代碼,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值 ,需要的朋友可以參考下2019-07-09