HTML / CSSを使用して2列(またはそれ以上)のレイアウトを作成することが多く、境界線を区切る必要があります。私は通常、左または右の列のいずれかに境界線を追加しますが、最も高い列の高さに一致するように境界線が必要です。
この問題を説明するためにjsFiddleを作成しました:http://jsfiddle.net/rxGUS/
前もって感謝します。
HTML / CSSを使用して2列(またはそれ以上)のレイアウトを作成することが多く、境界線を区切る必要があります。私は通常、左または右の列のいずれかに境界線を追加しますが、最も高い列の高さに一致するように境界線が必要です。
この問題を説明するためにjsFiddleを作成しました:http://jsfiddle.net/rxGUS/
前もって感謝します。
両方の境界線を指定するのはどうですか。ただし、境界線の幅に等しい負のマージンを持つ境界線を使用して、それらが重なるようにします。
.column1 {
float:left;
width:200px;
padding:5px;
border-right:1px solid #000;
}
.column2 {
float:left;
width:200px;
padding:5px;
margin-left:-1px;
border-left:1px solid #000;
}
Twitter BootstrapからのCSSを考慮に入れるために、Alexの回答から調整されました。2つの列の間隔は20px
(から)であると想定されているため、境界線の両側にmargin-left:20px;
設定を追加しました。10px
必要に応じて、 forとforをに20px
設定するだけです。padding-left
.column2
padding-right
.column1
20px
.column1, .column2 {
float:left;
width: 200px;
}
.column2 {
margin-left:-1px;
border-left:1px solid #000;
padding-left:10px;
}
.column1 {
border-right: 1px solid #000;
padding-right:10px;
}
TwitterBootstrapが含まれているjsFiddleの例を参照してください。
これはいくつかの方法で行うことができます。最も簡単な方法:背景画像を作成してcssの境界線を置き換え、最も高い列の高さに一致するコンテナに適用します。ただし、これはあまり柔軟ではありません。
次に、javascriptを使用します。変数maxHeightを作成し、それを0に設定してから、各列をループして、その列の高さを返します。maxHeightよりも高い場合は、maxHeightをその値に設定します。ループが終了したら、すべての列をmaxHeightの値に設定します。
Googleにはこれに関するリソースがかなりたくさんあります。特にjQueryソリューション。
お役に立てば幸いです:)
純粋なCSSでこれを行う簡単な方法はありませんが、必要な効果を実現できるEqualHeightsと呼ばれるjQueryプラグインがあります。基本的に、どの要素に適用するか(あなた.column1
の.column2
場合は)を指定すると、それらの高さが同じ値に動的に設定されます(どちらか高い方に基づいて)。
いろいろ試してみることができますがdisplay: table-cell
、8未満のIEとは互換性がありません。jsFiddleの例を次に示します。それはその間の境界線にCSS3セレクターを使用しますが、それをいじって、どのように機能させたいかを理解することができます。