从CSS插入HTML

met*_*hyl 43 html css css3

有没有办法从CSS(3)插入HTML元素,dom或代码?

Sot*_*ris 29

不可以.唯一可以做的是使用:before:after伪元素添加内容(而不是元素).

更多信息:http://www.w3.org/TR/CSS2/generate.html#before-after-content


fii*_*iiv 13

内容(用于文本而非html):

http://www.quirksmode.org/css/content.html

但要清楚,这是不好的做法.它在整个浏览器中的支持是不稳定的,而且通常不是一个好主意.但是如果你真的必须使用它,那就是它.

  • @MT - 我不同意; 如果我需要一个`<label>`和它的`<input>`之间的冒号(`:`).从技术上讲,这就是CSS的用途,但鉴于以上几点,我认为可以使用JavaScript代替.但如果你的意思是@ methyl的例子更适合JS,我认为我没有争论. (9认同)
  • 通常,您希望使用Javascript来实现此类操作.使用带有`.innerHTML`和`.value`的`getElementById`非常简单. (3认同)
  • 我不明白为什么这是不好的做法。你能详细说明一下吗?这只是浏览器支持问题吗?据我了解,所有现代浏览器都支持该属性。 (2认同)
  • @LwguRi首先,是的,浏览器支持.IE8之前的IE不支持此属性,Opera 9以与Firefox和Chrome不同的方式支持它.其次,正如我之前提到的,这是Javascript打算做的事情.这就像使用`<font>`标签.你在技术上CAN,它将在Transitional中工作,但你不使用它,因为这是CSS的用途.你也可以用叉子吃汤,但这并不意味着它是一个好主意. (2认同)

ale*_*exn 10

你不能.您唯一能做的就是插入内容.像这样:

p:after {
    content: "yo";
}
Run Code Online (Sandbox Code Playgroud)