javascript – 为什么浏览器会替换通过css分配的宽度值?

前端之家收集整理的这篇文章主要介绍了javascript – 为什么浏览器会替换通过css分配的宽度值?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

当我为所有选择分配基本样式时,例如.@H_404_2@

@H_404_2@

width: 300px;
padding: 0;
margin: 0;
border-width: 1px;
@H_403_7@

在不同情况下通过javascript检索宽度时,我得到意想不到的结果.@H_404_2@

>当选择可见时,with为298px.
>当select为display:none时,宽度也是298px(ff,
jQuery的)
>当select处于div中且display:none时,宽度是正确的
300像素.@H_404_2@

(结果也是相同的分配:Box-sizing:border-Box)@H_404_2@

好吧,检索到的宽度有时会与使用的浏览器和javascript框架不同,但总而言之,我只是希望能够检索指定的宽度(300px).
(我想它必须与这里所说的“正式怪异”有关:http://meyerweb.com/eric/thoughts/2007/05/15/formal-weirdness/,但为什么浏览器不会使用用户分配的宽度?)@H_404_2@

如何检索指定的宽度?有没有办法做到这一点?@H_404_2@

例子:@H_404_2@

http://jsfiddle.net/ETCcH/5/(用于使用jquery,或者使用mootools将4替换为4)@H_404_2@

(查看并尝试使用不同的浏览器)@H_404_2@

最佳答案
你永远不会得到写在css文件中的值.使用JavaScript,您只能通过Web浏览器获取当前应用于该元素的css属性.@H_404_2@

在你的情况下,如果宽度确实是固定的,你可以“强制”它最大宽度设置为300px或添加溢出:隐藏 – 如果这是一个选项.@H_404_2@

原文链接:https://www.f2er.com/css/427107.html

猜你在找的CSS相关文章