css - 如何将此块重写为 SASS?
问题描述
我是 SASS 新手,我不知道将其重写为 SCSS 语法。它是汉堡导航的一部分。任何帮助,将不胜感激。
.hamburger {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
.hamburger, /* <-------
.hamburger::before,
.hamburger::after {
width: 30px;
height: 3px;
background: #0c0c0c;
border-radius: 0.5626em;
transition: all .4s ease-in-out;
}
.hamburger::before,
.hamburger::after {
position: absolute;
content: "";
}
.hamburger::before {
top: -8px;
}
.hamburger::after {
top: 8px;
}
我应该为这部分创建一个 mixin 并调用它两次吗?
width: 30px;
height: 3px;
background: #0c0c0c;
border-radius: 0.5626em;
transition: all .4s ease-in-out;
更新:我试过这个似乎可行,但不确定我在语法方面是否正确:
.hamburger {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
&,
&::before,
&::after {
width: 30px;
height: 3px;
background: #0c0c0c;
border-radius: 0.5626em;
transition: all .4s ease-in-out;
}
&::before,
&::after {
position: absolute;
content: "";
}
&::before {
top: -8px;
}
&::after {
top: 8px;
}
}
解决方案
.hamburger {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
&,
&::before,
&::after {
width: 30px;
height: 3px;
background: #0c0c0c;
border-radius: 0.5626em;
transition: all .4s ease-in-out;
}
&::before,
&::after {
position: absolute;
content: "";
}
&::before {
top: -8px;
}
&::after {
top: 8px;
}
}
推荐阅读
- android - 如何在 Android 上对 Sentry 事件进行分组?
- c# - 每个客户中的 Linq to SQL 有效联系人
- sql - 使用 Oracle SQL 空间函数计算点与围绕该点的多边形周长之间的距离?
- c# - WinForm - DevExpress 主题
- amazon-web-services - AWS Sagemaker:有没有办法查看“线性学习器 - binary_classifier”模型的回归器系数?
- javascript - 在打字稿中使用对象数组创建模型
- php - 在调用任何公共类方法之前检查类属性是否不为空
- mongodb - Mongoose 查找其他集合中的某些条件
- java - 使用 SQL 查询在 Java 中格式化货币
- ruby-on-rails - Rails 5.2 + Webpacker:在 javascript 中渲染部分内容