在网站中,我们通常利用input标签来实现用户信息搜集。在实际操作中,不知大家是否遇到过input标签不能获得跨浏览器统一样式的问题。没有吗?小编可是遇到过喔!所以接下来小编想跟大家分享一下这个问题的具体表现以及写css时input标签的注意事项,希望对大家有所帮助!
经过实践,小编认为input标签跨浏览器样式不统一的表现主要有以下两个:
一是input标签的高度不能统一,其表现为Firefox和IE中的高度始终不能一致。
二是在IE浏览器中属性为text的input标签中的输入文字不是垂直居中显示,而是靠输入框的左上角显示。
为了探究造成这两个问题的原因,小编以GreenGaint主题搜索框的样式为准,重写了一遍代码并且以像素为单位测量了一下在没有任何样式表的情况下input标签在各个浏览器中的实际差别。
结果发现:
1.input标签在type为text时情况
在Firefox和Safari中的默认高度为22像素(包括上下边框)宽度为146像素(包括左右边框),而在IE中的默认高度为24像素,而宽度与Firefox和Safari是一样的,也是146像素。
2.input标签在type为submit时情况
在Firefox中的高度为23像素(包括阴影),宽度为75像素。在Safari中高度为21像素,宽度为73像素,在IE中高度为25像素、宽度为73像素。
基于这个结果,小编总结了几点给input标签写CSS时需要注意的事项:
1.不要给属性为text的input标签设置高度。如果你设置了高度,后果是IE浏览器输入框中的文字不能垂直居中显示。或许你觉得可以通过设置padding属性来解决问题,但在实际操作中你会发现根本没法让它在Firefox和IE中取得一致的效果。正确的解决之道是直接给input标签设置padding属性,通过内边距属性来调节input标签的高度。
2.input标签不会继承父元素的字体样式和大小,需要直接给input标签声明font-family和font-size属性。
3.给属性为text的input标签设置合适的width属性和padding属性,确保其中的文字在合适的范围内出现。尤其是使用了背景图片后,要让文字框的大小和背景图片的大小相当,这样看上去更加美观。
通过小编的介绍,相信大家对写CSS时input标签的注意事项有了一定的了解。那么在实际操作中,大家一定要学以致用喔!如果大家想学习更多CSS的知识,别忘了继续关注我们的课课家网站!