IE10字体大小偏差1px。怎么修?

时间:2014-01-19 14:51:43

标签: html css internet-explorer

因为它只是1px,我无法判断它是否是按钮旁边的文本框或按钮本身。所以我打算截取屏幕并用测量工具看一下。从那里我将看看firefox调试器和即调试器,以查看1px关闭的内容。

然而,我希望有人可能知道导致这种情况的原因。

这是ie(28 px)

中的违规元素

enter image description here

这是在FF,Chrome等中正确显示的位置(27像素)

enter image description here

http://www.arcmarks.com

这是按钮的CSS:

#ue_but_new{
  position: absolute;
  padding:  8px 6px 7px 6px;
  text-decoration:  none;
  cursor:  pointer;
}

p.small_white{
  font-size:    10px;
  color:        #ffffff;
}

.blue_but{
  color:       #ffffff;
  border:      1px solid #057ed0;
  background:  -moz-linear-gradient(top, #31baed, #019ad2);
}

3 个答案:

答案 0 :(得分:1)

如果您根据文字大小确定元素大小,则在不同浏览器,不同系统,不同设置等之间总是会有所不同。

在元素上设置特定的行高,而不是从文本高度填充:

#ue_but_new{
  position: absolute;
  line-height: 25px;
  padding: 0 6px;
  text-decoration: none;
  cursor: pointer;
}

答案 1 :(得分:0)

您可以尝试在输入和输入上应用边框。按钮包装器,然后设置overflow:hidden。 这样,即使它被一个像素关闭,它也不可见。

在HTML中:

<div>
  <input type="" />
  <button></button>
</div>

在CSS(粗略)中:

div {
  border:1px solid #ccc;
  border-radius:3px;
  background:#fff;
  overflow:hidden;
}
input {
  border:0;
  background:transparent;
}
button {
  background:blue;
}
div, input, button { height:22px; }

答案 2 :(得分:0)

首选将line-height属性设置为垂直居中单行文本,而不是使用padding-bottompadding-top

根据您的情况font-size: 10px + padding-top: 8px + padding-bottom: 7px = line-height: 25px

#ue_but_new {
    position: absolute;
    padding:  0 6px;
    line-height: 25px;
    text-decoration:  none;
    cursor:  pointer;
}