如果我有一个内联样式表,我可以而且我想-出于某种奇怪的原因-使用相同的引号,你用来封装属性值在我的html代码内的css。
其中一个是正确的吗?
<div style="background: url(\"http://my-url.com/img.jpg\")"></div>
<div style="background: url("http://my-url.com/img.jpg")"></div>
我认为第一个是正确的,第二个是无稽之谈。我说的对不对,为什么?
编辑:
一个同事用第二种方式写的,问题是一些浏览器(包括但不一定限于internet explorer 6+7+8)请求的URL包括“导致404请求的标志”。
编辑2:
好吧,现在真的变得很奇怪。这是从我们的文件复制粘贴的原始代码。
<div class="cover" style="background-image: url("http://www.flimmit.com/media/search/filmcovers/105x152/ka/false/kf/false/F7780E.jpg");">
这是直接从我们的错误日志:
13:09:45 (0.2424) [header] requ_uri /schauspieler/Kelly+Trump/"http:/www.flimmit.com/media/search/filmcovers/105x152/ka/false/kf/false/F6TYO8.jpg"
Mar 18 13:09:45 (0.0001) [header] server_addr 10.48.195.172
Mar 18 13:09:45 (0.0001) [header] http_user_agent Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; GTB6.6; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; eSobiSubscriber 2.0.4.16; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; AskTbFF/5.9.1.14019)
Mar 18 13:09:45 (0.0001) [error] 404-Seite wurde aufgerufen
Mar 18 13:09:45 (0.0386) [header] remote_ip 212.95.7.69 - AT
Mar 18 13:09:45 (0.0001) [header] visitor_id 4095543, -
Mar 18 13:09:45 (0.0001) [header] requ_url http://www.flimmit.com/schauspieler/Kelly+Trump/"http:/www.flimmit.com/media/search/filmcovers/105x152/ka/false/kf/false/F6TYO8.jpg"
Mar 18 13:09:45 (0.0001) [header] http_referer http://www.flimmit.com/schauspieler/Kelly+Trump/
Mar 18 13:09:45 (0.0000) [header] finished at 0.2816
这是IE8客户端。在IE6上,请求URI中甚至有"
而不是"
。
所以,要么我们都错了,要么internet explorer不尊重任何标准?
4条答案
按热度按时间qvtsj1bj1#
使用单引号,我认为它应该是圆括号:
"
也可以工作(在jsFiddle中测试):rbl8hiat2#
首先,为什么?
您应该使用
()
而不是“{}”这种方式最好:
这条路很好:
这也适用于:
这不起作用:
注意:删除
url
后面的空格。neekobn83#
就转义而言,第二个选项是正确的:
要转义HTML中的双引号,可以使用
"
,无论是否在属性中。请看这个jsfiddle(取自这个SO答案)。
ej83mcc04#
如果要使用多个双引号和单引号
可以将双引号和单引号组合在一起(嵌套)
或
并且可以嵌套得更多
like(如果你使用的是template for framework(Django))