我有一个复选框网格,每个单元格都有一个固定的宽度,每个复选框前面都有一个小图像.如果标签文本太长,我很难将文本包装在复选框下面.
参考上面的屏幕截图,我希望"文本包装"与复选框对齐,而不是包裹在图像下方,如下所示:
我用我当前的标记和样式设置了一个小提琴.我无法改变的是HTML结构,但任何CSS更改都可以.
这是一段代码:
.checkbox-list {
}
img.placeholder{
width:16px;
height:16px;
background-color:lightblue;
}
td {
padding:2px;
width:150px;
vertical-align:top;
}
label {
/*display:inline-block;*/
}
Run Code Online (Sandbox Code Playgroud)
<table class="checkbox-list">
<tbody><tr>
<td>
<img class="placeholder"/>
<label>
<input type="checkbox"/>
<span>Some really long text that wraps</span></label></td>
<td>
<img class="placeholder"/>
<label>
<input type="checkbox"/>
<span>Foo</span></label></td>
<td>
<img class="placeholder"/>
<label>
<input type="checkbox"/>
<span>Foo</span></label></td>
</tr><tr>
<td>
<img class="placeholder"/>
<label>
<input type="checkbox"/>
<span>Foo</span></label></td>
<td>
<img class="placeholder"/>
<label>
<input type="checkbox"/>
<span>Foo</span></label></td>
<td>
<img class="placeholder"/>
<label>
<input type="checkbox"/>
<span>Foo</span></label></td>
</tr>
</tbody></table>
Run Code Online (Sandbox Code Playgroud)
您只需将a margin-bottom
应用于图像即可float: left
:
img.placeholder{
width:16px;
height:16px;
background-color:lightblue;
margin-bottom: 1em;
float: left;
}
Run Code Online (Sandbox Code Playgroud)
display: block;
和margin-left: 18px;
对label
元素,浮动.placeholder
元素:
img.placeholder{
width:16px;
height:16px;
background-color:lightblue;
float: left;
}
label {
display: block;
margin-left: 18px;
}
Run Code Online (Sandbox Code Playgroud)
浮动图像可以防止在label
新行上开始,左边的边距label
是图像的宽度,还有一个小的2px"阴沟",可以在视觉上分离图像和复选框(显然可以调整味道).
归档时间: |
|
查看次数: |
15699 次 |
最近记录: |