【问题标题】:Can't get css property of 'content' in Safari 4无法在 Safari 4 中获取“内容”的 css 属性
【发布时间】:2010-10-22 05:51:56
【问题描述】:

我很难弄清楚为什么 Firefox3.1 在测试元素上返回 'content' 的值,而 Safari 4 不会。

我的示例页面设置如下:

<style>
#asd{
content: 'test';
}
</style>

<div id="asd">
Bleh
</div>

我的 JS 正在使用 getComputedStyle。这适用于“背景颜色”等其他属性,但不适用于“内容”:

if( window.getComputedStyle ){
    var thestyle = window.getComputedStyle( document.getElementById('asd'), '');
    alert( thestyle.getPropertyValue('content') );
}

Safari 对伪元素选择器 :before 和 :after 的限制是否更严格?我用 :after 测试过,也失败了,而 FF 成功返回数据。

【问题讨论】:

    标签: css safari css-content


    【解决方案1】:

    Safari 仅支持 :before 和 :after 伪元素的 content 属性。

    【讨论】:

      【解决方案2】:

      看看这条线,它可能会解决你所有的问题:

      <div id="#asd">
      

      不应该是这样的:

      <div id="asd">
      

      我猜这是一个简单的错误,但为了澄清,您不需要(不应该)在元素 ID 的名称中包含 #。

      另外我猜测 Firefox 忽略了这个问题,只是补偿了它,而 safari 可能在代码的实现上更严格,所以它不会补偿。

      【讨论】:

      • 对不起,这只是一个错字,因为我在这里填写了关于 SO 的帖子。 # 实际上不在我正在处理的测试页面中。
      猜你喜欢
      • 1970-01-01
      • 2015-11-30
      • 2013-12-11
      • 1970-01-01
      • 2019-11-11
      • 1970-01-01
      • 2021-01-14
      • 1970-01-01
      • 2013-10-11
      相关资源
      最近更新 更多