2016-05-21 10 views
-1

私が配置され、すべての4つの方向が0としてリストされていることに気づいた絶対的である私のスタイルシート内の要素があります、すべての方向が0ある場合CSS絶対配置 - 上、右、下、左を指定する必要がありますか?

input.flip + label:before, input.flip + label:after { 
    display: block; 
    position: absolute; 
    top: 0; 
    left: 0; 
    bottom: 0; 
    right: 0; 
    text-align: center; 
    line-height: 2.2em; 
} 

をそれらのすべてを指定することが必要である、またはtopleftと指定するだけでいいですか?

input.flip + label:before, input.flip + label:after { 
    display: block; 
    position: absolute; 
    top: 0; 
    left: 0; 
    text-align: center; 
    line-height: 2.2em; 
} 
+1

私が思うに、トップと左はあなたがそれをしようとしないのはなぜ –

+0

に動作しますか? –

+1

どこでも高さや幅を指定していないので重要です。私が間違っていなければ、4つすべて= 0は高さ= 100%、幅= 100%を意味します。 – Harry

答えて

0

ここでは、すべてのcoordonatesをゼロに設定すると、要素全体に親(positionned)をカバーするように指示します.if labelはposition:relativeまたはfixedまたはabsoluteでカバーします。

それは

top:0; 
left:0; 
height:100%; 
width:100%; 

に似ていますが、要素は大きさのためにそれはマージンを加え、別の目的を持つことができます:自動;要素を親の位置に配置します。親が配置されていない場合は、ビューポートが参照になります。 例

input, 
 
div { 
 
    position: absolute; 
 
    top: 0; 
 
    left: 0; 
 
    bottom: 0; 
 
    right: 0; 
 
    text-align: center; 
 
    line-height: 2.2em; 
 
    margin: auto; 
 
} 
 

 
div { 
 
    background: lime;/* show me */ 
 
} 
 

 
input { 
 
    z-index: 1;/* let me be on top */ 
 
}
<input type="text" value="i have a defaut size" /> 
 
<div> well i have size that content, coordonates or height/width , shall give me </div>

0

あなたがabsoluterelativeまたはfixed位置を使用している、あなただけのVertically位置とHorizontally位置を指定する必要があります。したがって、オフセットをrightに設定すると、もう1つの水平オフセットプロフィック(left)を設定する必要はありません。

leftrightの両方のプロパティを使用すると、場合によっては100%であることを意味します。

ので、それだけでlefttopまたはちょうどrightbottomプロパティを使用してOKです。

+1

もちろん、それは「OK」ですが、全く同じことはしません。 –

+0

@NiettheDarkAbsolはい、私は水平オフセットと垂直オフセットプロパティのうちの1つだけで十分です。 –

関連する問題