2017-04-14 20 views
0

ラベルの整列に問題があります。複数のラベルの位置合わせ - HTML、CSS

何私が今持っている:

enter image description here

HTML:

<div class="personalinformation"> 
<label for="" class="info">Firstname:</label> 
<label for="">Bill</label> 
</div> 

<div class="personalinformation"> 
<label for="" class="info">Lastname:</label> 
<label for="">Gates</label> 
</div> 

<div class="personalinformation"> 
<label for="" class="info">Country:</label> 
<label for="">France</label> 
</div> 

CSS:

.personalinformation { 
text-align: center; 
margin-left: auto; 
text-justify: inter-word; 
margin: 0 auto 1em auto; 
} 

.info { 
font-weight: bold; 
text-align: left; 
margin-right: 50px; 
} 

がどのように私は私のラベルは、このように整列するのですか:

enter image description here

答えて

1

各ラベルの固定幅とfloat leftプロパティを設定する必要があります。スニペットで ルック: http://www.bootply.com/wEqBL8Tvo0

よろしく

+0

すべてのラベルを持ちたいのですが、ページの中央にある場合はどうすればいいですか? – pPeter

+0

すべてを囲むコンテナdivを設定し、特に幅を設定し、マージンにautoプロパティを使用します。 Look:http://www.bootply.com/q9x6cX9dFj – robertina

+0

しかし、右のコンテナdivに余分なスペースがあるので、divだけがセンタリングされますが、テキストは表示されません。 – Darren

1

ラベルはフォーム入力のためのものです。あなたは本当にここで定義リストのより多くをやっています。試してみてください:

<dl class="personalinformation"> 
    <dt class="info">Firstname:</dt> 
    <dd>Bill</dd> 
</dl> 
<dl class="information"> 
    <dt class="info">Lastname:</dt> 
    <dd>Gates</dd> 
    <dt class="info">Country:</dt> 
    <dd>France</dd> 
</dl> 

dt,dd{display:inline-block; width:40%} 
dl{margin: 0} 
dt{text-align:left} 
dd{text-align:right} 
1

のようなものを使ってHTMLを変更せずに、あなたのinfoクラスCSSに固定幅を与えることができます:

.info { 
    font-weight: bold; 
    text-align: left; 
    width: 100px; //change this to what you want 
    display: inline-block; 
} 

fiddleを参照してください。

+0

私はあなたがそれらを持っているように、すべてのラベルを持っていますが、ページの中央にしたい場合はどう? – pPeter

+0

私はあなたのHTMLを 'table'要素に変更し、' margin:0 auto'を 'table'に置きます。 [updated fiddle here](https://jsfiddle.net/darienh/c2dbbfmq/1/)を参照してください。 – Darren

関連する問題