2012-02-23 4 views
1

私は、stackoverflowのタグ付けシステムと同じように、タグを投稿に追加できるアプリケーションを作っています。私はすべての共通タグのリストを表示したいと思います。それぞれのタグは完全に一致するようにします(<input type="submit">タグが単語のサイズに合わせて伸びるように)。これを行うにはどうすれば<div>を含むdivのテキストの折り返しと水平に整列させることができますか?私。各単語が<div id="tag">があり、このような何か、:テキストラップで行にdivを配置するにはどうすればよいですか?

tag1 thisisalongtag 
biology physics 
thiswordwraps science 
one two three four 

答えて

4

最も簡単な解決策は余裕-崩壊を防止しながら、テキストの折り返しを可能にする、display: inline-blockとタグ要素のスタイルを設定することです。

+0

+1を助け

希望を設定する - それはまた、テキスト整列設定することによって、親内の要素を中央にことができます:センター;親に要素に浮かぶものは許されません。 –

+0

これはまさに私が探していたものでした、ありがとう! CSSを使ってそれらのdivの間にパディングを置く方法はありますか?私のタグの罫線がお互いに走っています。 – theeggman85

+0

DEMOのように、「margin」を使用してそれらを区切ります。 'padding'は要素の境界から内側のテキストを埋め込むために使われます。 – paislee

0

私は、私は完全にあなたの質問を理解していることはよく分からないが、この「タグ」の効果を達成するためにさまざまな方法があります。

divをfloatに設定することができます:left、clear:left、それにちょっとしたパディング(すべての面で5px)を与えます。次に、すべてのタグを固定幅のコンテナに入れます。タグが空になるまで水平方向にタイルを貼ると、その位置で下の次の「行」に折り返されます。

さらに簡単な方法は、このサイト(stackoverflow)で使用されているアンカータグなどのインライン要素を使用することです。エレメントは自然に水平方向に流れ、それらが部屋を使い果たしてラップします。あなたがそれらを調べるなら、彼らのスタイルにあまりないことがわかります。インライン要素が動作すると予想されるように動作しています。

時には解決策は思ったよりも簡単です。あなたはdivや浮動小数点を気にする必要はありません。しかし、それ以上の情報がなければ、あなたのために何がうまくいくかを正確に言うことは難しいです。

1
display:inline-block 

すべてのブラウザ(古いIEを... 7を含む)上では動作しません

代わりにこれを試してみてください。

http://jsfiddle.net/mtwDX/

タグはインラインしかし、ホワイトスペースである:NOWRAP ;そして適切な行の高さがこの

関連する問題