最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識(shí)百科 - 正文

css中浮動(dòng)的影響以及去除浮動(dòng)的方法詳解

來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 18:51:48
文檔

css中浮動(dòng)的影響以及去除浮動(dòng)的方法詳解

css中浮動(dòng)的影響以及去除浮動(dòng)的方法詳解:第一次電話面試,面試哥哥問我你都知道哪些去除浮動(dòng)的辦法?我是這樣回答的有兩種方法,一種是在需要去除浮動(dòng)的元素上使用clear:both;另一種是在浮動(dòng)元素的父元素使用"overflow:hidden"。說實(shí)話當(dāng)時(shí)說第二種方法時(shí),我并沒有實(shí)踐過,只是看
推薦度:
導(dǎo)讀css中浮動(dòng)的影響以及去除浮動(dòng)的方法詳解:第一次電話面試,面試哥哥問我你都知道哪些去除浮動(dòng)的辦法?我是這樣回答的有兩種方法,一種是在需要去除浮動(dòng)的元素上使用clear:both;另一種是在浮動(dòng)元素的父元素使用"overflow:hidden"。說實(shí)話當(dāng)時(shí)說第二種方法時(shí),我并沒有實(shí)踐過,只是看

之前在這里寫過一篇關(guān)于浮動(dòng)原理的筆記,今天呢,我就再寫一篇筆記,有關(guān)去除浮動(dòng),內(nèi)容來自于《css設(shè)計(jì)指南》這本書。

  • 浮動(dòng)帶來的影響

  • 現(xiàn)代瀏覽器的表現(xiàn)
    放置兩個(gè)相鄰的行內(nèi)元素,如果設(shè)置第二個(gè)行內(nèi)元素為左浮動(dòng),那么該行內(nèi)元素被設(shè)置浮動(dòng)后,其display會(huì)被修改為block;但是其大小會(huì)根據(jù)設(shè)置或其內(nèi)容的大小進(jìn)行表現(xiàn)。并不會(huì)占據(jù)整行的空間,其旁邊的行內(nèi)元素,就會(huì)在這一行的浮動(dòng)元素后面,并不會(huì)與浮動(dòng)元素平起平坐。
    但是如果其旁邊是設(shè)定了寬度的行內(nèi)塊級(jí)元素,那么這個(gè)行內(nèi)塊級(jí)元素也會(huì)在浮動(dòng)元素后面。
    如果其旁邊是塊級(jí)元素,那么這個(gè)塊級(jí)元素會(huì)占據(jù)該設(shè)置浮動(dòng)的行內(nèi)元素的空間。
    如果說原因,我也說不上來。

  • 在IE7及以前版本的ie瀏覽器
    旁邊的行內(nèi)元素會(huì)在浮動(dòng)元素另起一行的下面,是不是更奇怪。

  • 塊級(jí)元素浮動(dòng)后
    瀏覽器會(huì)收回塊級(jí)元素原來占據(jù)的空間,原來緊跟其后的元素就會(huì)在空間允許的情況下,向上提升到與浮動(dòng)元素平起平坐。而設(shè)置浮動(dòng)的塊級(jí)元素本身就保持原來的位置,默默地看著他影響的元素改變。
    該浮動(dòng)元素的父元素的邊框也會(huì)收縮至父元素內(nèi)沒有設(shè)置浮動(dòng)的子元素。

  • 行內(nèi)元素浮動(dòng)后
    其實(shí)這個(gè)貌似在我目前做的練習(xí)上沒有看過有這樣進(jìn)行設(shè)置的,但是他確實(shí)也帶來了不一樣的體驗(yàn)。

  • 至于行內(nèi)元素的浮動(dòng),我在參考其他網(wǎng)站源代碼時(shí),并沒有遇到過,所以我就先放一放。

  • 接下來就是圍住浮動(dòng)元素的幾種方法,及各個(gè)方法的適應(yīng)場合。

  • 簡單的在html標(biāo)記中添加一個(gè)子元素,并給他應(yīng)用clear屬性。

     <section >
     <img src="7f0ff.png" alt="" style="float:left" />
     <p>it s fun to float</p>
     <p style="clear:left;"></p>
     </section>
     <footer>
     here is the footer element.
     </footer>
  • 但是如果,我們特別不想添加這個(gè)純表現(xiàn)元素,可以采用css來添加這個(gè)清除元素。為section添加一個(gè)類:.clearfix

    .clearfix:after{
     content: '.';
     display: block;
     height: 0;
     visibility: hidden;
     clear: both;}
  • 方法一:為父元素添加:overflow:hidden
    這種方法強(qiáng)制父元素包圍浮動(dòng)的子元素。
    實(shí)際上:overflow:hidden聲明的真正用途是防止包含元素被超大的內(nèi)容撐大。應(yīng)用overflow:hidden之后,包含元素依然保持其設(shè)定的寬度及高度,而超大的字內(nèi)容會(huì)被容器切掉。除此之外,overflow:hidden還有一個(gè)作用,即它能可靠的迫使父元素包含其浮動(dòng)的子元素。
    但是,帶來的后果就是字內(nèi)容一旦超出設(shè)定寬度就會(huì)看不見。

  • 方法二:同時(shí)浮動(dòng)父元素
    其實(shí)這個(gè)對于整個(gè)網(wǎng)站布局并不算的上是清楚浮動(dòng),只是使得父元素包圍住了浮動(dòng)的子元素,但是父元素浮動(dòng)雖然包圍住了浮動(dòng)子元素,但卻沒能解決父元素自身的浮動(dòng)對整個(gè)網(wǎng)站布局的影響,我看到有些網(wǎng)站的源碼還是會(huì)喜歡用這種方法,然后再在這個(gè)浮動(dòng)父元素的外面再包圍一個(gè)父元素,并為他設(shè)置寬度,高度,以保證不影響網(wǎng)頁中其他內(nèi)容的布局。

  • 方法三:添加非浮動(dòng)的清除元素
    就是給父元素的最后添加一個(gè)非浮動(dòng)的子元素,然后清除該子元素的浮動(dòng)。
    然而在包含元素的最后添加子元素作為清除元素的方式有兩種。

  • 這三種方法都利用父元素進(jìn)而實(shí)現(xiàn),圍住浮動(dòng)的子元素。
    分析一下這三個(gè)方法:
    1、不能在下拉菜單的頂級(jí)元素上應(yīng)用overflow:hidden;否則作為其子元素的下拉菜單就不會(huì)顯示啦。
    2、不能對已經(jīng)自動(dòng)外邊距居中的元素使用浮動(dòng)父元素技術(shù),否則他就不會(huì)再居中。
    但是如果某些場合沒有父元素時(shí)怎么辦?
    我肯定會(huì)說,再加個(gè)唄,由不費(fèi)事,但是這樣會(huì)增加遍歷深度,
    如果某個(gè)元素既希望自身受到浮動(dòng)元素影響,又不希望他之后的元素受到這個(gè)浮動(dòng)元素影響,可以在這個(gè)元素的內(nèi)部添加一個(gè)塊級(jí)元素,然后再為這個(gè)塊級(jí)元素清除浮動(dòng),還有一點(diǎn)需要注意,這個(gè)元素千萬不要自己多余設(shè)置個(gè)高度,否則效果不會(huì)顯現(xiàn)出來,希望看到這篇文章的人可親測。

    【相關(guān)推薦】

    1. 免費(fèi)css在線視頻教程

    2. css在線手冊

    3. php.cn獨(dú)孤九賤(2)-css視頻教程

    聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    css中浮動(dòng)的影響以及去除浮動(dòng)的方法詳解

    css中浮動(dòng)的影響以及去除浮動(dòng)的方法詳解:第一次電話面試,面試哥哥問我你都知道哪些去除浮動(dòng)的辦法?我是這樣回答的有兩種方法,一種是在需要去除浮動(dòng)的元素上使用clear:both;另一種是在浮動(dòng)元素的父元素使用"overflow:hidden"。說實(shí)話當(dāng)時(shí)說第二種方法時(shí),我并沒有實(shí)踐過,只是看
    推薦度:
    標(biāo)簽: 方法 清除 的方法
    • 熱門焦點(diǎn)

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top