我有一些span标签,我用它来设置一些标题和一些文字在同一行上。
但是我想在奖励类中设置文本的样式,以便在最长的sub_heading(即12个字符的日期奖励)之后排列。是否有javascript库或css技巧来执行此操作?
<span class="sub_heading">Award<span class="award">Award Name</span></span>
<span class="sub_heading">Date Awarded<span class="award">2009</span></span>
最终会:
奖励: ..............奖项名称(明显没有期限)。
获奖日期: 2009
答案 0 :(得分:0)
在我看来,最好的办法是更改标记,你可以通过多种方式做到这一点,这是一个例子:
使用表格的示例
<table style="width:100%">
<tr>
<td>Award</td>
<td>Award name</td>
</tr>
<tr>
<td>Date awarded</td>
<td>2000</td>
</tr>
</table>
答案 1 :(得分:0)
如果稍微更改标记,可以使用display: table
来达到此效果。
#wrapper {
display: table;
}
.row {
display: table-row;
}
span {
display: table-cell;
}
.award {
text-align: right;
}
<div id="wrapper">
<div class="row"><span class="sub_heading">Award</span><span class="award">Award Name</span></div>
<div class="row"><span class="sub_heading">Date Awarded</span><span class="award">2009</span></div>
</div>
答案 2 :(得分:0)
您可以使用css或table来设置布局。我认为这是一种更简单的方法,并且具有更好的性能。但是我也想用javascript为你提供另一种方式,你可以找出哪种方式适合你的情况。以下是工作示例:https://jsfiddle.net/b8063z7c/ 主要代码是:
(function() {
var maxWidth = 0;
$.each($(".sub_heading"), function() {
maxWidth = Math.max(maxWidth, $(this).width());
})
$.each($(".sub_heading"), function() {
$(this).css("padding-right", maxWidth - $(this).width());
})
})();
希望这会有所帮助。