LoginSignup
1
0

More than 5 years have passed since last update.

CSSでfloatをかけた2カラムレイアウトを縦に並べたいのだが、ズレる。

Last updated at Posted at 2012-03-16

いまちょっと困っているところ。

左右の2カラムからなり、右カラムはいくつかのボックスに分かれているレイアウトを作っている。
その際、単純にfloat:leftとrightで左右に配置しているのですが、floatは横に並べようとするため、
左カラム幅が少ないとき複数ボックスからなる右カラムがずれてしまう。

↓こんなかんじ。rightのboxをタテに並べたいのだが横に回り込んでしまう。
https://img.skitch.com/20120108-j5j4h2bdycmw9xfgak7dr8kbpu.jpg

簡略化した構造とCSSは以下の通り。

<body>
  <div id="content">
    <div id="left_content">
      <div class="box">
        left
      </div>
    </div>
    <div id="right_content">
      <div class="box">
        right-1
      </div>
      <div class="box">
        right-2
      </div>
      <div class="box">
        right-3
      </div>
    </div>
  </div>
</body>
#content {
  position: relative;
  width: 1020px;
  margin: auto auto;
  padding: 20px 0 0;
}
#left_content .box {
  float: left;
  width: 750px;
  border: 1px solid #C5D5DD;
  padding: 10px;
}
#right_content .box {
  float: right;
  width: 200px;
  border: 1px solid #C5D5DD;
  margin-bottom: 20px;
  padding: 10px;
}

強引に解決するなら左カラムのmin-heightを定義すればよいとは思うのだが、
右カラムに含まれるボックスの高さはある程度動的に変わる可能性があるため、CSSで解決できる問題であればそうしたい。

1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0