padding:45px 65px 95px;
左側のパディングの値が指定されていないのに、上記の省略形で左側のパディングが65pxに設定されるのはなぜですか?
これは私には少し混乱します。
それは確かに紛らわしいですが、それはCSSが機能しただけです。1つの値を指定すると、4つの辺すべてに使用されます。2つ指定すると、最初はtop/bottom
パディングになり、2番目はになりますleft/right
。したがって、3つを指定すると、top, left/right, bottom
2つの値のみが指定された場合の使用法をエコーします。
順序は次のとおりです。上、右、下、左
TRBL(トラブル)を考えてください。または時計回り。
省略形を使用する場合、指定されていない場合は反対側の値が使用されます。あなたの場合、右から左で左65px
に使用します。65px
これをさらに進めるために、私が持っていた場合:
padding: 10px 20px;
上と下10px
、右と左になります。20px
ついに:
padding: 10px;
すべてに対して10pxになります。
省略表記は、欠落している要素を常に反対の値からコピーします。
padding: top right bottom left;
padding: top right; // bottom = top, left = right
padding: top right bottom; // left = right
実際には、シーケンスは上、右、下、左です。2つの値のみが指定されている場合、上下と左右で同じ値になります。あなたが右に65pxを与えたので、それは左にも同じです。
これは省略表記であり、通常は次のように3つの引数ではなく2つの引数のみを指定します。
margin: 0 auto;
これは、上下が0、左右が自動であることを意味します。
順序は上、右、下、左です。数値を省略すると、反対の値が選択されます。
x = t=x, r=x, b=x, l=x
x,y = t=x, r=y, b=x, l=y
x,y,z = t=x, r=y, b=z, l=y