(厄介なテーブルを使用せずに)目標を達成できる1つの方法は、CSSを使用して記事をレイアウトすることです。
このようなHTML関連の問題を調査する簡単な方法は、探している要素だけを含む単純なHTMLページを作成することです。
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title></title>
<style>
div#articles {
width: 450px;
border: solid 1px red; /* For debugging purposes */
}
div#articles article{
display: inline-block; /* Force the article to be displayed in a rectangular region laid out next to one another */
margin: 5px; /* Leave a little room between each article */
width: 200px; /* Limit the maximum width of the article so that only two fit side-by-side within the div */
text-align: center; /* Center the text horizontally */
vertical-align: middle; /* Center the text vertically */
border: solid 1px green; /* For debugging purposes - so you can see the region the articles live within */
}
</style>
</head>
<body>
<div id="articles">
<article>Article A</article>
<article>Article B</article>
<article>Article C</article>
<article>Article D</article>
</div>
</body>
</html>
記事、段落などは通常、それらを含む要素(この例ではDIV)の幅に合わせたサイズのフロー要素として配置されます。
記事をグリッドのようなパターンで配置する必要があるため、これらの特定の要素を「ブロック」としてレンダリングするようにブラウザに指示する必要があります。さらに、2つのブロックだけが含まれているDIV内に並んで収まるように、ブロックを親内でフローさせる必要があります。
したがって、CSSスタイルを使用すると、次のことができます。1. DIVの幅を固定サイズに設定します2.記事を「インラインブロック」スタイルとしてレンダリングするように設定します3.記事の幅を設定して、各行に2つだけが収まるようにしますオプション: 4.必要に応じて、記事のテキストを中央に配置します。5.記事の余白を設定して、各要素の間に少しスペースを残します。6.各要素が存在する領域をよりよく表示するには、単純な1pxの色付きの境界線を使用します。
このアプローチにより、次のレイアウトになります。
HTH。