我应该在样式表中使用下列哪个?

/* Example #1: */ background-image: url(image.png);
/* Example #2: */ background-image: url("image.png");
/* Example #3: */ background-image: url('image.png');

W3C将什么指定为正确的方式?


当前回答

例子2或3是最好的:

W3C: URI值的格式是'url('后跟可选空格,后跟可选单引号(')或双引号(")字符,后跟URI本身,后跟可选单引号(')或双引号(")字符,后跟可选空格,后跟')'。两个引号字符必须相同。

从同样的解释中注意到,如果有适当的字符转义,例1是可以接受的。

其他回答

根据谷歌CSS编码风格

不要在URI值中使用引号(url())。 例外:如果你确实需要使用@charset规则,使用双引号-单引号是不允许的。

我有:

a.pic{
    background-image: url(images/img (1).jpg);
}

我花了一段时间才明白,内文件名的右括号违反了规则。

因此,它不是强制性的,但是,即使旧的浏览器不能很好地理解引号,它也可以在相当复杂的动态生成页面中为您省去一些麻烦。

根据W3C的规定,有三种方法是合法的。如果名称中有特殊字符(如空格),则应该使用第二个或第三个字符。

W3C说引号是可选的,你的三种方式都是合法的。

开头和结尾的引号只需要是相同的字符。

如果你的URL中有特殊字符,你应该使用引号或转义字符(见下文)。

语法和基本数据类型

URI值的格式是'url('后跟可选空格,后跟可选单引号(')或双引号(")字符,后跟URI本身,后跟可选单引号(')或双引号(")字符,后跟可选空格,后跟')'。两个引号字符必须相同。

转义特殊字符:

一些出现在非引号URI中的字符,如圆括号、空格字符、单引号(')和双引号("),必须用反斜杠转义,这样得到的URI值就是一个URI令牌:'\(','\)'。

例子2或3是最好的:

W3C: URI值的格式是'url('后跟可选空格,后跟可选单引号(')或双引号(")字符,后跟URI本身,后跟可选单引号(')或双引号(")字符,后跟可选空格,后跟')'。两个引号字符必须相同。

从同样的解释中注意到,如果有适当的字符转义,例1是可以接受的。