按钮文本在IE 10中没有垂直对齐

时间:2013-08-31 09:54:34

标签: html css button

我有一个带文字的按钮,文本似乎没有在按钮内垂直对齐。这只发生在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 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

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

你的行高看起来太高了。如果你的身高是50px,你的填充是10px(顶部和底部),那么你的行高应该是30,依此类推

答案 3 :(得分:0)

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

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>


<h1> Calculator Application </h1>

<div ng-app="myMdl" ng-controller="myCtrl1 as $ctrl">
    <br>
    Select Operator:
    <ul>
     <input ng-repeat-start="op in ['+', '-', '*', '/'] track by $index" type="radio" ng-model="$ctrl.Mdloperator" name="operator" ng-value="op" />  {{::op}} <br ng-repeat-end/>
    </ul>               
    Enter Value's: 
    <ul>
        <input type="number" ng-model="$ctrl.Number1"  /> <br>
        <input type="number" ng-model="$ctrl.Number2" /> <br>
    </ul>
    Result: <br>
    <ul>
        <input type="number" value="{{$ctrl.getValue($ctrl.Number1 + $ctrl.Mdloperator + $ctrl.Number2)}}" placeholder="Result"/>
    </ul>
</div>