在SVG格式中使用符号对我来说似乎是个好主意,这样你只需要加载一个单独的SVG文件,并将其用作一种类似于spritemap的东西。
但是,直接在我的HTML中包含<svg></svg>
标签感觉不太对,因为它们仅用于呈现,应该在我的CSS中添加。
有没有办法在我的CSS的:after
伪元素中添加来自SVG的符号呢?
在SVG格式中使用符号对我来说似乎是个好主意,这样你只需要加载一个单独的SVG文件,并将其用作一种类似于spritemap的东西。
但是,直接在我的HTML中包含<svg></svg>
标签感觉不太对,因为它们仅用于呈现,应该在我的CSS中添加。
有没有办法在我的CSS的:after
伪元素中添加来自SVG的符号呢?
.element {
background-image: url('vector.svg#fragment');
}
.element {
background-image: url('vector.svg#fragment(viewBox(0,0,25,25))');
}
after
元素的content
中。after
的background
,你将对它有更多的控制,包括size
、position
和其他背景图像可能具有的属性。<div id = "mydiv"><div>
CSS
#mydiv{
width:500px;
height:100px;
background:tomato;
}
#mydiv:after{
content:"After of #mydiv";
width:500px;
height:100px;
background:url('http://xn--dahlstrm-t4a.net/tmp/sharp-icons/svg-icon.svg') no-repeat;
position:absolute;
top:200px;
border:solid 1px tomato;
}
您可以将SVG保存为单独的文件,并将其作为url
提供给background
了解更多关于将SVG添加到页面的方法在这里
。
*.svg
文件,并使用.classname:after { content: url(/path/to/file.svg); }
添加它们。 - Blazemonger<view>
而不是<symbol>
,请参考这里:https://css-tricks.com/svg-fragment-identifiers-work/ - Ghetolay