お寿司か焼き肉食べたい

まじめな事からしょーもない事まで
めにゅーを開く(投げやり)

大は小を兼ねないと思わないかね

ブロック要素に対しての大きさの指定をしてみましょう

今回のCSS

  • ・要素の幅を指定する
  • ・要素の高さを指定する
です。

要素の幅を指定する

横幅の指定をしてみます

幅250pxの指定です。

幅100%の指定です。

幅autoの指定です。

.testClass
{
  width:XXpx;
  width:XX%;
  width:auto;// 初期値
}

指定方法は 【ピクセル指定】【パーセント指定】【auto】の3種類となり
autoは初期値であり、状況に応じて大きさが設定されます。
パーセントやautoの指定は親要素の大きさを参照します。

100%とautoって一緒なんじゃないのか?

実はなんだか微妙に違うようなのです。

幅100%の指定です。

幅autoの指定です。うおああああああああああああああああ

すごく微妙な所なのですが、親要素にborderを引いていますが
width:100%の場合は【borderを含む】
width:autoの場合は【borderを含まない】
となっています。凄く微妙なのですがこんなところに差が出てるのですね!

話はまだ終わっちゃいませんよ

幅100%の指定です。

幅autoの指定です。うおああああああああああああああああ

良い感じにズレまくってますね!
子要素にpaddingを指定してみました。
100%指定は、分かりやすく言うと、親要素の幅+paddingで表示しています。
かたやautoのほうは、padding値はそのまま、幅は親要素を超えないように調整してくれています。
またこのpaddingの話はピクセル指定を行った場合でも同じ現象が起きます。
正しく幅を指定する場合は、【親要素-padding値(左右)-border値(左右)】の結果の数値を指定する必要があります。
つまり、autoは上記計算を勝手にやってくれることになります。偉い

ヒェッ!?ケイサンスルンデスカァ?んんwww違いますwww

一応書いとかないとね。
結論から述べると、padding borderのサイズをいちいち計算する必要はありません。
CSS3から出てきたbox-sizing:border-boxをつけましょう。
ここではこいつの説明は省きます。

幅100%の指定です。

幅autoの指定です。うおああああああああああああああああ

高さを指定してみませんか?

続きまして高さの指定をしてみましょう。
paddingとかborderの数値によってはみ出したりするのはwidthと同じなので端折ります。

うー☆うー☆
height:100px;
うー☆うー☆
height:auto;
親要素:height 100px
子要素:height 100%

パーンパカパーン!

あいうーえーおー

.testClass
{
  width:XXpx;
  width:XX%;
  width:auto;// 初期値
}