css元素分散貼邊對齊

2021-08-17 07:29:25 字數 1914 閱讀 5261

為什麼會有這個疑問呢?首先說明一下,接觸前端有一年的時間了,自認為對靜態布局不在話下,果然,自負的人最容易被打臉吶,剛換了乙份工作,公司對前端要求比較嚴格。

公司使用的是bootstrap開發,我們都知道bootstrap框架最核心的是它的柵格系統,我當然也很喜歡這個啦,不過最近ui給我的設計圖總是和bootstrap相矛盾,就好比說,有個模組需要每乙個元素在移動端和螢幕之間有固定的間距,但是在響應到pc端時,要在有效寬度內貼邊對齊。這就很扯淡啦。我畫個圖表示一下內心的狂躁……

就是實現下面這種結果,看著真的沒什麼難度,不過因為我是用bs的柵格來布局的,所以需要修改bs的padding的值,這種方法不算明智,所以我思考和彙總了幾種實現的做法。都是很基礎的。

1.怎樣讓四個沒有內邊距和邊框的元素貼邊平分?

class="box">

1div>

2div>

3div>

4div>

div>

/* * 怎樣讓四個沒有內邊距和邊框的元素貼邊平分?

*/ .box

.box>div

.box>div:nth-child(n+2)這個是最基礎的,也是最簡單的,沒什麼好說的了,使用最簡單的平分寬度實現。效果圖:

2.怎樣讓四個有內邊距和邊框的元素貼邊平分?

這個就有意思了,每次在開發過程中,只要設定width+padding+border,問題就接踵而來了。不是元素被擠到下一行,就是這一行的寬度沒有平分完。所以我使用了下面的幾種方法。

先設定基礎樣式:

class="div-box div-box1">

1div>

2div>

3div>

4div>

div>

/** 怎樣讓四個有沒有內邊距和邊框的元素貼邊平分?

*/ /*基礎樣式*/

.div-box

.div-box div

/*居中方式一:怪異盒模型+平分寬度*/

.div-box1

div .div-box1

.div-box1

div .div-box1

div:nth-child(n+2)

/*居中方式二:浮動+怪異盒模型+平分寬度*/

.div-box2

::after

.div-box2

div .div-box2

div:nth-child(n+2)

/*居中方式三:彈性盒子(用這個最好啦)*/

.div-box3

.div-box3>div

.div-box3>div

:nth-child(n+2)

/*居中方式四:寬度屬性計算(不提倡,相容性不好)*/

.div-box4

.div-box4>div

.div-box4>div

:nth-child(n+2)

以上四種方式實現的效果都是這樣的:

最後,只有掌握最基礎最底層的技術,才能在開發過程中更高效地完成任務。勤勞能致富,後面我要更努力去思考更有用的知識。:)

css js解決文字兩端對齊以及分散對齊

乙個很簡單的設計排版樣式,a圖表示居左對其,但實際上我們想要的可能是b所示的對齊方式。這就是傳說中的兩端對齊 還有一種更確切的說法是兩端分散對齊。最開始的時候 我試圖使用css來解決這個小問題,查閱了很多辦法,發現沒有一種完美相容的解決方式。在一些csser使用了css的兩端對齊方案是基於 text...

CSS實現子元素垂直居中對齊

題目如下 實現子元素垂直居中對齊 子元素垂直居中對齊 1 方法1 利用margin 2 方法二 利用css的 position屬性,把div2相對於div1的top left都設定為50 然後再用margin top設定為div2的高度的負一半拉回來,用marg left設定為寬度的負一半拉回來。p...

css 元素的垂直對齊方式

vertical align 該屬性定義行內元素的基線相對於該元素所在行的基線的垂直對齊。允許指定負長度值和百分比值。這會使元素降低而不是公升高。在表單元格中,這個屬性會設定單元格框中的單元格內容的對齊方式。例如 style display table cell vertical align top...