时间:2021-05-08
这段时间在处理网页默认的input 按钮时,IE下常显现不一致的宽度问题,让人感到很纠结。所以今天请教了几位高手把这个问题解决了,现在贴出来和大家共享一下,当然这个方法在网上曾有人写过,大家可以一起来相互探讨一下。
Html Code:
复制代码代码如下:
<input type="submit“; class="form-submit" value="subscribe" name="op" id="edit-submit" / >
我先在这里贴出一段初始的CSS样式
CSS Code:
复制代码代码如下:
input.form-submit {
border-radius: 3px;//FF下的实现圆角
-webkit-border-radius: 3px;//Safari,Chrome下实现圆角
border: 1px solid #469021;
background: #64A246;
color: #fff;
font:bold 11px arial,sans-serif;
padding: 0.25em 0.5em;
text-transform: uppercase;
}
我看先来看看效果图吧:
从上图中我们明显可以看出,只有在Firefox下显示才是正常,在IE7和IE下没有圆角效果,这个都是众所周知,但IE7具有一个致命的问题,就是宽度变长了,大家一定会感到奇怪,我们没有定宽度的呀,怎么会这样呢?呆会我们会引用别人的说法了说明这个问题;另外就是Safari和Chrome下高度怎么也不行的呀。
就是因为这样的问题,我纠结了一个下午,但在高人的指点下,还是找到了相关的解决办法,现在我们一起来看看高人是如何解决这样的兼容问题。在IE7下会随着文字的增加导致文本距离按钮左右两侧的间距越来越大,这样就导致了上图中所看到的效果,但该问题存在于IE6/IE7,FF、IE8以及Opera 10没发现类似问题。对于另一情况,小生至今还没有弄明白为什么在Safari和Chrome下会出现高度问题,还希望各位前辈和高手指点。
针对前面的Bug,我对我的CSS稍加做了修改,如下:
复制代码代码如下:
input.form-submit {
-webkit-border-radius: 3px;
border-radius: 3px;
border: 1px solid #469021;
background: #64A246;
color: #fff;
font:bold 11px arial,sans-serif;
padding: 0.25em 0.5em;
text-transform: uppercase;
height: 27px;
line-height: 19px;
margin: 0;
overflow: visible;
width: auto;
*width: 1;
}
也就是我在以前的基础上增加了以下几行代码
复制代码代码如下:
input.form-submit {
height: 27px;//设置行高是为了解决Safari和Chrome下的高度问题
line-height: 19px;//让文字居中显示
margin: 0;
overflow: visible;//只有设置这个属性IE下padding才能生效
width: auto;//现代浏览器下识别
*width: 1;//IE7和IE6识别,设置值为1,我也不知道有何作用,但有些人此处设置值为0
}
这样我们就把那个头痛的问题解决了,大家可以一起看看修改后的效果:
这里提醒大家,对于字居中的问题,不仅受行高影响,而且还受其字体,字号的影响,大家感兴趣的可以尝试一下。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
以ie浏览器为例,其兼容模式又被称为网页兼容模式或网站兼容模式,指网页在各种浏览器上的显示效果可能不一致而产生浏览器和网页间的兼容问题(比如用户名、密码无法输入
按钮标签在,或input元素上使用按钮class。但是为了避免跨浏览器的不一致性,建议使用标签。Bootstrap模板链接按钮感觉link标签的不怎么明显,但是
IE8下CSS背景background与高度height不一致导致错位的解决方式IE6下,div的height一般默认为auto是看不出问题的。IE8下如果di
如果很多商品的说明不一致怎么办?商品说明不一致可能是业者们经常遇到的。今天我们以很多为例,谈谈商品说明不一致该怎么办一、拼音多的商品说明不一致的.1、标志类说明
input输入框中的光标大小显示不一致ie7中和chrome的非常明显先看看问题产生的原因:chrome浏览器对光标高度的设置原则为,当没有内容的时候光标的高度