這篇文章主要為大家展示了“css中float的用法”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“css中float的用法”這篇文章吧。
float與margin
兩個相鄰的浮動元素,當(dāng)?shù)谝粋€浮動元素(不論是左浮動還是右浮動)的寬度為100%時,第二個浮動元素會被擠到下面,通過添加負(fù)margin-right值(絕對值最少等于它自身的寬度),可以使它回到第一行。
在書寫html代碼時,我們通常的習(xí)慣根據(jù)UI樣式,從左往右來寫代碼,但有時候右側(cè)的內(nèi)容比較重要,所以它的html結(jié)構(gòu)需要放在左側(cè)內(nèi)容上面,讓它更早的加載,比如:
左側(cè)定寬流式布局
<div class="comment"> <!-- 右側(cè)重要內(nèi)容 --> <div class="content"> <div class="author"> <span class="name">哇哈哈</span> <span class="date">2016-78-55</span> </div> <p class="text">吃的再多也不長胖,好愁人啊,怎么能快速長胖呢,在線等,急!吃的再多也不長胖,好愁人啊,怎么能快速長胖呢,在線等,急!吃的再多也不長胖,好愁人啊,怎么能快速長胖呢,在線等,急!吃的再多也不長胖,好愁人啊,怎么能快速長胖呢,在線等,急!吃的再多也不長胖,好愁人啊,怎么能快速長胖呢,在線等,急!吃的再多也不長胖,好愁人啊,怎么能快速長胖呢,在線等,急!吃的再多也不長胖,好愁人啊,怎么能快速長胖呢,在線等,急!</p> <div class="meta"> <span class="msg-tag">贊</span> <span class="msg-tag">回復(fù)</span> </div> </div> <!-- 左側(cè)內(nèi)容 --> <a href="#" class="avatar"><img src="images/header.jpg" alt="頭像"></a> </div>
* {margin:0; padding:0;} li {list-style: none;} a {text-decoration: none;} body {font-family: '微軟雅黑';} .wrap { width: 800px; margin: 50px auto; } .content { float: right; margin-left: 100px; } .date { font-size: 14px; color: #666; } .text { margin: 20px 0; } .avatar { float: left; margin-right: -80px; } .avatar img { width: 80px; height: 80px; border-radius: 50%; }
如上面圖的效果,盡管在UI上,.content元素在.avatar右邊,但我們在html結(jié)構(gòu)中,仍然需要把.content元素放到.avatar元素前面,這個時候就可以通過給.content元素設(shè)置為右浮動,然后給.avatar元素設(shè)置左或者右浮動,再添加負(fù)margin-right值,讓它回到上面。
1.左右兩側(cè)都不定寬
效果圖:
html代碼:
<div class="comment"> <a href="#" class="avatar"><img src="images/header.jpg" alt="頭像"></a> <div class="content"> <div class="author"> <span class="name">哇哈哈</span> <span class="date">2016-78-55</span> </div> <p class="text">吃的再多也不長胖,好愁人啊,怎么能快速長胖呢,在線等,急!吃的再多也不長胖,好愁人啊,怎么能快速長胖呢,在線等,急!吃的再多也不長胖,好愁人啊,怎么能快速長胖呢,在線等,急!吃的再多也不長胖,好愁人啊,怎么能快速長胖呢,在線等,急!吃的再多也不長胖,好愁人啊,怎么能快速長胖呢,在線等,急!吃的再多也不長胖,好愁人啊,怎么能快速長胖呢,在線等,急!吃的再多也不長胖,好愁人啊,怎么能快速長胖呢,在線等,急!</p> <div class="meta"> <span class="msg-tag">贊</span> <span class="msg-tag">回復(fù)</span> </div> </div> </div>
核心點:
.avatar元素左浮動,.content元素的display屬性設(shè)為table-cell,其實這里的.content元素不一定非要設(shè)置display為table-cell才行,只要是能觸發(fā)BFC/haslayout的就行,比如:
float:left/right position:absolute/fixed overflow:hidden/scroll(IE7+) display:inline-block/table-cell(IE8+)
不過因為這里的.content元素是自適應(yīng)的,不能定寬,而且里面包含塊級元素,所以只能設(shè)置overflow屬性。
css代碼:
* {margin:0; padding:0;} li {list-style: none;} a {text-decoration: none;} body {font-family: '微軟雅黑';} .wrap { width: 800px; margin: 50px auto; } .avatar { float: left; margin-right: 20px; } .avatar img { width: 80px; height: 80px; border-radius: 50%; } .content { display: table-cell; } .date { font-size: 14px; color: #666; } .text { margin: 20px 0; }
2.右側(cè)定寬流式布局
效果圖:
html代碼:
<div class="wrap"> <ul class="list"> <li class="item"> <div class="content-wrap"> <div class="content"> <div class="author"> <a href="#" class="avatar"><img src="images/header.jpg" alt="頭像"></a> <span class="name">李榮浩</span> <span class="date">2016-01-22</span> </div> <a href="#" class="title">不將就</a> <p>互相折磨到白頭 悲傷堅決不放手 開始糾纏之后 才又被人放大了自由 你的暴烈太溫柔 感情又痛又享受 如果我說不吻你不罷休 誰能逼我將就</p> <div class="meta"> <span class="category-tag">歌曲</span> <span class="msg-tag">喜歡·5000</span> </div> </div> </div> <a href="#" class="thumbnail"><img src="images/pic.jpg" alt="圖片"></a> </li> </ul> </div>
核心點:
1:當(dāng)?shù)谝粋€浮動元素的寬度為100%時,第二個元素會自動換行,緊挨著第一個元素,這時可以給第二個浮動元素添加負(fù)margin值,使它上去
2:第一個浮動元素.content外面有一個包裹元素,方便給.content元素添加padding-right值,讓左邊的內(nèi)容和右邊圖片之間留出空隙
其實雙飛翼布局的思想也是包含上面兩點。
css代碼:
* {margin:0; padding:0;} li {list-style: none;} a {text-decoration: none;} body {font-family: '微軟雅黑';} .wrap { width: 800px; margin: 50px auto; } .item { padding-bottom: 15px; border-bottom: 1px solid #ccc; overflow: hidden; } .content { float: left; padding-right: 180px; } .avatar { display: inline-block; width: 32px; height: 32px; border-radius: 50%; vertical-align: middle; overflow: hidden; } .avatar img { width: 100%; height: 100%; } .name { vertical-align: middle; } .date { font-size: 14px; color: #666; vertical-align: middle; } .title { display: block; padding: 10px 0; font-size: 18px; font-weight: bold; line-height: 1.5; color: #333; } .thumbnail { float: left; margin-left: -120px; } .thumbnail img { width: 120px; height: 120px; } .meta { margin-top: 15px; font-size: 14px; } .category-tag { display: inline-block; padding: 0 8px; margin-right: 10px; border: 1px solid #ea6f5a; border-radius: 3px; color: #ea6f5a } .msg-tag { color: #999; }
3.兩側(cè)固定,中間自適應(yīng)的三欄布局
現(xiàn)在三欄布局很少了,如果要用到,請直接百度雙飛翼布局或者圣杯布局。
以上是“css中float的用法”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
當(dāng)前題目:css中float的用法-創(chuàng)新互聯(lián)
轉(zhuǎn)載來源:http://www.rwnh.cn/article18/hohgp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、響應(yīng)式網(wǎng)站、服務(wù)器托管、網(wǎng)站策劃、網(wǎng)站內(nèi)鏈、網(wǎng)站設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容