我知道以前曾经问过这个问题,但我似乎无法让它正常工作。
我正在尝试垂直对齐div中的按钮和链接。按钮和链接应位于彼此垂直居中的同一行上。它适用于FireFox,但不适用于IE7或IE8。
HTML:
<div class="submitform">
<input type="submit" value="Initiate Request" />
<a href="/test2">Cancel</a>
</div>
的CSS:
.submitform a
{
padding-left: 10px;
}
.submitform
{
width: 600px;
vertical-align: middle;
padding-top: 15px;
height: 30px;
}
这就是它在IE7和8中的样子:
请注意,取消链接未在中间与按钮垂直对齐。它在FireFox中正确对齐。
这就是我想要的样子:
以下是继承的样式:
如何修复路线?
谢谢!
答案 0 :(得分:2)
您需要将CSS更改为:
.submitform {
width: 600px;
height: 30px;
}
.submitform input, .submitform a {
vertical-align: middle;
}
.submitform a {
padding-left: 10px; line-height: 30px;
}
这里的关键变化是:
vertical-align: middle
从父元素移动到子元素。line-height: 30px
应用于锚标记。padding-top: 15px
。如果你需要填充,请改为增加高度。这适用于跨浏览器并支持IE7(在IE6中未经测试)。如果文本溢出到两行,这将会中断。
答案 1 :(得分:0)
使用BREAK并填充容器而不是链接:
<div class="submitform">
<input type="submit" value="Initiate Request" />
<br /><a href="/test2">Cancel</a>
</div>
.submitform
{
width: 600px;
vertical-align: middle;
padding-top: 15px;
height: 30px;
padding-left: 10px;
}
答案 2 :(得分:0)
添加:
.submitform a
{
padding-left: 10px;
vertical-align:middle;
}
你应该对IE7 / 8好。看看:
答案 3 :(得分:0)
摩西在正确的轨道上,你需要调整input
和a
元素的行高,如图所示http://jsfiddle.net/audetwebdesign/R8jZj/
此外,请务必使用严格的doctype ,以便在IE中没有怪癖模式效果。