忍者ブログ

ひつ(じのひよこが)プログラミングします。
お仕事や趣味で困ったこととか、何度も「あれ?どうだったかしら」と調べたりしたこととか、作ったものとか、こどものこととかを書きます
★前は週末定期更新でしたが今は不定期更新です

2024/11    10« 1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  »12

HTML / CSS で2カラムを実装する

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

コメント

ただいまコメントを受けつけておりません。

HTML / CSS で2カラムを実装する

2カラムをやる方法はいろいろある。

  1. display:box; を利用する方法
  2. display:inline-block; を利用する方法
  3. float:left; を利用する方法

1. display:box; を利用する方法。

2カラムで表示したい親の要素のスタイルに display:box; 群を入れる。子ではない点に注意。

<div style="width: 500px;display:box;display: -webkit-box;display: -moz-box;border: 2px solid green;">
  <div style="width: 200px; background-color: #ffa0a0;">
    左側の箱<br />
    <br />
    左側の箱
  </div>
  <div style="width: 300px; background-color: #a0a0ff;">
    右側の箱<br />
    右側の箱
  </div>
</div>
左側の箱

左側の箱
右側の箱
右側の箱

高さが何もしなくてもそろってくれるのが魅力。しかし、幅はきっちり指定しないと自動設定になるので注意。例えば以下のようになる。

<div style="width: 500px;display:box;display: -webkit-box;display: -moz-box;border: 2px solid green;">
  <div style="background-color: #ffa0a0;">
    左側の箱<br />
    <br />
    左側の箱
  </div>
  <div style="background-color: #a0a0ff;">
    右側の箱<br />
    右側の箱
  </div>
</div>
左側の箱

左側の箱
右側の箱
右側の箱

2. display:inline-block; を使う方法。

<div style="width: 500px; border: 2px solid green;">
  <div style="display: inline-block; background-color: #ffa0a0;">左側の箱</div>
  <div style="display: inline-block; background-color: yellow;"><br />中央<br />の箱</div>
  <div style="display: inline-block; background-color: #a0a0ff;"><br />右側の箱</div>
</div>
左側の箱

中央
の箱

右側の箱

底辺を自動でそろえてくれる。これだけだと box の方が便利そうだが、次のような使い方もできる。

<div style="width: 300px; border: 2px solid green;">
  <div style="margin: 5px; display: inline-block; background-color: #ffa0a0; border: red double 2px; border-radius: 8px;">なんか<br />リストっぽい<br />アイテム</div>
  <div style="margin: 5px; display: inline-block; background-color: #ffa0a0; border: red double 2px; border-radius: 8px;">なんか<br />リストっぽい<br />アイテム</div>
  <div style="margin: 5px; display: inline-block; background-color: #ffa0a0; border: red double 2px; border-radius: 8px;">なんか<br />リストっぽい<br />アイテム</div>
  <div style="margin: 5px; display: inline-block; background-color: #ffa0a0; border: red double 2px; border-radius: 8px;">なんか<br />リストっぽい<br />アイテム</div>
  <div style="margin: 5px; display: inline-block; background-color: #ffa0a0; border: red double 2px; border-radius: 8px;">なんか<br />リストっぽい<br />アイテム</div>
</div>
<div style="width: 400px; border: 2px solid green;">
  <div style="margin: 5px; display: inline-block; background-color: #ffa0a0; border: red double 2px; border-radius: 8px;">なんか<br />リストっぽい<br />アイテム</div>
  <div style="margin: 5px; display: inline-block; background-color: #ffa0a0; border: red double 2px; border-radius: 8px;">なんか<br />リストっぽい<br />アイテム</div>
  <div style="margin: 5px; display: inline-block; background-color: #ffa0a0; border: red double 2px; border-radius: 8px;">なんか<br />リストっぽい<br />アイテム</div>
  <div style="margin: 5px; display: inline-block; background-color: #ffa0a0; border: red double 2px; border-radius: 8px;">なんか<br />リストっぽい<br />アイテム</div>
  <div style="margin: 5px; display: inline-block; background-color: #ffa0a0; border: red double 2px; border-radius: 8px;">なんか<br />リストっぽい<br />アイテム</div>
</div>
なんか
リストっぽい
アイテム
なんか
リストっぽい
アイテム
なんか
リストっぽい
アイテム
なんか
リストっぽい
アイテム
なんか
リストっぽい
アイテム
なんか
リストっぽい
アイテム
なんか
リストっぽい
アイテム
なんか
リストっぽい
アイテム
なんか
リストっぽい
アイテム
なんか
リストっぽい
アイテム

検索結果をカード状にして並べて表示したい、といった場合に便利。


3. float:left; を使った方法

inline-block と似たようなことを float でも実現できる。

しかし、末尾の clear:left; がなければ後の要素の表示に影響する。それを意識して HTML を書く必要があり、あまりお勧めできない。

<div style="width: 300px; border: 2px solid green;">
  <div style="margin: 5px; float:left; background-color: #ffa0a0; border: red double 2px; border-radius: 8px;">なんか<br />リストっぽい<br />アイテム</div>
  <div style="margin: 5px; float:left; background-color: #ffa0a0; border: red double 2px; border-radius: 8px;">なんか<br />リストっぽい<br />アイテム</div>
  <div style="margin: 5px; float:left; background-color: #ffa0a0; border: red double 2px; border-radius: 8px;">なんか<br />リストっぽい<br />アイテム</div>
  <div style="margin: 5px; float:left; background-color: #ffa0a0; border: red double 2px; border-radius: 8px;">なんか<br />リストっぽい<br />アイテム</div>
  <div style="margin: 5px; float:left; background-color: #ffa0a0; border: red double 2px; border-radius: 8px;">なんか<br />リストっぽい<br />アイテム</div>
  <div style="clear: left;"></div> 
</div>
なんか
リストっぽい
アイテム
なんか
リストっぽい
アイテム
なんか
リストっぽい
アイテム
なんか
リストっぽい
アイテム
なんか
リストっぽい
アイテム
PR

コメント

ただいまコメントを受けつけておりません。

ブログ内検索

P R