プロが教えるわが家の防犯対策術!

CSSでテーブルを作成した時の事で二つ質問おねがいします
1.
#box {
width:800px;
height:100px;
border: 1px solid #000000;
}
とした時の大きさについて

ボーダーを含めた大きさが800pxで内側の領域が798pxなのか
ボーダーの内側が800pxでボーダーを含めて802pxなのか

2.
#left{
width:200px;
height:80px;
float:left;
background-color:#FFFFFF;
border: 1px solid #000000;
}

#right{
width:600px;
height:80px;
float:right;
background-color:#FFFFFF;
  border: 1px solid #000000;
}
質問1の中に質問2の物を入れようとすると4px?分飛び出してしまうということでしょうか?
それともボーダー同士は重なり合い同じ大きさになるのでしょうか?

よろしくお願いします

A 回答 (3件)

「ボックスモデル」を検索してみてください。


cssの規格として正しくは
width+padding+margin+border
と独自の幅を足していって全体の幅になるのですが、モードによっては
widthにpaddingやborderも含む解釈もあります。
モードは標準モードと過去互換モード(後方互換モード)があり、
#1さんの最後の方に出てくる宣言でいろいろなブラウザの調整をします。

基本的な実装差異をきちんと把握していないと崩れる原因になります。理論を踏まえた上で自分でやってみて不具合を1つ1つ克服していくしかないでしょうね。floatなので、計算が違うと「落っこちる」現象になると思います。

昔のブラウザを相手にしないなら標準を学ばれた方が楽です。cssの解釈を完璧に実現するブラウザはありませんので、解釈の違いと、プログラムミス(バグ)に悩まされることになります。

で、質問に対する答えは「モードによって違う」です。
あんまり役に立たない答えですね。
    • good
    • 0
この回答へのお礼

バージョンによって800pxなのか802pxなのか798pxなのか違うのですね
回答ありがとうございました。

お礼日時:2008/06/20 22:18

あー今ちょっと手元に資料がないんでTABLEでもそうなるのか断言はできませんが、ブラウザによって異なる仕様で表示されてたような気がします。

また同じ種類のブラウザでもバージョンによって違ったりとウキーな状態なので、あまりガチガチなレイアウトは組まない方が賢明かと思います。
ちょっと確認できる状況じゃないのであやふやで失礼。検索でブラウザごとの差異やバグ、バージョンアップで変わった点なんかを調べれば全般にわたってきちんとした説明がみつかるかもしれません。
    • good
    • 0
この回答へのお礼

回答ありがとうございました

お礼日時:2008/06/20 22:16

試してみれば?



#box1 {
width:800px;
height:100px;
border: 1px solid #000000;
}
#box2 {
width:780px;
height:100px;
border: 11px solid #000000;
}
#box3 {
width:800px;
height:100px;
border: 11px solid #000000;
}

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    • good
    • 0
この回答へのお礼

回答できる方だけ回答してね

お礼日時:2008/06/20 22:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!