DIV
sでサイトを作成しています。 DIVを作成するときを除いて、すべてがうまくいきます。このように作成します(例):
newdiv {
width: 200px;
height: 60px;
padding-left: 20px;
text-align: left;
}
padding-left
プロパティを追加すると、DIV
の幅が220pxに変わり、200pxのままにしておきます。
DIV
とまったく同じanotherdiv
という名前の別のnewdiv
を作成し、newdiv
の内部に配置しますが、newdiv
にはパディングがなく、anotherdiv
にはpadding-left: 20px
があります。私は同じことを得ます、newdiv
の幅は220pxになります。
この問題を修正するにはどうすればよいですか?
プロパティを追加:
-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
-moz-box-sizing: border-box; /* Firefox, other Gecko */
box-sizing: border-box; /* Opera/IE 8+ */
注:これ動作しません Internet Explorerバージョン8以下。
これを試して
box-sizing: border-box;
Divのサイズを変更せずにdiv内のテキストをインデントする場合は、text-indent
ではなくCSSのpadding-left
を使用します。
.indent {
text-indent: 1em;
}
.border {
border-style: solid;
}
<div class="border">
Non indented
</div>
<br>
<div class="border indent">
Indented
</div>
box-sizing: border-box;
を追加するだけです
padding-leftプロパティを追加すると、DIVの幅が220pxに変わります
はい、それはまさに標準に準拠しています。それが動作するはずです。
Newdivとまったく同じanotherdivという名前の別のDIVを作成し、newdiv内に配置しますが、newdivにはパディングがなく、anotherdivにはpadding-left:20pxがあるとします。私は同じことを得ます、newdivの幅は220pxになります。
いいえ、newdivの幅は200ピクセルのままです。