寬度是屏幕的一半css怎麼設置?我調查了身邊五六年經驗以上的幾個前端同學和同事,盡然發現絕大部分人都不知道,當然,在看到這個文章之前,我也不知道這個,平時雖然都一直在做web前端開發,但真沒涉及到這塊,或者說涉及到了,也解決了,但是還真沒探究過這個問題,你是否躺槍了呢?,我來為大家科普一下關于寬度是屏幕的一半css怎麼設置?下面希望有你要的答案,我們一起來看看吧!
寬度是屏幕的一半css怎麼設置
我調查了身邊五六年經驗以上的幾個前端同學和同事,盡然發現絕大部分人都不知道,當然,在看到這個文章之前,我也不知道這個,平時雖然都一直在做web前端開發,但真沒涉及到這塊,或者說涉及到了,也解決了,但是還真沒探究過這個問題,你是否躺槍了呢?
這是一個很讓人困惑的CSS特征,我之前也談到過它。我們大家都知道,當按百分比設定一個元素的寬度時,它是相對于父容器的寬度計算的,但是,對于一些表示豎向距離的屬性,例如padding-top
,padding-bottom
,margin-top
,margin-bottom
等,當按百分比設定它們時,依據的也是父容器的寬度,而不是高度。
下面是一個實例演示代碼,你可以調整容器的寬度,但你會發現,黃塊塊的padding-bottom
的距離也會随之寬度而變大或變小。
HTML代碼
<div class="wrapper" id="w">
<div class="box" id="b"></div>
</div>
<input type="range" min="120" max="400" value="400" class="range" id="r">
<output>寬度是: <span id="op">400px</span></output>
<output>黃塊塊的Padding bottom是:<br><span id="op2">10%</span></output>
CSS代碼
body {
font-family: Arial, sans-serif;
padding-top: 30px;
text-align: center;
}
.wrapper {
width: 400px;
margin: 0 auto;
border: solid 1px black;
}
.box {
width: 100px;
height: 100px;
background: gold;
margin-left: auto;
margin-right: auto;
padding-top: 10%;
padding-bottom: 10%;
margin-bottom: 5%;
}
.range {
display: block;
margin: 20px auto;
}
output {
text-align: center;
display: block;
font-weight: bold;
padding-bottom: 20px;
}
output span {
font-weight: normal;
}
上面的代碼中,我們對内部子元素聲明了3個豎向的距離,都是百分比形式。當移動滑塊時,我們的js代碼隻需修改了容器的寬度。但是,這個這三個屬性高度都跟随着變化,可以看出,它們的百分比計算是基于容器的寬度,而不是高度的。
切圖網緻力于web前端技術開發,關注用戶體驗,關注移動web前端,響應式,微場景等技術,如果你對此感興趣請加公衆微信賬号:qietuwang