負值之美 負margin在頁面布局中的應用

2021-06-28 18:06:00 字數 2882 閱讀 3855

負數給人總是一種消極、否定、拒絕之感,不過有時利用負margin可以達到奇妙的效果,今天就表一表負值在頁面布局中的應用。這裡說的負值主要指的是負margin。

關於負margin的原理建議大家看看這篇文章:

本文不講原理,主要展示幾個應用。

此例適用於左右欄寬度固定,中間欄寬度自適應的布局。由於網頁的主體部分一般在中間,很多網頁都需要中間列優先載入,而這種布局剛好滿足此需求。

html:

<

div

class

="main"

>

<

div

class

="main_body"

>main

div>

div>

<

div

class

="left"

>left

div>

<

div

class

="right"

>right

div>

css:

body.main.main_body.left,.right.left.right
效果:

專案中經常會使用浮動列表展示資訊,為了美觀通常為每個列表之間設定一定的間距(margin-right),當父元素的寬度固定式,每一行的最右端的li元素的右邊距就多餘了,去除的方法通常是為最右端的li新增class,設定

margin-right:0; 

這種方法需要動態判斷為哪些li元素新增class,麻煩!!!利用負margin就可以實現下面這種效果:

html:

<

div

id="test"

>

<

ul>

<

li>子元素1

li>

<

li>子元素2

li>

<

li>子元素3

li>

<

li>子元素4

li>

<

li>子元素5

li>

<

li>子元素6

li>

ul>

div>

css:

body,ul,liul,li#test#test ul#test ul li
效果:

使用絕對定位將div定位到body的中心,然後使用負margin(content寬高的一半),將div的中心拉回到body的中心,已到達水平垂直居中的效果。

html:

<

div

id="test"

>

div>

css:

body#test
效果:

列表中我們經常會新增border-bottom值,最後乙個li的border-bottom往往會與外邊框重合,視覺上**觀,往往要移除。

html:

<

ul id

="test"

>

<

li>test

li>

<

li>test

li>

<

li>test

li>

<

li>test

li>

<

li>test

li>

ul>

css:

body,ul,liul,li#test#test li
效果:

此例關鍵是給每個框設定大的底部內邊距,然後用數值相似的負外邊距消除這個高度。這會導致每一列溢位容器元素,如果把外包容器的overflow屬性設為hidden,列就在最高點被裁切。

html:

<

div

id="wrap"

>

<

div

id="left"

>

<

p style

="height:50px"

>style="height:50px"

p>

div>

<

div

id="center"

>

<

p style

="height:100px"

>style="height:100px"

p>

div>

<

div

id="right"

>

<

p style

="height:200px"

>style="height:200px"

p>

div>

div>

css:

body,p#wrap#left,#center,#right#left #center #right p
效果:

(負值) margin在頁面布局中的應用

此例適用於左右欄寬度固定,中間欄寬度自適應的布局。由於網頁的主體部分一般在中間,很多網頁都需要中間列優先載入,而這種布局剛好滿足此需求。專案中經常會使用浮動列表展示資訊,為了美觀通常為每個列表之間設定一定的間距 margin right 當父元素的寬度固定式,每一行的最右端的li元素的右邊距就多餘了...

CSS中margin值為負對布局的影響

一 首先是對自身的影響 1.margin left,margin right會增加元素自身寬度。m 當自身元素寬度未設定或width auto時,margin為負值會增加元素自身的寬度 如圖 width auto時 如圖 width auto時且設定了margin left 40px 2.margi...

數學之美 系列七 資訊理論在資訊處理中的應用

我們已經介紹了 資訊熵,它是資訊理論的基礎,我們這次談談資訊理論在自然語言處理中的應用。先看看資訊熵和語言模型的關係。我們在 系列一中 談到語言模型時,沒有講如何定量地衡量乙個語言模型的好壞,當然,讀者會很自然地想到,既然語言模型能減少語音識別和機器翻譯的錯誤,那麼就拿乙個語音識 別系統或者機器翻譯...