我有三个不同字体大小的 ,它们包含在div
不同的浮点数中。
我尝试通过调整spans
来正确对齐这些line-height
,但对我来说这似乎有点不好意思,因为最后一个浮动span
使用此方法溢出容器。
我试图在没有运气的情况下使用vertical-align
。
那么干净的方式可以在不进行黑客攻击的情况下进行对齐(如果可能的话)?
以下是jsFiddle,以下是代码:
<div class="comTitle">
<span class="comUserName">admin</span>
<span class="comUserRank"> - Animator</span>
<span class="timeCreated">The 13/03/13 at 16:49</span>
</div>
.comTitle {
font-family: 'Open Sans', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
/*line-height:22px;*/
}
.comUserName {
font-weight: bold;
font-size: 16px;
color: #444;
font-variant: small-caps;
clear:left;
}
.comUserRank {
font-size: 12px;
font-style: italic;
color: grey;
clear:left;
}
.timeCreated {
font-style: italic;
font-size: 12px;
color: #444;
float: right;
/*vertical-align:baseline;*/
/*line-height:26px;*/
}
[编辑] 我知道如何处理position
属性,我可以将其与之对齐:
.timeCreated {
...
float:right;
position: relative;
right: 0px;
bottom: -4px;
}
或绝对定位,但我想知道是否有可能将最后一个跨度与包装器的基线(而不是顶部)对齐,而不改变元素的流动?
答案 0 :(得分:3)
在padding-top
范围内添加一些.timeCreated
空格 - 字体大小的差异(4px)
.timeCreated {
font-style: italic;
font-size: 12px;
color: #444;
float: right;
padding-top: 4px;
}
答案 1 :(得分:2)
我不知道这有多干净但它有效,我只是给它一些定位。 jsFiddle
.comTitle {
font-family:'Open Sans', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
/*line-height:22px;*/
position:relative;
}
.comUserName {
font-weight: bold;
font-size: 16px;
color: #444;
font-variant: small-caps;
clear:left;
}
.comUserRank {
font-size: 12px;
font-style: italic;
color: grey;
clear:left;
}
.timeCreated {
font-style: italic;
font-size: 12px;
color: #444;
position:absolute;
bottom:0px;
right:0px;
}