运行时,chrome 下按钮的大小一样了,但是 Firefox 和 IE 下尺寸又不一样了?为什么?

如题,定义了下列表单按钮:

<button class="btn">Button</button>
<input type="button" class="btn" value="Input Button">
<a href="#" class="btn">A Button</a>

样式:

.btn {    font: 14px/21px Arial;    border: 1px solid #DDD;    padding: 5px 10px;    background: #FFF;    color: blue;    text-decoration: none;
}a {    display: inline-block;
}

运行的时候,chrome 下按钮的大小一样了,但是 Firefox 和 IE 下尺寸又不一样了,有没有好的解决方法?


肥皂起泡泡
浏览 127回答 2
2回答

弑天下

这个主要是ff和opera下line-height对input['button'],button不起作用,然后还是用padding来做吧,先把line-height置为normalbutton,&nbsp;input[type="button"],&nbsp;input[type="submit"]&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;line-height:normal&nbsp;!important; }input.button,&nbsp;a.button,&nbsp;button&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;font:&nbsp;bold&nbsp;12px&nbsp;Arial,&nbsp;Helvetica,&nbsp;sans-serif;&nbsp;&nbsp;&nbsp;&nbsp;padding:&nbsp;5px&nbsp;8px; }至于一些微小的细节可以使用hack去调整,这样一来,还有个mac chrome下input submit样式的问题还有,貌似IE7下,按钮的长度会比较长,我是用overflow解决的:overflow:visible

莫回无

chrome和firefox会认为type为button的按钮为border-box盒模型,当然IE也是,但是a却以正常的content box盒模型渲染,所以,为了渲染一致,你需要将button声明为content-box。火狐按钮button的宽度,padding置为0是不顶用的,需要使用私有属性,.btn&nbsp;input,&nbsp;.btn&nbsp;button&nbsp;{&nbsp;-moz-padding-start:npx;&nbsp;-moz-padding-end:npx;&nbsp;}另外,IE9的button宽度在字数超过八九个汉字的时候带有小数点,这个你得测测,一般按钮宽度不会超过这么多的字数。
打开App,查看更多内容
随时随地看视频慕课网APP