作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
处理 CSS 中微小变化的最佳方法是什么?
例如假设我有两个按钮:
.btn-红 .btn-蓝
我希望每个按钮彼此相邻,但我希望 .btn-blue 的 margin-left 为 10 像素。
我有很多可以实现的选项:
我可以直接向 .btn-green 类添加 10 个像素,但这与单一职责原则冲突。
我可以将包装类作为目标并使用后代选择器目标 .btn-blue,但随后我否定了使用 BEM 之类的东西的用处并陷入了特异性的世界。
我意识到这些问题相当迂腐,但这是关键问题之一,因为我的 CSS 文件增长通常会失控。
假设我有以下......
SASS:
.btn {
padding: 10px 30px;
font-size: 16px;
border-radius: 3px;
border: none;
}
.btn-red,
.btn-blue {
@extend .btn;
color: white;
}
.btn-red {
background: red;
}
.btn-blue {
background: blue;
}
HTML:
<div class="btn-wrap">
<button class="btn-red">
Mr Red
</button>
<button class="btn-blue">
Mr Blue
</button>
</div>
最佳答案
老实说,我不太确定您要实现的目标,但是这样的事情会有帮助吗?
.btn-red + .btn-blue { /* Or [class*="btn-"] + [class*="btn-"], maybe */
margin-left: 10px;
}
关于css - 处理 CSS 中的微小变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44347322/
我是一名优秀的程序员,十分优秀!