Zapobiega zawijaniu tekstu pod pole wyboru
Układam zestaw pól wyboru i biegnę przez odwieczny problem zawijania tekstu pod pole wyboru, jeśli tekst jest zbyt długi.
Mój HTML:
<div class="right">
<form id="updateProfile">
<fieldset class="checkboxes">
<p>4. What is your favorite type of vacation?</p>
<label><input type="checkbox" name="vacation" value="Ski Trips"> Ski Trips</label>
<label><input type="checkbox" name="vacation" value="Beach Visits"> Beach Visits</label>
<label><input type="checkbox" name="vacation" value="Cruises"> Cruises</label>
<label><input type="checkbox" name="vacation" value="Historical and educational trips"> Historical and educational trips</label>
<label><input type="checkbox" name="vacation" value="Yachting"> Yachting</label>
<label><input type="checkbox" name="vacation" value="Road Trip"> Road Trip</label>
<label><input type="checkbox" name="vacation" value="Spa Weekend"> Spa Weekend</label>
<label><input type="checkbox" name="vacation" value="Bed and Breakfast"> Bed and Breakfast</label>
<label><input type="checkbox" name="vacation" value="Stay home and relax"> Stay home and relax</label>
<label><input type="checkbox" name="vacation" value="Gambling Trips"> Gambling Trips</label>
<label><input type="checkbox" name="vacation" value="Volunteer"> Volunteer</label>
</fieldset>
</form>
</div>
Mój CSS:
div.right{width:580px;}
form#updateProfile fieldset label{
display: block;
margin-bottom: 5px;
font-size: 16px;
float: left;
width: 33%;
}
Zobacz Moje skrzypce tutaj: http://jsfiddle.net/fmpeyton/7WmGr/
Po wielu poszukiwaniach na różnych stronach, nie mogę znaleźć rozsądnego rozwiązania. Jestem otwarty na sugestie dotyczące zmiany moich znaczników / stylów, ale chciałbym, aby Kod był tak czysty i semantyczny, jak możliwe.
Dzięki!5 answers
To chyba działa:
Dałem label
a margin-left
z 18px, a Pola wyboru a margin-left
z-18px.
HTML:
<div class="right">
<form id="updateProfile">
<fieldset class="checkboxes">
<p>4. What is your favorite type of vacation?</p>
<label><input type="checkbox" name="vacation" value="Ski Trips"> Ski Trips</label>
<label><input type="checkbox" name="vacation" value="Beach Visits"> Beach Visits</label>
<label><input type="checkbox" name="vacation" value="Cruises"> Cruises</label>
<label><input type="checkbox" name="vacation" value="Historical and educational trips"> Historical and educational trips</label>
<label><input type="checkbox" name="vacation" value="Yachting"> Yachting</label>
<label><input type="checkbox" name="vacation" value="Road Trip"> Road Trip</label>
<label><input type="checkbox" name="vacation" value="Spa Weekend"> Spa Weekend</label>
<label><input type="checkbox" name="vacation" value="Bed and Breakfast"> Bed and Breakfast</label>
<label><input type="checkbox" name="vacation" value="Stay home and relax"> Stay home and relax</label>
<label><input type="checkbox" name="vacation" value="Gambling Trips"> Gambling Trips</label>
<label><input type="checkbox" name="vacation" value="Volunteer"> Volunteer</label>
</fieldset>
</form>
</div>
CSS:
div.right{width:598px;}
form#updateProfile fieldset label{
display: block;
margin-bottom: 5px;
font-size: 16px;
float: left;
width: 30%;
margin-left:18px;
}
form#updateProfile fieldset label input[type='checkbox']{margin-left:-18px;}
Wydaje się działać w Crome & IE9.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-05 23:06:21
Jedną z opcji byłoby coś takiego.
form#updateProfile fieldset label{
display: block;
margin-bottom: 5px;
font-size: 16px;
float: left;
width: 30%;
padding-left: 3%;
position: relative;
}
input {
position: absolute;
left: -5px;
}
Demo tutaj: http://jsbin.com/opoqon/1/edit
Sposób, w jaki to robię jest inny, co nie jest owijaniem inputs
z labels
, raczej robie coś w rodzaju
<input id="ski-trips" type="checkbox" name="vacation" value="Ski Trips"><label for="ski-trips">Ski Trips</label>
, co pozwala na łatwiejszą stylizację.
Oto przykład tego sposobu: http://jsbin.com/otezut/1/edit
Ale tak czy inaczej by się udało.Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-05 19:05:15
Podoba mi się to ...
HTML:
<input type="checkbox" name="vacation" value="Ski Trips"><label>very long label ...</label>
CSS:
input[type="checkbox"] {
position: absolute;
}
input[type="checkbox"] ~ label {
padding-left:1.4em;
display:inline-block;
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-30 18:44:09
Jest to inna opcja. To bardzo proste, ale skuteczne.
Bierzesz rolę, która się pakuje. <label><input type="checkbox" name="vacation" value="Historical and educational trips"> Historical and educational <span class="antiWrap">trips</span></label>
i dodajesz span z klasą. Zadzwoniłem do antykwariatu. Następnie używasz css, aby dodać do niego lewy margines. .antiWrap { margin-left: 18px; }
Oto myfiddle oparte na Twoim kodzie. http://jsfiddle.net/alexhram/7WmGr/3 myślę, że o to ci chodzi? Daj mi znać.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-05 19:31:11
Oto jeden, który jest mniej zależny od wielkości elementów wejściowych.
div {width: 12em;}
label {
display: block;
white-space: nowrap;
margin: 10px;
}
label input {
vertical-align: middle;
}
label span {
display: inline-block;
white-space: normal;
vertical-align: top;
position: relative;
top: 2px;
}
<div>
<label><input type="radio"><span>I won't wrap</span></label>
<label><input type="checkbox"><span>I won't wrap</span></label>
<label><input type="radio"><span>I am a long label which will wrap</span></label>
<label><input type="checkbox"><span>I am a long label, I will wrap beside the input</span></label>
</div>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-07 11:54:25