Css 为什么使用:在伪元素之前显示图示符图标?

Css 为什么使用:在伪元素之前显示图示符图标?,css,glyph,Css,Glyph,这个问题一直萦绕在我的脑海里。似乎所有glyph图标库都通过这种方式提供图标,例如。这是在css中放置glyph的唯一方法吗?还是这是最好的方式 a:before { font-family: FontAwesome; content: "\f095"; } 我觉得这个问题可以分为两个不同的问题: 为什么使用字体作为图标 为什么使用:在伪元素之前显示它们 对于第一部分,它可以归结为易于使用(因为它们是向量,具有透明的背景,可以很容易地更改颜色),并且即使在较旧的浏览器上也有很好的支

这个问题一直萦绕在我的脑海里。似乎所有glyph图标库都通过这种方式提供图标,例如。这是在css中放置glyph的唯一方法吗?还是这是最好的方式

a:before {
   font-family: FontAwesome;
   content: "\f095";
}

我觉得这个问题可以分为两个不同的问题:

  • 为什么使用字体作为图标

  • 为什么使用:在伪元素之前显示它们

  • 对于第一部分,它可以归结为易于使用(因为它们是向量,具有透明的背景,可以很容易地更改颜色),并且即使在较旧的浏览器上也有很好的支持

    对于第二部分,使用伪元素意味着您的图标可以完全“活”在CSS文件中。除了更容易在那里编辑之外,这也是它们的归属——它们不是你的内容的一部分,而是影响它的外观的东西,因此不应该出现在你的HTML中。将其视为(再次-设计与内容)


    此外,这还可以防止一些奇怪的副作用,例如,无法选择伪元素,因此无法复制。如果不是这样,所有图标在复制时都会在复制它们的目的地产生奇怪的字符。

    我觉得这个问题可以分为两个独立的问题:

  • 为什么使用字体作为图标

  • 为什么使用:在伪元素之前显示它们

  • 对于第一部分,它可以归结为易于使用(因为它们是向量,具有透明的背景,可以很容易地更改颜色),并且即使在较旧的浏览器上也有很好的支持

    对于第二部分,使用伪元素意味着您的图标可以完全“活”在CSS文件中。除了更容易在那里编辑之外,这也是它们的归属——它们不是你的内容的一部分,而是影响它的外观的东西,因此不应该出现在你的HTML中。将其视为(再次-设计与内容)


    此外,这还可以防止一些奇怪的副作用,例如,无法选择伪元素,因此无法复制。如果不是这样,所有图标在复制时都会在复制它们的目的地产生奇怪的字符。

    您也可以将它们用作“i”标记。我们可以通过这种方式应用更具创造性的css。这是一个密码笔:

    
    div{
    字体大小:50px;
    }
    我{
    颜色:蓝色;
    }
    i:悬停{
    颜色:红色;
    光标:指针;
    }
    
    您也可以将它们用作“i”标记。我们可以通过这种方式应用更具创造性的css。这是一个密码笔:

    
    div{
    字体大小:50px;
    }
    我{
    颜色:蓝色;
    }
    i:悬停{
    颜色:红色;
    光标:指针;
    }
    
    谢谢。我的问题是第二个,谢谢。我的问题是第二个。
    <script src="https://use.fontawesome.com/2d1d8af5b4.js"></script>
    <div><i class="fa fa-user"></i></div>
    
    
    div{
      font-size:50px;
    }
    i{
      color:blue;
    }
    i:hover{
      color:red;
      cursor:pointer;
    }