select的最佳预设(reset)网页设计 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

    我们知道select标签在各个浏览器中的属性和各浏览器的支持各有些不同,从而造成select选择框在各浏览器的显示有不同,下面我们通过对主要 外形CSS属性的支持,打造全兼容select,

select的最佳预设(reset)网页设计

    我对select的height、padding、line-height分别利用控制变量的方法写了个DEMO在各浏览器上测试三种情况:height.100.padding.0、height.no.padding.100、no.height.no.padding,结果如 链接图片各浏览器DEMO外观

   

    我们可以得出以下研究属性。

   

    ie6

    ie7

    ie8

    ie9

    ff

    ch

    sf

    op

    默认高度

    22px

    22px

    19px

    20px

    19px

    19px

    height

    F

    T

    T

    T

    T

    T

    F

    T

    padding

    F

    F

    T

    T

    T

    T

    F

    T

    line-height

    F

    F

    F

    F

    F

    F

    T

    F

    文字垂直居中

    T

    T

    T

    F

    F

    T

    T

    T

    通过上述的研究成果属性汇总,我们知道IE6是无论如何设置都是固定高度为22px不变的,而其他浏览器除safari都是支持height属性的,那么我们设置 height:22px。那么现在我们修正一下safari浏览器,,我们发现仅有safari支持line-height属性那么正好可以利用line-height修正其高度为22px,在font-size为12px的前提下设置 line-height:22px,最后FF和IE9里面的文字不居中,对其设定 padding:2px 0,我们发现FF和IE9都居中了,但是各个浏览器的select的高度也并没有增加,那么这里有点疑问,在高度设定的情况下,小量数字的padding不增加整体高度?

    下面是全兼容代码示例。

<span><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"></span><span><html</span><span>xmlns</span>=<span>"http://www.w3.org/1999/xhtml"</span><span>></span><span><head</span><span>></span><span><meta</span><span>http-equiv</span>=<span>"Content-Type"</span><span>content</span>=<span>"text/html; charset=utf-8"</span><span>/></span><span><title</span><span>></span>demo<span></title</span><span>></span><span><style</span><span>></span>*{padding:0; margin:0}body{font-size:12px}select{height:22px; line-height:18px; padding:2px 0}<span></style</span><span>></span><span></head</span><span>></span><span><body</span><span>></span><span><div</span><span>style</span>=<span>"margin-top:20px; margin-left:20px; background:#000"</span><span>></span><span><select</span><span>></span><span><option</span><span>></span>演示问题一<span></option</span><span>></span><span><option</span><span>></span>演示问题二<span></option</span><span>></span><span><option</span><span>></span>演示问题三<span></option</span><span>></span><span><option</span><span>></span>演示问题四<span></option</span><span>></span><span><option</span><span>></span>演示问题五<span></option</span><span>></span><span></select</span><span>></span><span></div</span><span>></span><span></body</span><span>></span><span></html</span><span>></span>

最新文章