CSS float 和 CSS clear
阿新 • • 發佈:2021-08-09
CSS浮動和清除浮動
float:left | right | none | inline-start | inline-end
- left:表明元素必須浮動在其所在的塊容器左側的關鍵字。
- right:表明元素必須浮動在其所在的塊容器右側的關鍵字。
- none:表明元素不進行浮動的關鍵字。
- inline-start:關鍵字,表明元素必須浮動在其所在塊容器的開始一側,在ltr指令碼中是左側,在rtl指令碼中是右側。
- inline-end:關鍵字,表明元素必須浮動在其所在塊容器的結束一側,在ltr指令碼中是右側,在rtl指令碼中是左側。
- left:元素被向下移動用於清除之前的左浮動。
- right:元素被向下移動用於清除之前的右浮動。
- both:元素被向下移動用於清除之前的左右浮動。
- none:元素不會向下移動清除之前的浮動。
- inline-start:該關鍵字表示該元素向下移動以清除其包含塊的起始側上的浮動。即在某個區域的左側浮動或右側浮動。
- inline-end:該關鍵字表示該元素向下移動以清除其包含塊的末端的浮點,即在某個區域的右側浮動或左側浮動。
特性:
- 大部分使用了float之後,將會改變一個元素的display屬性為block。
- 浮動元素脫離了正常的文件流。
- 浮動會向指定方向平移,一直平移直到碰到所處容器的邊框,或碰到另一個浮動元素停下。
另外當只為子元素設定float時而父元素沒有任何寬高值(包括border)時,這時即使父元素為block,父寬度足夠的情況下在視覺上子浮動元素會橫向排列在一起。
如:
<!-- css --> <style> .square { background: #fff; border: 1px solid #999; float: left; font-size: 24px; font-weight: bold; line-height: 34px; height: 34px; margin-right: -1px; margin-top: -1px; padding: 0; text-align: center; width: 34px; } </style> <!-- html --> <div> <button class="square"></button> <button class="square"></button> <button class="square"></button> </div> <div> <button class="square"></button> <button class="square"></button> <button class="square"></button> </div> <div> <button class="square"></button> <button class="square"></button> <button class="square"></button> </div>
效果:
這時候我們如果給div加上合適的高:
div{ height: 33px; }
可以看到,3個div成功看起來各佔一行。