CSS psuedo元素内容:attr(类型)?

CSS psuedo元素内容:attr(类型)?,css,Css,我只想要一个这样的规则: div:before { content: "div"; } span:before { content: "span"; } a:before { content: "a"; } 但我希望它对所有元素类型都是通用的,而不仅仅是一个div 我想要这个 *:before { content: attr(tagname); } 但是,标记名不是一个属性。有没有办法在CSS中将元素的类型获取为字符串?没有,没有办法。只能以几种方式指定。您

我只想要一个这样的规则:

div:before {
    content: "div";
}
span:before {
    content: "span";
}
a:before {
    content: "a";
}
但我希望它对所有元素类型都是通用的,而不仅仅是一个div

我想要这个

*:before {
    content: attr(tagname); 
}

但是,
标记名
不是一个属性。有没有办法在CSS中将元素的类型获取为字符串?

没有,没有办法。只能以几种方式指定。您尝试执行的操作需要客户端脚本,可能是为了将CSS规则动态添加到元素中,并且在脚本代码中,您可以使用元素节点中的标记名。

看起来仅使用CSS无法做到这一点,您必须使用脚本您在说什么?您想将
类型
作为伪元素的内容,而不考虑标记,还是尝试豁免
元素?我留下了一个答案,但如果你澄清,我们可以更好地帮助你。我删除了我的答案,因为这与你的澄清无关。我更新了问题以澄清:我在寻找元素的类型(标记名),而不是实际的
类型
属性。例如,你可以只设置一个CSS规则*:before{content:attr(rel);}然后在每个html元素中写入rel=“div”、rel=“span”等等。或者,您可以为每个html元素指定一个CSS规则(如您的问题中所述)。否则,仅使用CSS是不可能的。