我对报价用法有一些疑问。例如,当我在ASP中加载脚本或CSS时,双引号可以正常工作,我可以像这样使用它:
<link href="<%= Page.ResolveClientUrl("~/Styles/Site.css") %>" rel="stylesheet" type="text/css" />
但是,当我尝试在同一个东西上使用相同的东西时,background-image
它无法按预期工作。给我一个错误:
功能参数未关闭,应为')'
background-image: url("<%= Page.ResolveClientUrl("~/Content/image.jpg")%>");
另外,当我尝试使用上面指定的代码时,Visual Studio会Page.ResolveClientUrl
正确突出显示。
我使用单引号(`)修复了上述错误,例如:
background-image: url('<%= Page.ResolveClientUrl("~/Content/image.jpg")%>')
它可以正常工作,但是Visual Studio不能按预期突出显示它(我使用的是黑色背景,服务器标签<% %>
在黄色背景上是白色,标签之间的文本是白色)。
我的问题是:
为什么在加载脚本时使用双引号而不是在background-image
元素中加载图像时使用双引号?
为什么Visual Studio突出显示的不是服务器代码,为什么?
在上面的示例中,还有哪些用例应使用单引号而不是双引号?(下面的链接中指定的字符串格式除外)。一,两个例子可能就足够了。
PS:我已经阅读了单引号和双引号之间的区别(从此处开始),但这不适用于此处。
首先,但没有关联,nav
语法缺少该style
属性。
其次,样式属性中的ASP.NET似乎确实存在问题。它与完整的属性值(如link
标签上所示)一起使用时效果很好。该:
字符可能是罪魁祸首。
你可以做什么:
第一件事,不需要Page.ResolveClientUrl
与link
标签一起使用。您可以仅使用波浪号路径,ASP.NET将解析实际路径。
从:
<link href="<%= Page.ResolveClientUrl("~/Styles/Site.css") %>" rel="stylesheet" type="text/css" />
到:
<link href="~/Styles/Site.css" rel="stylesheet" type="text/css" />
对于nav
标签,请尝试使用类,并在CSS端使用相对路径:
HTML:
<nav class="nav-img" />
CSS:
.nav-img {
background-image: url(../Content/image.jpg);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句