- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有以下 scss 代码。
@if $position == bottom {
&:after {
height: $triangle-width;
width: $triangle-width;
content:"";
position:absolute;
margin-top: -$triangle-width/2 -$stroke-width;
}
}
@if $position == top {
&:before {
height: $triangle-width;
width: $triangle-width;
content:"";
position:absolute;
margin-bottom: -$triangle-width/2 -$stroke-width;
}
}
如您所见,有些代码是重复的。我想知道有没有办法把它弄干。我试图将其放入自己的类(class),但不知何故似乎不起作用。有任何想法吗?我可以在 mixin 中创建一个 mixin,但在我看来这似乎开销太大了。你怎么看?
最佳答案
通常,让事情变干的最好方法是将公共(public)部分分解为混入,然后将它们构建成更大的混入。这正是 Compass 和大多数其他框架的做法。查看Compass list mixins例如。
@mixin base-triangle($triangle-width) {
height: $triangle-width;
width: $triangle-width;
content:"";
position:absolute;
}
@mixin triangle($position, $triangle-width: 4, $stroke-width: 4) {
@if $position == bottom {
&:after {
@include base-triangle($triangle-width);
margin-top: -$triangle-width/2 -$stroke-width;
}
}
@if $position == top {
&:before {
@include base-triangle($triangle-width);
margin-bottom: -$triangle-width/2 -$stroke-width;
}
}
}
.foo {
@include triangle("top", 8px, 8px);
}
.bar {
@include triangle("bottom");
}
编译为:
.foo:before {
height: 8px;
width: 8px;
content: "";
position: absolute;
margin-bottom: -12px;
}
.bar:after {
height: 4;
width: 4;
content: "";
position: absolute;
margin-top: -6;
}
关于css - 如何用前后 block 干掉sass mixin代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30498142/
最近在造轮子,从 0 到 1 的那种,就差前台的界面了,大家可以耐心耐心耐心期待一下。其中需要设计一些数据库表,可以通过 Navicat 这种图形化管理工具直接开搞,也可以通过一些数据库设计工具来搞,
本文已经收录到Github仓库,该仓库包含 计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设
干燥路径“/A”和“/B”的解析参数的“Angular”方式是什么?在我的 $routeProvider 中,我为这些场景调用完全相同的解析函数,并且不知道避免在 AngularJS 框架中重复代码的
我确信有一种方法可以 DRY 代码。 changeColor() 所做的只是改变父组件的背景颜色。 import { Play } from "./play"; import { Hello } fr
我在 Node v6.3.0 中的 api 上运行以下代码,该 api 运行两个单独的 Promise,具体取决于 POST 请求中是否存在参数的条件。 if (paramExists) {
在我的 Ruby on Rails 项目中,我有一个邮件程序,它基本上为给定用户准备系统中发生的事情的每日摘要。在邮件 Controller 中,我根据一些通用模式(在特定日期内、不是由该用户创作
我是一名优秀的程序员,十分优秀!