0/0做css后台属性是什么?

时间:2018-01-11 21:46:32

标签: css css3 semantic-ui

我尝试使用以下样式:

background: linear-gradient(to right,orange,orange) 0 0/0 100% no-repeat, rgba(255, 165, 0,0.1);

这是一个自定义语义主题,当我构建时,打破时编译为:

background: -webkit-gradient(linear, left top, right top, from(orange), to(orange)) 0 NaN 100% no-repeat, rgba(255, 165, 0, 0.1);

请注意 NaN

0/0在做什么? 是否有另一种方法来编码,以防止编译问题的语义自定义主题?

3 个答案:

答案 0 :(得分:4)

根据Docs on the background property,即位置/背景大小:

  

该值可能只会在之后立即包含,并以' /'分隔。角色,像这样:"中心/ 80%"。

您可以删除0/0并添加以下行:

background-size: 0;
background-position: 0;

如果有必要的话。

答案 1 :(得分:0)

0/0在CSS中无效,因为它计算为NaN,不能将零除零。在CSS“calc”和像SaSS这样的扩展中都是如此。

您需要为背景位置和背景大小声明实际值,您可以使用绝对或相对单位或使用关键字(即“右”,“左”,“中心”)来执行此操作。

另请注意:“0 0”无效,它基本上没有任何意义,因此您的图像将呈现为好像您没有声明值(左上角是默认值)。您必须使用单位指示器。

答案 2 :(得分:0)

很抱歉,目前的答案都没有回答你的问题。这是一个更简洁的细分:

问:CSS背景属性中0/0的作用是什么?
答:在使用background-position简写时,它定义了background-sizebackground的属性。

问:...注意NaN,0/0在做什么?
答:看起来您的编译器正在尝试计算0/0。在数学上你不能将零除零,所以你的编译器抛出NaN(不是数字)让你知道有错误。

问:是否有另一种方法可以对此进行编码以防止编译器问题......
答:由于您将背景位置设置为默认值,因此您可以使用关键字top rightinitial。这应该有助于避免执行任何潜在的计算,例如:

background: linear-gradient(to right,orange,orange) top right/0% 100% no-repeat rgba(255, 165, 0,0.1);