2011-10-07 47 views
13

左のインデントに合わせるのではなく、のラジオボタンの下にテキストがのように折り返されている2つのhtmlラジオボタンがあります(divを含むサイズのため)。テキストの折り返しは問題ではなく、問題は、上の行のテキストに合わせるのではなく、ラジオボタン自体の下に間違って折り返してしまうことです。私は誰かがカスケードのどこかで入力タグをスタイリングしていると仮定しています。このページに添付されているすべてのスタイルを網羅的に検索していませんが、箇条書きリストのようにテキストが自動的に正しく折り返されるべきではありませんか?
enter image description here
ラジオボタンのテキスト折り返しが正しくありません

もしそうでない場合は、どうすればこの問題を解決できますか? <br />タグを挿入する必要がありますか?正しく整列されるように改行したい位置にタグを挿入しますか?

ありがとうございます!

+1

あなたの持っているものの[jsFiddle](http://jsfiddle.net/)を追加できますか?または、現在のHTMLを追加するだけですか?それは私が持っているいくつかの質問に答えるでしょう:例えば:あなたは '

+0

ここに私が試みる解決策があります:[link](http://stackoverflow.com/questions/911644/how-can-i-make-multi-line-vertically-and-horizo​​ntally-aligned-labels-for-radio- b)私はバンチルールを書いて、ちょうど私が持っていたものを変更する必要はありませんでした...しかし、それは解決策です。誰かがより良いものを持っているなら、投稿してください。ありがとう。 – Chris22

+0

thirtydot、私はラベルを使用していません。私はそれをどのように使用するかを再確認していません。 google。しかし、私はそれを使って他の投稿を見ました。正確に '

答えて

19

まず、<br />の使用は推奨されません。要素間にスペースを作成するには、CSSプロパティmarginを試してみてください。

あなたがしたいことをするためには、CSSを使うのが最善です。これは、デフォルトでは、これらの要素はこの種の動作をしないからです。

<div style="width:300px"> 
    <input type="radio" class="radioLeft" /> 
    <div class="textBlock"> 
     Some text that is too long to fit inline and must be broken 
     up over multiple lines.Some text that is too long to fit inline 
     and must be broken up over multiple lines.Some text that is too 
     long to fit inline and must be broken up over multiple lines. 
    </div> 
    <div style="clear:both;"></div> //this is important for repeated inputs 
</div> 

そして、あなたのCSSは次のようになります:あなたはこのように見える何かをしたいでしょう。この場合

.radioLeft 
{ 
    float: left; 
} 

.textBlock 
{ 
    float: left; 
    width: 80%; //Adjust this value to fit 
} 
+0

Eganrで '

+0

http://jsfiddle.net/Chris22/G3RE7/2/ – Chris22

+0

何らかの理由で、私は職場でjsfiddleが表示されず、コードを貼り付けるか、代替手段を使用することができます。私が忘れたことの一つは、radioLeftクラスの終わりの引用です。私は少しでも私の答えを更新しました。ここにCSSDeskのライブサンプルがあります:http://cssdesk.com/FwpGr – Eganr

5

あなたは単にラップするテキストを強制的にCSSを使用することができます正しく

span { 
    display: block; 
    margin-top: -16px; 
    margin-left: 28px; 
} 

はこれが役立つことを願っ:私はあなたがテキストの周囲に<span>タグを持っているので、あなたがその位置を調整するために、次を使用できることを想定しています! Tomer

0

このこんなに遅く、私はこの記事に出くわした、ここでもう一つの解決策だ答えるため申し訳ありません:2015年

p { margin-left: 20px; text-indent: -20px; } 
4

回答:他のsoultionsのどれも私のために働いていないので
を、ここです私はそれを行う方法:Firefoxの41、クローム:

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>Radiobutton labels aligned</title> 
<style type="text/css"> 
    div { display:table-row; } 
    div span { display:table-cell; vertical-align:middle; } /* You can omit the entire span if you don't want the radiobutton vertically centered */ 
    div label { display:table-cell; } 
</style> 
</head> 
<body> 
<form> 
<div> 
    <span><input type="radio" id="a"></span> 
    <label for="a">First button's label<br>First button's label</label> 
</div> 
<div> 
    <span><input type="radio" id="b"></span> 
    <label for="b">Second button's label</label> 
</div> 
<input type="radio" id="c"><label for="c">For comparison: Standard-Label</label> 
</form> 
</body> 
</html> 

は中http://jsfiddle.net/8jzss08p/
作品を参照してください。 45、Internet Explorer 11

+0

偉大な答え。魅力的な作品。 – Olaf

+0


を使用して回線を切断しますか?それは原油ではありませんか?テキストは折り返してインデントする必要があります。 – Chiwda

+0

素晴らしい作品です。これは受け入れられた答えでなければなりません。 – pk1557

関連する問題