浮動元素的兩端對齊

2021-05-22 00:15:25 字數 972 閱讀 9936

當我們使用float來使元素併排顯示的時候,可以使用margin來控制元素之間的距離,而在很多版式裡(例如產品的列表),需要浮動的元素達到兩端對齊的效果,如圖1所示。

單純使用float:left或者float:right,而不新增額外的class區分元素的位置,似乎是無法實現靠左/右的效果。

首先列出結構:

思路是:li不需要單獨的class來設定左右,而是通過擴大ul的寬度和高度,使其溢位父層,再通過父層的overflow:hidden來隱藏多出容器的部分。

css

其實,用圖2來解釋更直觀一些:

圖2 實現原理

此處需注意的是調整div的寬度的同時也要調整ul的寬度。

或者不設定ul的寬度而是用負marign值來達到擴大ul寬度的效果。

非浮動和定位的塊級元素,其width值為auto(預設值)時,會盡量充滿父元素的內容框,也就是說當沒有border/padding/margin時,width是100%。

計算公式:

margin-left+border-left+padding-left+width+padding-right+border-right+margin-rigth=包含塊的寬度(div的width)

因此如果設定ul的margin-right為-10px,其他padding/margin/border都為0,則:

ul的width=320px(div的width)-(-10px)=330px

**如下:

這樣的優點在於,只要調整最外層div的寬度,就可以實現2列或者4列的效果。

——檢視示例檔案——

ie7的問題已解決。

兩端對齊label

自己寫的,實現兩端對齊的label。專案裡有這樣的 label12.contentinset uiedgeinsetsmake 是控制上下左右的間隙的,這裡我只用了左邊的間隙 contentinset left。uiedgeinsets uiedgeinsetsmake cgfloat top,cg...

CSS兩端對齊

兩端對齊在導航條tab的製作中非常常用。本文將詳細介紹css兩端對齊的3種實現方式 彈性盒模型flex作為強大的彈性布局方式,可以hold住大部分的布局效果,當然也包括兩端對齊。可以使用主軸對齊justify content的兩端對齊屬性space between justify content s...

css 兩端對齊

當我們做篩選框的時候,有的時候會需要篩選文字兩端對齊的情況,如圖 文字的對齊方式大都是通過設定text align來實現,text align屬性下有乙個justify值可以設定元素的兩端對齊。但是text align justify屬性有一些不足之處 在單行文字下,無法實現兩端對齊效果。在多行文字...