2012-03-27 8 views
11

各行にコロンについてのテキストをいくつか整列させたいと思います。 、右:ムービークレジットのようなテキストの各行にコロンを整列させる方法はありますか

 aaa:111 
    bbbbbbb:22222 
cccccccccc:33333333 
     dd:44 
     eeee:5555 

は、これまでのところ、私はテーブル2列、左の列のテキストを整列して、それを管理することができます:私は彼らがコロンについて整列する

aaa:111 
bbbbbbb:22222 
cccccccccc:33333333 
dd:44 
eeee:5555 

:だから私はこれを持っています右側の列はテキストの左揃えになります。しかし、私は確かにこれよりもはるかにエレガントな解決策があると確信しています。 - 何か案は?

ありがとうございます!任意の値の長さを持つ

+2

あなたは表形式のコンテンツを持っているようですね。だから、テーブルは合理的な解決策(IMO)のように聞こえる。 –

+0

表形式のデータを扱っているため、ここでは表が使用されます。テーブルは設計上の位置づけがあります。すべてが純粋なCSSである必要はありません。 –

答えて

10

簡単でセマンティックな方法は、定義リストを使用することです:

Demo

CSS:

dt { display:block; float:left; width:100px; text-align: right;} 
dt:after{content:':';} 
dd { display:block;} 

HTML:

<dl> 
    <dt>aaa</dt><dd>111</dd> 
    <dt>bbbbbbb</dt><dd>22222</dd> 
    <dt>cccccccccc</dt><dd>33333333</dd> 
    <dt>dd</dt><dd>44</dd> 
    <dt>eeee</dt><dd>5555555</dd> 
</dl> 
+0

私は意味のある部分がかなり好きです。だから私は主な成分は、テキストの整列を持っていると思う:右側と幅は、コロンの左側にテキストを設定します。 –

+0

コロンの右側に少し余分なスペースを追加する方法はありますか?スペース、マージン、またはパディングをどこに追加しても、動作しないようです。それは私の味のためにあまりにもタイトなものです。 –

+1

@Rokk 'dt:after {content: ':'; padding-right:1em;} ' – bookcasey

1

、テーブルが

+0

唯一の方法ではなく、ただ穏やかな方法です。 ;)間違いなく 'div'sとJavascriptを使って偽のテーブルを作ることができました。 –

+0

はい、それでもdivを使っていても "テーブル"を使用しています – nathanjosiah

3
<div class="label-wrap">aaa:</div> 
<div class="info">111</div> 

にCSSにそれを行うための唯一の方法のようになります。

.label-wrap 
{ 
width:150px; 
text-align:right; 
float:left; 
} 

.info 
{ 
width:150px; 
float:left; 
text-align:left; 
} 

をあなたはどのようなこれらの2つのクラスをラップすると、ここに十分なスペースを持っていることを確認する必要があります - 300px +任意のパディングまたはマージン。

+0

このようにすれば、適切なセマンティックマークアップを得るのに '

'、 '
'と '
'を使うこともできます。 – Cyrille

+0

これは良い方法です...

を使用することは難しいです。全く異なる使い方をしています。 – user2846569

2

データが表形式のデータの場合は、表を使用するアプローチが容認されます。

しかし代替は、HTMLのラベルを使用することです:

<p> 
<span>aaa:</span>111 
</p> 
<p> 
<label>bbbbbbb:</span>22222 
</p> 
<p> 
<span>cccccccccc:</span>33333333 
</p>​​​​ 

span 
{ 
    width:100px; 
    clear:left; 
    float:left; 
    text-align:right; 
    padding-right:2px; 
}​ 

はフィドルを参照してください:http://jsfiddle.net/F2PRN/1/

+0

+0

@chipcullen良い点、私は私の答えを更新しました。私は単純にラベルを選択したと思います。フォームフィールドに従います。 – Curt

関連する問題