Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
XHTML名称空间和CSS属性选择器_Css_Css Selectors_Xhtml_Xml Namespaces - Fatal编程技术网

XHTML名称空间和CSS属性选择器

XHTML名称空间和CSS属性选择器,css,css-selectors,xhtml,xml-namespaces,Css,Css Selectors,Xhtml,Xml Namespaces,我不知道如何让CSS属性选择器根据命名空间属性为元素设置样式,而不使用命名空间属性(包括冒号)的普通HTML名称 例如: 带有名称空间的CSS属性选择器 @名称空间foo“http://www.stackoverflow.com/foo"; span[foo | id=bar]{font-family:monospace;font-weight:bold;} 应该是单空格粗体 您的文档需要作为XHTML文档处理,XML名称空间才能工作。请注意,仅拥有XHTML DOCTYPE和相关的xmln

我不知道如何让CSS属性选择器根据命名空间属性为元素设置样式,而不使用命名空间属性(包括冒号)的普通HTML名称

例如:


带有名称空间的CSS属性选择器
@名称空间foo“http://www.stackoverflow.com/foo";
span[foo | id=bar]{font-family:monospace;font-weight:bold;}
应该是单空格粗体

您的文档需要作为XHTML文档处理,XML名称空间才能工作。请注意,仅拥有XHTML DOCTYPE和相关的
xmlns
属性是不够的

您可以在服务器端通过将文档作为内容类型:application/xhtml+xml提供服务,或者在文件系统上通过使用.xhtml文件扩展名而不是.html保存文档来实现这一点。对于一个非常快速且肮脏的测试用例,您甚至可以复制整个标记,将其放到地址栏中,在数据:application/xhtml+xml之前添加前缀,,然后导航到结果数据URI

这在您链接到的第一个问题中非常简短地提到:

如果我将mime类型切换为application/xhtml+xml


还要注意,CSS中的名称空间必须与标记中的名称空间完全匹配<代码>@namespace foo“http://www.stackoverflow.com/foo";不匹配
xmlns:foo=”http://stackoverflow.com/foo“
因为
www.
。(有趣的是,
foo
标识符不需要匹配,因为与名称空间本身不同,标识符是分开的。)

很好,我将修复名称空间中的打字错误(显然,我的quick-n-dirty copy paste modify从我的真实项目引入了一个回归),然后我将在我的浏览器上尝试其他方法。将文件重命名为.xhtml即可。我还尝试使用meta-http-equiv设置内容类型(不重命名文件);@DavidP.Caldwell是的,
中的内容类型我知道这是一个有点老的问题,但我遇到了同样的问题。我试图在HTML5的属性选择器中使用名称空间,而不是XHTML——我该怎么做?所有内容都正确,名称空间链接也正确。奇怪的是,w3c验证程序在使用