css - 如何在 css 或 sass 中为类名起别名

标签 css sass font-awesome

我可以为 css 类创建别名吗?

我正在使用这个很棒的字体,我正在尝试为一些图标类创建一个别名。这样 .icon-globe 也将调用 .globe

我怎样才能完成这样的事情?

最佳答案

没有别名之类的东西。 Sass 确实有 @extend 指令,但在您查看源代码之前,解决方案并不完全显而易见。

来源:https://github.com/FortAwesome/Font-Awesome/blob/master/sass/font-awesome.scss

[class^="icon-"]:before,
[class*=" icon-"]:before {
  font-family: FontAwesome;
  font-weight: normal;
  font-style: normal;
  display: inline-block;
  text-decoration: inherit;
}

// snip

.icon-globe:before                { content: "\f0ac"; }

即使您使 .globe 扩展了 .icon-globe,您也会错过 FontAwesome 样式的大部分内容,因为它们是如何构建选择器的.您还必须扩展其他选择器。

这个:

.globe {
    @extend .icon-globe;
    @extend [class^="icon-"];
}

编译为

[class^="icon-"]:before, .globe:before,
[class*=" icon-"]:before {
  font-family: FontAwesome;
  font-weight: normal;
  font-style: normal;
  display: inline-block;
  text-decoration: inherit; }

.icon-globe:before, .globe:before {
  content: "\f0ac"; }

请注意,icon- 前缀是故意的。您可以通过这种方式获得更小的 CSS 文件,而不是将所有这些样式附加到 FontAwesome 附带的所有约 200 个类。你可以做,但我认为结果不是很好。

关于css - 如何在 css 或 sass 中为类名起别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13335544/

相关文章:

html - Safari 中的 Flexbox 行换行问题

html - 强制一个 div 更改同一父级内其他 div 的大小,以便可以看到第一个

javascript - 图片不在生产构建中显示,仅在开发中显示(webpack/sass-loader)

twitter-bootstrap - 我可以在导入 sass 变量后覆盖它们吗?

angularjs - 使用 Angular 选择时的条件 ng-options

html - 我该如何简化这个 CSS?

css - SASS Compass 和 MS 过滤器 : Using Image-url with an MS Filter

css - 如何在 React App 中使用::before CSS 伪选择器修改 Font Awesome 图标?

GIT 如何设置 .gitconfig 以将 *.woff 文件识别为二进制文件

javascript - 如何使用 jQuery 更改 Font-Awesome 内容的占位符?