ページのレイアウトを段組みで書く場合、昔は tableタグで書いていたが、
その後これを良しとせず、<div>タグで書くスタイルが紹介された。
しかし、この div タグで書くスタイルは、表示が崩れることがある。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>div test</title>
<link rel="stylesheet" href="test.css" type="text/css">
</head>
<body>
<div>
<div class="set">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
<div class="set">bbbbbbbbbbbbbb<br/>bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
</div>
</body>
</html>
----------- test.css ------------------
@CHARSET "UTF-8";
div {
white-space: nowrap;
vertical-align: top;
}
div.set{
float: left;
padding: 10px;
margin: 4px;
border: 1px solid #0000ff;
}
---------------------------------------
というサンプルは、、、
IE9で、、、、
これを、ウィンドウを狭めると、、、
chrome でも同じ、、
ウィンドウを狭めると、、、
これは期待しているものと違う。。。
そこで、CSSの float: left; を廃止して、display: table-cell; で記述する。
CSSを修正
@CHARSET "UTF-8";
div {
white-space: nowrap;
vertical-align: top;
}
div.set{ /* IE8~, chrome , Opera */
display: table-cell;
padding: 10px;
margin: 4px;
border: 1px solid #0000ff;
}
* html div.set { /* IE 6 */
display: inline;
zoom: 1;
}
*:first-child+html div.set { /* IE 7 */
display: inline;
zoom: 1;
}
修正すると。。。
IE9
chrome
IE6
こんなことを書くぐらいなら、table タグで段組みを書いた方が良いのではないだろうか。