这是我的代码(请参阅小提琴here):
<h2>Icecream<a href='#' class='btn pull-right'><i class='icon-star'></i> Follow</a></h2>
问题(如红色背景所示)是pull-right
按钮太高。如何让按钮与h2
处于同一高度?
答案 0 :(得分:1)
我不完全确定你的意思,但是我把它添加到了css块中,如果有帮助的话,它会将按钮按下到H1的中心:
.pull-right {
margin-top: 5px;
}
我建议您将h1和按钮分开放在div中。最好尽可能将元素的对齐分开。
答案 1 :(得分:-1)
.btn.pull-right {
position:relative;
top:5px;
}
答案 2 :(得分:-2)
如果您处于无法修改标记的情况,Flexbox可以执行此操作。我已经为所有应该能够执行此操作的浏览器添加了前缀(遵循2009规范的FF版本无法执行此操作,因为它们不会在文本周围插入匿名弹性项目框)。你可以随意为不能使用flexbox的浏览器保留浮动。
h2 {
background-color: red;
display: -webkit-flexbox;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-flex-pack: justify;
-ms-flex-pack: justify;
-webkit-justify-content: space-between;
justify-content: space-between;
-webkit-flex-align: center;
-ms-flex-align: center;
-webkit-align-items: center;
align-items: center;
}
h2 a.btn.pull-right {
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
}
http://caniuse.com/#search=flexbox
如果你愿意修改标记,使用table / table-cell也可以,但是你需要摆脱浮动。
h2 {
background-color: red;
display: table;
width: 100%;
}
h2 .cell {
display: table-cell;
vertical-align: middle;
}
h2 .cell:last-child {
text-align: right;
line-height: 1;
}
<h2><span class="cell">Icecream</span> <span class="cell"><a href='#' class='btn'><i class='icon-star'></i> Follow</a></span></h2>