溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

css中的float怎么用

發(fā)布時間:2022-04-25 14:03:19 來源:億速云 閱讀:108 作者:iii 欄目:大數(shù)據(jù)

今天小編給大家分享一下css中的float怎么用的相關(guān)知識點,內(nèi)容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

float與margin

兩個相鄰的浮動元素,當?shù)谝粋€浮動元素(不論是左浮動還是右浮動)的寬度為100%時,第二個浮動元素會被擠到下面,通過添加負margin-right值(絕對值最少等于它自身的寬度),可以使它回到第一行。

在書寫html代碼時,我們通常的習慣根據(jù)UI樣式,從左往右來寫代碼,但有時候右側(cè)的內(nèi)容比較重要,所以它的html結(jié)構(gòu)需要放在左側(cè)內(nèi)容上面,讓它更早的加載,比如:

左側(cè)定寬流式布局

css中的float怎么用

<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">回復</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è)置左或者右浮動,再添加負margin-right值,讓它回到上面。

1.左右兩側(cè)都不定寬

效果圖:

css中的float怎么用

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">回復</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元素是自適應的,不能定寬,而且里面包含塊級元素,所以只能設(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è)定寬流式布局

效果圖:

css中的float怎么用

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">喜歡&middot;5000</span>
          </div>               
        </div>
      </div>
   
      <a href="#" class="thumbnail"><img src="images/pic.jpg" alt="圖片"></a>   
    </li>
  </ul> 
</div>

核心點:

1:當?shù)谝粋€浮動元素的寬度為100%時,第二個元素會自動換行,緊挨著第一個元素,這時可以給第二個浮動元素添加負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;
}

以上就是“css中的float怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI