Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/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
您能将css规则“content”应用于子元素吗?_Css - Fatal编程技术网

您能将css规则“content”应用于子元素吗?

您能将css规则“content”应用于子元素吗?,css,Css,能否将ccs规则内容应用于子元素 css: html: <a href="/home">Home</a> <a href="/home"><span>home</span></a> 但是,我想做以下工作: html: <a href="/home">Home</a> <a href="/home"><span>home</span></a>

能否将ccs规则内容应用于子元素

css:

html:

<a href="/home">Home</a>
<a href="/home"><span>home</span></a>
但是,我想做以下工作:

html:

<a href="/home">Home</a>
<a href="/home"><span>home</span></a>

在前面的css中,
href
值将出现在
span
之前

是否可以将其显示在
span
中?


我试过了。这是一个网站地图。

不,那是不可能的

要在
span
中呈现生成的内容,需要
a:link span:before


不幸的是,在这种情况下,
内容:“attr(href)”
将不再工作,因为
a
元素不再是选择器的主题,
span
是,并且
span
没有
href
属性。

这是不可能的,因为
attr(…)
只对元素本身工作,但实际上需要这样的东西:

a:link > span:before { content: " "parent.attr(href)" "; }

但是CSS中没有类似于
parent.attr()
的东西。

所以即使目标元素是子元素,这也会陷入CSS不兼容父元素的情况?(也就是说,父选择器在css中不起作用)即使使用一个。您需要的是(不存在的)
内容:parent.attr(href)
,如@c-smile的回答所示。如果您真的想使用CSS而不是jQuery,并且您不介意复制
href
(以一种安全有效但不神秘的方式),您可以这样做:。是的,我的第一个答案很糟糕:)有点挑剔:这些在CSS3中都不是新的。不是
:before
:before
伪元素,不是
attr()
函数,也不是
content
属性。所有这些都是CSS2的一部分。