CSS百分比布局

2021-06-29 15:22:17 字數 1384 閱讀 1351

曾經的**布局可能大家都有點陌生了吧,其實我也是基本上沒用過,自從web2.0的興起,**重構的思想,這讓**布局就這樣消失了基本上,**布局中有用到百分比布局的,在「**布局」落下帷幕之後,基本上我們都是讓網頁固定為950-1000px,。如果布局使用了百分比寬度(如90%),耳邊很快就能聽到抱怨:「我的顯示器上效果不太一樣。」固定畫素尺寸的網頁是匹配固定畫素尺寸顯示器的最簡單辦法。 

隨著移動網際網路的發展,我們開始了對各種移動裝置的適配,如果說針對每個版本的移動裝置都用**查詢去寫一套樣式,那是不是顯得有點坑,確實坑,目前市面上的移動裝置真是各種各樣,解析度也是奇出不窮,亂七八糟,但是,不要緊,我們還有百分比,百分比在移動網頁的適配上得到了很好的體現。 

可能之前一直做web端的同學會疑惑,全部用百分比,我該怎麼分配百分比啊,其實很簡單,我們只要牢記乙個公式就行: 

目標元素寬度÷上下文元素寬度=百分比寬度 

打個比方說吧,我們的網頁body是1000px的,**的主題打算使用960px居中的,那麼我們的目標元素寬度就是960px,上下文寬度就是1000px,從而我們可以知道百分比寬度為96%。**可以這樣寫: 

1 2 

body 

main/* 這裡main區域的寬度就是960px */ 

不過好像很多web端的**目前依然是固定畫素布局的,百分比布局在移動端應用就非常明顯了,響應式布局的流行,讓它無處不在。 

下面我們來看乙個移動頁面的百分比布局: 

html**: 

1 2 

3 4 

5 6 

7 8 

9 10 

樣式**: 

1 2 

3 4 

5 6 

7 8 

9 10 

11 html,body 

.content 

a a:first-child 

a:nth-child(2) 

a:nth-child(3) 

a:nth-child(4) 

a:nth-child(5) 

a:nth-child(6) 

a:nth-child(7) 

a:nth-child(8) 

顏色是我隨便填的,圖好醜我就懶得截了,主要是來說一下裡面的幾個百分比,很明顯我們整個網頁的寬度就是100%,我們現在來說內容部分,.content部分是所有a元素的父元素,我們假設.content是100%,我們減去乙個margin1.5%,分成2部分就是49.25%,然後右邊再減去乙個1.5%,分成2部分就是23.875%,下面一部分是4個拍在一行,就有3個margin1.5%,再分成三部分就是23.875%。對吧只要記住上面的公式,我們仔細點就能把百分比布局做好,其實就是要稍微做一些運算就好了。這樣子得到的網頁就任何大小的解析度上都可以自適應了。這樣就在適配上方便多了。 

百分比布局

參考位址 螢幕的適配是我們android開發最經常做的事情之一,我們一直指望著能夠一套布局適配所有。於是在android5.0之後,提供了android support percent lib,這樣我們可以盡情的使用。使用的時候,我們嗯需要設定的有 layout marginpercent layo...

百分比布局

其中相對布局和幀布局官方是有支援庫的 compile com.android.support percent 25.3.0 但線性布局並沒有 public class percentlinearlayout extends linearlayout override protected void o...

css百分比定位和百分比尺寸

只有設定了定位的 relative,absolute,fixed 的元素才有left,top等屬性。子元素relative定位 百分比定位和百分比尺寸都是相對于父元素,無論父元素有沒有定位 子元素absolute定位 百分比定位和百分比尺寸都是相對於最近的定位了的祖先元素,如果沒有則相對於視窗。可以...