【问题标题】:How can I normalize units from CSSStyleDeclaration object?如何标准化 CSSStyleDeclaration 对象中的单位?
【发布时间】:2011-12-21 09:02:29
【问题描述】:

我正在处理一个转换元素左侧 CSS 属性的项目,该属性被定义为百分比(例如 100% 到 0%)。我在 Chrome 中进行开发,它给了我 leftstyle 值作为百分比,这 以我想要的方式工作,直到我在另一个浏览器中尝试它(实际上是任何其他浏览器)。我设置了这个简单的fiddle 来演示。通常,大多数值在报告之前都会转换为像素,而不是 chrome。 这个问题的第二部分是;有没有办法让其他浏览器按照最初设置的方式报告样式属性? (例如 px、%、em、in 等)没有丑陋的转换?如果没有,还有其他合理的解决方法吗?谢谢。

【问题讨论】:

    标签: javascript jquery css google-chrome


    【解决方案1】:

    这显然是 chrome 中的 bug。否则,除 IE 外,所有其他样式和浏览器都应将所有内容转换为像素。 IE 将所有内容保留在自己的单元中,但也在 IE9 之前的浏览器中使用专有方法。 Here's a page I found that talks about that and shows how to convert IE to px.

    【讨论】:

    • 很高兴知道这个错误。关于如何标准化单位和解决方法的任何想法?至于IE9,只有lineHeight出现在不同的单元中。谢谢。
    • @bodine 我并没有真正找到解决方法。第二个链接有一些关于 IE 解决方法的信息。话虽如此,我的想法是你会想要检查一个单元的样式并根据 100% 的已知元素将其转换为像素。因此,要将 left:5% 转换为像素,找出 100% 宽度的像素并取其中的 5%。这不像你问的那么简单,但我暂时能想到的。
    猜你喜欢
    • 2013-05-18
    • 1970-01-01
    • 2021-09-29
    • 2014-12-31
    • 2018-06-08
    • 2015-08-25
    • 1970-01-01
    相关资源
    最近更新 更多