您的位置:首页 > 其它

__qem的提出到底是为什么?

2013-05-06 22:45 169 查看
hax在微博中提出,chrome的边距是多少?

__qem是什么?

0__qem==2 等于0 px吗?等于0px(一种情况)

为什么0__qem == 2px?看webkit源码。。

为什么要引用__qem呢?这个问题就引入了一个wtf问题,而这个问题就是解决怪异情况下的解决办法

什么又是quirks mode??就像课本中讲的,quirks mode和标准mode下的种种不同吗?其实,怪异模式英语quirks
mode
)是指在计算机领域中,一些网页浏览器为了维持对较旧的网页设计的向后兼容性,而使用的一种技术,有别于严格遵循万维网联盟(W3C)与互联网工程任务组(IETF)标准而设计的“标准模式”。http://zh.wikipedia.org/wiki/怪异模式

可以说没有怪异模式,就没有标准模式,而怪异模式现在仍然有需求,依然需要考虑这个问题,如果问题摆在了你面前,你可以解决

也试了试

select{

margin: .67__qem 0 .67em 0;

}

发现这个__qem是极其不稳定的单位,当出现上面的情况时上边距是2px,而下边距几乎达到了9px,可想而知这两个单位不是相对于同一标准进行计算的,但是在chrome的文档中却说,__qem是在怪异模式下来替代em的,我认为不是很准确?另外,如果写成:

select{

margin: .67__qem 0 .67__qem 0;

}/*和*/

select{

margin: .67__qem 0 0 .67__qem 0;

}

效果还是不一样。0__qem==2px 应该是对的;但也是不对的,对和不对是因为上面两种写法原因导致的。我想问问为什么一定要使用令人烦心的__qem呢?要我我会选择rem,我认为“超越css”里面说的很好,高级浏览器就该有高级的方法,我知道我的这个办法不利于兼容性,管他呢?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: