d3.js中的奇怪"初始"值

aka*_*Rem 3 javascript css styles background d3.js

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

<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>
Run Code Online (Sandbox Code Playgroud)

问题:

  1. a)initial来自哪里?b)是否有可能重新定义"默认值"?
  2. d3在属性中是否有不必要的值
  3. Chrome说的是,background-position: initial initial;而且 background-repeat: initial initial;Invalid property value.这是d3的错误吗?我们如何处理这个错误?

mbo*_*ock 5

这与D3无关,但具有CSS的隐含性质.指定CSS 背景属性时,实际上是以速记方式指定多个属性.例如,

background: url(chess.png) gray 50% repeat fixed;
Run Code Online (Sandbox Code Playgroud)

实际上是简写

background-image: url(chess.png);
background-color: gray;
background-position: 50% 50%;
background-repeat: repeat;
background-attachment: fixed;
Run Code Online (Sandbox Code Playgroud)

因此,当您将样式设置为"背景"时,浏览器会自动将此简写扩展为完整表单.这就是为什么你会看到所有这些额外的风格; 它们代表计算值.

  • 好.如果所有这些内容都与浏览器匹配,为什么它说某些属性无效? (2认同)