#html #css #checkbox #vertical-alignment
#HTML #css #флажок #выравнивание по вертикали
Вопрос:
Я пытаюсь установить набор флажков как по горизонтали, так и по вертикали, но они не отображаются равномерно. Метки для каждого флажка могут различаться по размеру, например, на одном ярлыке для флажка написано «International Casaulty Treaty», тогда как на другом написано только WIP.
Я рассматривал этот вертикальный пример здесь. http://jsfiddle.net/zcuLgbxt /
Как я могу аккуратно расположить их, чтобы все они были выровнены как по вертикали, так и по горизонтали? Заранее большое спасибо!
Вот мой простой HTML / CSS
li {
margin: 5px;
}
input {
width: 20px;
background-color: blue;
position: relative;
left: 200px;
vertical-align: middle;
}
.vertical-list {
width: 200px;
position: relative;
left: -20px;
display: inline-block;
vertical-align: middle;
}
li{
list-style:none;
}
.horizontal-list{
display: inline;
}
<center>
<ul>
<li>
<input type="checkbox" >
<label class="vertical-list"> label1 label1 label1</label>
<input type="checkbox" >
<label class="horizontal-list" for="myid2">label2</label>
</li>
<li>
<input type="checkbox" >
<label class="vertical-list" >label2label2label2</label>
<input type="checkbox">
<label class="horizontal-list" for="myid2">label2label2</label>
</li>
<li>
<input type="checkbox" >
<label class="vertical-list" > label4 label4 label4</label>
<input type="checkbox" >
<label class="horizontal-list" >label2</label>
</li>
</ul>
</center>
Комментарии:
1. флажки справа или слева
2. О, любой способ подходит. Мне просто нужно аккуратно расположить их независимо от длины текстовых меток. #
3. Можете ли вы разделить его так, чтобы каждый элемент списка содержал только один ввод / метку, подобную этому ?
4. Я действительно не понял, чего вы пытаетесь достичь, но имейте в виду, что вы можете присвоить идентификатор только одному элементу. Я вижу 4 элемента с идентификатором «myid2». В любом случае, если бы вы могли попытаться лучше объяснить, чего вы хотите достичь, возможно, мы сможем вам помочь
5. Спасибо, пусто. Я немного почистил код. Удален «myid2». Я бы просто хотел, чтобы флажки были выровнены как по вертикали, так и по горизонтали, независимо от длины метки. Не видел ни одного примера обоих, только вертикальный или один горизонтальный для флажков.
Ответ №1:
CSS-Таблицы
li {
margin: 5px;
display: table-row;
}
li * {
display: table-cell;
padding: 0.5em;
}
input {
background-color: blue;
position: relative;
}
.vertical-list {}
li {
list-style: none;
}
.horizontal-list {
display: inline;
}
<ul>
<li>
<input type="checkbox">
<label class="vertical-list"> label1 label1 label1</label>
<input type="checkbox">
<label class="horizontal-list" for="myid2">label2</label>
</li>
<li>
<input type="checkbox">
<label class="vertical-list">label2label2label2</label>
<input type="checkbox">
<label class="horizontal-list" for="myid2">label2label2</label>
</li>
<li>
<input type="checkbox">
<label class="vertical-list"> label4 label4 label4</label>
<input type="checkbox">
<label class="horizontal-list">label2</label>
</li>
</ul>
Комментарии:
1. Вау, спасибо, Поли. Выглядит великолепно. Как раз то, что мне было нужно. Извините, если я не был ясен заранее. Очень признателен!