当前位置:  开发笔记 > 编程语言 > 正文

检测浏览器支持显示:内联块

如何解决《检测浏览器支持显示:内联块》经验,为你挑选了2个好方法。

如何检测浏览器是否支持CSS属性显示:inline-block?



1> Christopher ..:

好吧,如果你想通过检查浏览器的bavhiour w/javascript而不是用户代理嗅探,你可以去做什么:

设置测试场景和控制场景.比方说,有以下结构:

DIV

div w/content"test"

div w/content"test2"

将一个副本插入到文档中,并将两个内部div设置为inline-block,并将另一个副本插入到文档中,并将两个内部div设置为block.如果浏览器支持内联块,则包含的div将具有不同的高度.

替代答案:

您还可以使用getComputedStyle来查看浏览器如何处理给定元素的css.因此,理论上,您可以添加一个带有"display:inline-block"的元素,然后检查computedStyle以查看它是否存活.唯一的问题:IE不支持getComputedStyle.相反,它有currentStyle.我不知道currentStyle是否具有相同的功能(可能它的功能类似于我们想要的行为:忽略"无效"值).



2> Brant Bobby..:

根据QuirksMode图表,唯一不支持的主流浏览器inline-block是IE6和7.(嗯,他们支持它,但仅适用于具有本机display类型的元素inline.)我只是假设它受支持然后应用解决方法IE6/7通过条件评论.

(注意:我忽略了Firefox 2缺乏支持inline-block并假设绝大多数用户已经升级到FF3,但是简短的谷歌搜索没有发现任何数据来支持这一点.YMMV.)

如果确定来自JavaScript的支持是您唯一的选择,那么您将不得不回到用户代理嗅探.来自YUI库的YAHOO.env.ua类是一个方便的代码块,您可以复制和使用它.(它的BSD许可,不依赖于YUI库的其他部分,只有大约25-30行没有注释)

推荐阅读
落单鸟人
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有