所以, 应该是svg图片没有自适应标签大小,默认通过拷贝自身的方式,填充了标签中空白的空间

然后我就打开了万能的 MDN 查了一下,

果然可以设置一个属性达到我想要的效果: background-repeat: no-repeat;

使背景图片 不自动重复填充

于是我把代码改成了这样:

<style>
    .demo {
        float: left;
        width: 20px;
        height: 20px;
        background-image: url(../../assets/release_icon.svg);
        background-repeat: no-repeat; 
</style>
<span class="demo">
</span>
然而效果和我想象的还是不太一样:

于是我又查了一下是不是有设置背景尺寸的属性。。果然。。

background-size: contain;

这个属性可以使图片在保持原有比例的同时,缩放到标签元素可用空间中最大的尺寸

<style>
    .demo {
        float: left;
        width: 20px;
        height: 20px;
        background-image: url(../../assets/release_icon.svg);
        background-repeat: no-repeat;
        background-size: contain;
</style>
    <span class="demo">
    </span>

所以 ——

既然background-size: contain;可以使图片大小自适应,

那么background-repeat: no-repeat;这条属性是不是可以删掉了?

于是我尝试了一下:

<style>
    .demo {
        float: left;
        width: 30px;
        height: 20px;
        background-image: url(../../assets/release_icon.svg);
        background-size: contain;
</style>
    <span class="demo">
    </span>
效果变成了这样: