【问题标题】:Strange "initial" values in d3.jsd3.js 中奇怪的“初始”值
【发布时间】:2012-05-15 06:59:09
【问题描述】:

通过执行类似于this (d3.select(..).append("div")) 的代码,我得到具有此类样式属性的divs:

<div id="id6" 
  style="
    background-image: initial; 
    background-attachment: initial; 
    background-origin: initial; 
    background-clip: initial; 
    background-color: rgb(255, 255, 255); 
    background-position: initial initial; 
    background-repeat: initial initial; ">
5
</div>

问题:

  1. a) initial 来自哪里? b) 是否可以重新定义“默认值”?
  2. d3 在带有unnecessary values 的属性中乱扔垃圾可以吗?
  3. Chrome 说 background-position: initial initial; 和 background-repeat: initial initial; 是 Invalid property values。是d3的bug吗?我们该如何处理这个错误?

【问题讨论】:

  • 我不知道 d3 会做这样的事情。 “初始”值必须来自其他地方。产生这个的代码到底是什么?
  • @LarsKotthoff 帖子第一段有链接。

标签: javascript css background styles d3.js


【解决方案1】:

这与 D3 无关,而是与 CSS 的隐含性质有关。当您指定 CSS background property 时,您实际上是在简写指定多个属性。例如,

background: url(chess.png) gray 50% repeat fixed;

其实是简写

background-image: url(chess.png);
background-color: gray;
background-position: 50% 50%;
background-repeat: repeat;
background-attachment: fixed;

因此,当您设置样式“背景”时,您的浏览器会自动将此速记扩展为完整形式。这就是为什么你会看到所有这些额外的样式;它们代表computed values。

【讨论】:

  • 好的。如果这些东西都是浏览器做的,为什么说有些属性无效?
猜你喜欢
  • 2011-02-22
  • 1970-01-01
  • 2012-06-27
  • 1970-01-01
  • 1970-01-01
  • 2021-12-06
  • 1970-01-01
  • 2017-05-18
相关资源
最近更新 更多