我有类似的代码:
<p><strong>Name: </strong>Vicky</p>
<p><strong>Surname: </strong>ONeill</p>
<p><strong>Age: </strong></p>
我希望它显示为:
Name: Vicky
Surname: ONeill
Age: 24
所以它看起来更“优雅”并且有序。有没有办法在CSS中执行此操作?
答案 0 :(得分:1)
strong {
display:inline-block;
min-width:12em;
text-align:right;
}
然而,这个标记并不是真正意义上的这种数据 - 键/值对的列表几乎不是“段落”。考虑切换到数据列表(<dl>
,example here),其结构本身更容易在CSS中进行布局。
答案 1 :(得分:1)
由于滥用,穷人<table>
受到了不公平的侮辱。您的示例非常适合用于<table>
,此示例包含表格标题的scope attribute:
table {
border-collapse: collapse;
}
th {
text-align: right;
font-weight: normal;
}
th,
td {
padding: 5px;
border-bottom: solid 1px #000;
}
<table>
<tr>
<th scope="row">Name:</th>
<td>Vicky</td>
</tr>
<tr>
<th scope="row">Surname:</th>
<td>ONeill</td>
</tr>
<tr>
<th scope="row">Age:</th>
<td>24</td>
</tr>
</table>
如果您必须使用<dl>
选项,请为父级提供宽度和子元素width: 50%
。 box-sizing: border-box
使用宽度计算填充。而不是<hr>
使用底部边框。
* {
box-sizing: border-box;
}
dl {
width: 200px;
}
dt {
float: left;
clear: left;
width: 50%;
text-align: right;
padding-right: 10px;
border-bottom: solid 1px #000;
padding: 5px;
}
dd {
margin: 0;
float: left;
border-bottom: solid 1px #000;
padding: 5px;
width: 50%;
}
<dl>
<dt>Name:</dt>
<dd>Vicky</dd>
<dt>Surname:</dt>
<dd>ONeill</dd>
<dt>Age:</dt>
<dd>24</dd>
</dl>