3

我有一个带有文本的按钮,文本似乎没有在按钮内垂直对齐。这只发生在 IE 10 上。Chrome 是完美的。

HTML

<input type="text" id="postcode" name="Postcode" class="input" placeholder="enter your postcode..." maxlength="8" size="10"><button class="button" type="submit" id="postcode">FIND DEALS</button>

CSS

.banner-input button{
    background: #0072bc;
    font-family: "Myriad Pro", 'Open Sans', sans-serif;
    font-size: 15px;
    font-weight: 600;
    width: 108px;
    height: 54px;
    margin: 0 0 0 10px;
    border: 1px solid #00548a;
    -webkit-box-shadow: rgba(0,0,0,0.5) 0px 1px 0px,#2888c7 0px 1px 0px inset;
    -moz-box-shadow: rgba(0,0,0,0.5) 0px 1px 0px,#2888c7 0px 1px 0px inset;
    box-shadow: rgba(0,0,0,0.5) 0px 1px 0px,#2888c7 0px 1px 0px inset;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    background: #005f9c;
    filter: progid:DXImageTransform.Microsoft.gradient(gradientType=0, startColorstr='#FF0072BC', endColorstr='#FF005F9C');
    background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f7b814), color-stop(100%, #ff9100));
    background-image: -webkit-linear-gradient(top, #0072bc 0%, #005f9c 100%);
    background-image: -moz-linear-gradient(top, #0072bc 0%, #005f9c 100%);
    background-image: -o-linear-gradient(top, #0072bc 0%, #005f9c 100%);
    background-image: linear-gradient(top, #0072bc 0%, #005f9c 100%);
    color: #fff;
    line-height: 40px;
    vertical-align: middle;
}

我尝试了各种行高和填充。似乎没有任何效果。:(

4

4 回答 4

2

尝试设置 line-height = height -->line-height: 54px;

于 2013-08-31T10:02:57.757 回答
2

我已经解决了。这是我使用的字体。

与 Chrome 和 Firefox 相比,Myriad Pro 在 IE 上看起来也有很大不同。我将其更改为 Open Sans,现在文本在所有三个上都正确对齐。

于 2013-08-31T11:49:45.340 回答
0

你在哪里为你的按钮设置填充?我在你的css中没有看到。

你的 line-height 似乎太高了。如果你的高度是 50px 并且你的 padding 是 10px(顶部和底部)那么你的 line-height 应该是 30 等等

于 2013-08-31T10:13:07.560 回答
0

如果您无法更改字体(特定于客户端的设计),您可以放置​​一个检测器来检测浏览器的版本、操作系统甚至设备的种类。之后,您可以直接定位该元素。这是 Sass 中用于按钮的示例。

.ie { .btn-something { padding-top: 15px; } }
于 2017-11-21T15:27:11.180 回答