私は2つのdivの間に奇妙な空白があります。div間の空白を削除する
各divにはCSSプロパティdisplay: inline-block
があり、それぞれの高さと幅が設定されています。
空白がどこにあるのかわかりません。左側の要素の両方を浮かべ
私は2つのdivの間に奇妙な空白があります。div間の空白を削除する
各divにはCSSプロパティdisplay: inline-block
があり、それぞれの高さと幅が設定されています。
空白がどこにあるのかわかりません。左側の要素の両方を浮かべ
あなたがそこに空白を取得します。インライン要素間の空白は空白として解釈されます。
は、あなたが持っている:用
<div id="left_side">
<div id="plan">
<h1>div 1</h1>
</div>
</div>
<div id="right_side">
<div id="news">
<h1>div 2</h1>
</div>
</div>
変更:
<div id="left_side">
<div id="plan">
<h1>div 1</h1>
</div>
</div><div id="right_side">
<div id="news">
<h1>div 2</h1>
</div>
</div>
をしかし、これはあなたがやりたいことは悪い方法です。
あなたがしたいことがあれば、要素を浮動させる必要があります。
、また、すべてのスペースを埋めるために40%に30%の幅を作ったが、これは必要ではありません。インラインブロックはIE7ではサポートされていませんが、回避策で修正できます。あなたはdivの中間に空白を持っているので
これは、もちろん、別のオプションです。ただし、フロートされた要素はクリアする必要があります。 – Purag
良い点ですが、実際にはOPの質問には答えません。これは実際には答えではなく、質問に進むコメントです。 –
あなたは完全に正しいです、私はこの点でポイントを逃しました。 – AlexKempton
移動し、同じ行の上にこれらの文:右側のdiv要素が左側のdivの終了タグの直後に起動方法
<div id="left_side">
...
</div><div id="right_side">
...
</div>
お知らせ:
</div><div id="right_side">
これは、トリックを行います。これは、エレメント間のスペースが、現在インラインになっているので、レイアウト自体のスペースになるためです。この動作は、2つのスパン要素でミラー化できます。
Demo。
使用:代わりに "インラインブロック"、何の問題のフロートを使用してみました両方div
で
float:left;
clear:none;
。明白な問題
#left_side {float: left;}
と
#right_side {float: right; margin-right: 10%}
:にインラインブロック:ちょうど表示を変更しません。間違っている可能性があります。
フロートとインラインブロック(テーブルセルとフレキシブルボックス)は根本的に異なるものです。 4つのテクニック*はすべてアイテムの水平方向の整列に適していますが、それぞれ異なる制限や欠点があります。理論的には、フレックスボックスは4つの中で最も普遍的な方法だと思われますが、最新のスペックバージョンのブラウザはまだ限られています。 –
あなただけのCSSに以下を追加divの間のスペースが唯一の原因あなたが、あなたのコーディングのレイアウトを保持山車を避け、それ自身の上の各div要素を保持する場合は、H1のマージンとパディング
にある
h1 {
padding:0;
margin:0;
}
ライン全体...
<div id="leftSide">Some content here</div><!-- --><div id="rightSide">Some more content here</div>
理由を知っているが、私は削除、関連DIVスタイルの声明とホワイトスペースに(垂直)border: 1px solid red;
とfloat: left;
(水平方向)を追加することによってこの問題を解決しないでください。
ありがとう、皆さん。 –