当前位置: 首页 > 面试题库 >

有没有一种方法可以将SVG用作伪元素:before或:after中的内容

凌博实
2023-03-14
问题内容

我想将一些SVG图像放置在某些选定元素之前。我正在使用JQuery,但这无关紧要。我想将:before元素设置为:

  #mydiv:before {
    content:"<svg.. code here</svg>";
    display:block;
    width:22px;
    height:10px;
    margin:10px 5px 0 10px;
  }

如果我如上所示进行操作,它将仅显示字符串。我检查了规格,似乎对内容有一些限制。是否可以解决此限制?只有内容CSS与我的问题有关。


问题答案:

是的你可以!刚刚测试过,效果很好,太棒了!它仍然不能与html一起使用,但可以与svg一起使用。

在我的index.html中,我有:

<div id="test" style="content: url(test.svg); width: 200px; height: 200px;"></div>

我的test.svg看起来像这样:

<svg xmlns="http://www.w3.org/2000/svg">
   <circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red"/>
   <polyline points="20,20 40,25 60,40 80,120 120,140 200,180" style="fill:none;stroke:black;stroke-width:3"/>
</svg>


 类似资料:
  • 此问题是线程下的扩展。有没有一种方法可以将SVG用作伪元素:before或:after中的内容。 我试图使用伪类在div之后附加一个svg三角形。 上面的代码在chrome中运行良好,但在IE中它没有加载svg内容。 我也尝试了背景图像属性,但它似乎在IE(版本 将此svg附加为带有伪类的内容的正确方法是什么?

  • 我想使用::before将SVG图像放置在一些选定元素之前: 上面的代码只显示明文。 我检查了规范,似乎对可以是什么有一些限制。CSS属性解决方案更可取。

  • 问题内容: 我无权访问页面的HTML或PHP,只能通过CSS进行编辑。我一直在网站上进行修改,并通过或伪元素添加文本,并且发现转义Unicode应该用于添加内容之前或之后的空格等内容。 如何在属性中添加多行? 在示例中,HTML换行符 仅用于可视化 我想要实现的目标: 问题答案: 该属性指出: 作者可以通过在“ content”属性之后的字符串之一中写入“ \ A”转义序列来在生成的内容中包含换行

  • 问题内容: 同一元素是否可以有多个伪元素? 我正在尝试使用jQuery将上述样式应用于相同的元素,但仅应用了最新样式,从未应用过这两种样式。 问题答案: 在CSS2.1中,一个元素在任何时候最多只能具有任何一种伪元素。(这意味着一个元素可以同时具有a 和一个伪元素- 每种元素不能超过一个。) 结果,当您有多个匹配同一元素的规则时,它们将全部层叠并应用于单个伪元素,就像普通元素一样。在您的示例中,最

  • 问题内容: 我正在尝试在字段上使用CSS伪元素,但是它不起作用。如果我将它与一起使用,则可以正常运行。 这有效(在“ buu!”之后和“更多”之前放置笑脸) 这是行不通的-它只将someValue涂成红色,但没有笑脸。 我究竟做错了什么?我应该使用另一个伪选择器吗? 注意:我无法在周围添加,因为它是由第三方控件生成的。 问题答案: 并且在Internet Explorer 7及更高版本中的任何元素

  • 问题内容: 有什么原因导致此CSS无法正常工作? ..在这个HTML上? 这个想法是在匹配的锚标签上有一个伪元素。但是我不希望它适用于包装图像的锚标签。而且由于我无法使用诸如来定位锚,所以我想也许可以通过找到一个与之类似的图像来定位:after伪元素。 任何见识将不胜感激。 问题答案: 您无法定位:之后,因为它的内容未在DOM中呈现且无法对其进行操作-为此,必须重新呈现DOM,而CSS不能像这样进