今天幫別人調**時,看到乙個樣式:
background-position: 50% 0;對background-size:100% auto,意思是背景寬度為元素寬度*100%,高度等比縮放。詳情可見css3 background。background-size: 100% auto;
對background-position很自然的以為百分比是根據父元素寬度計算的,但background-position真的不是,它有一套自己的原理。下面詳細介紹。
在看各類教程時有以下等價寫法:
那麼為什麼left,top就等價於0% 0%,right bottom等價於100% 100%呢?
background-postion:x y;有了這個公式,就很容易理解百分百寫法了,推算一下也就很容易理解上面各類等價寫法了。
1、background-position:center center等價於background-position:50% 50%等價於background-position:?px ?px
例子中用到背景圖如下【尺寸:200px*200px】:
背景圖在容器中居中。
<效果都是讓背景居中style
type
="text/css"
>
.wrap
style
>
<
div
class
="wrap"
>
div>
如上通過設定百分比和關鍵字能實現背景圖居中,如果要實現通過具體值來設定居中該設定多少?
根據上面公式:
x=(容器的寬度-背景圖寬度)*x百分比=(300px-200px)*50%=50px;
y=(容器的高度-背景圖高度)*y百分比=(300px-200px)*50%=50px;
即設定background-postion:50px 50px;
測試一下:
<效果同樣居中。style
type
="text/css"
>
.wrap
style
>
<
div
class
="wrap"
>
div>
css百分比定位和百分比尺寸
只有設定了定位的 relative,absolute,fixed 的元素才有left,top等屬性。子元素relative定位 百分比定位和百分比尺寸都是相對于父元素,無論父元素有沒有定位 子元素absolute定位 百分比定位和百分比尺寸都是相對於最近的定位了的祖先元素,如果沒有則相對於視窗。可以...
百分比布局
參考位址 螢幕的適配是我們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...