2012-03-22 1 views
1

にありますか? 40%を使用すると、2つの子divが適切に整列します。100%子div要素はdivタグが同じ行にない理由を私はよく分からない異なる行

私はフロート解決策を求めていません。なぜこれが動作していないのか知りたいだけです。

+0

代わりに表示使用する:インラインブロックを、フロートを試してみてください:子と親の両方に左をそこで、我々はこのようparent.Writeそこにletter-spacing:1emfont-size:0word-spacing:1emを削除することができます? – mshsayem

+0

divを中央に揃えたいので、浮動小数点の問題は解決しません。 – danidacar

+0

をフロートしたdivにセンタリングするには、次の最初の回答を参照してください。http://stackoverflow.com/questions/9696978/css-fixing-an-element-besides-another/9697173#9697173 – mshsayem

答えて

0

フローティングディビジョンを使用する必要があります。

float: left; 

をし、プロパティを持つ行の空のdivの末尾に追加浮い停止する:追加

clear:both; 
+0

私は自分の答えを更新しました。フロートは答えではありません。 – danidacar

2

シンプル:

  • あなたの親のdivは100pxに
  • 子供であるインラインですブロック(サイドバイサイド)
  • 子供は50%(50px)

ただし、インラインブロックを使用する場合、改行/空白は要素間に「ギャップ」を導入します。したがって、50px + 50px +「ギャップ」=親の幅よりも大きくなり、子を強制的に横に座っている。

そのギャップを回避するために、空白を入れないでください:

<ul> 
    <li> 
     item 
    </li><li> //close and open immediately, no gaps 
     item 
    </li><li> 
     item 
    </li> 
</ul> 
+0

HTMLコードを1行で回避する方法はありますか? – danidacar

+0

が答えを更新しました。子供の中に改行*を入れるのは大丈夫です。ちょうどお互いの間にはありません。 – Joseph

+1

@ダニップ、あなたはコメントで分けることができます: '...

<! - NEWLINE - >
..' - これは醜いです。 – TMS

0

:開閉は何の空白を持っていないよう

<parent> 
    <child>foo</child><child>bar</child> 
        ^^^--no gap, whitespace or newline between 

通常、私は、リスト項目の上に、このようにそれを行いますdisplay:inline-blockは、常に右からいくらかのスペースをとります。

.parent {font-size:0;} 
.child {font-size:15px} 

チェックこのhttp://jsfiddle.net/LXHfy/6/

関連する問題