css - CSS flexbox SASS mixin,不支持 flexbox legacy
问题描述
有没有办法在使用 SASS mixins 时支持没有 flexbox legacy(IE) 的浏览器?
我正在使用下面的 mixin 来display:flex
快速实现。虽然我对 IE 有一些问题,但我必须针对使用 mixin 的每个类来切换它display:table
并display:table-cell
使用modernizr,因为display:flex
某些浏览器不完全支持。
@mixin flexbox() {
display: -webkit-box !important;
display: -moz-box !important;
display: -ms-flexbox !important;
display: -webkit-flex !important;
display: flex !important;
}
无论如何我可以对我的 mixin 进行条件处理,如果它在body
a 类的flexboxlegacy
or中no-flexboxlegacy
?
解决方案
@mixin flexbox() {
display: flex;
.no-flexboxlegacy & {
display: table;
}
}
a b c {
@include flexbox();
}
编译为:
a b c {
display: flex;
}
.no-flexboxlegacy a b c {
display: table;
}
推荐阅读
- swift - 在继续之前执行一个函数
- python - 从屏蔽的二维数组中提取平均值
- javascript - 如何将字典中的嵌套值更改为上层键
- react-native - 生成Android APK compileReleaseJavaWithJavac 错误
- python-3.x - 如何在python中写入文本文件?
- python - 如何让我的代码跳出循环并实际检测到某个输入
- wolfram-mathematica - 如何在列表列表上操作移动平均线?
- c - 为什么我不能调用函数信号返回的函数(信号处理程序)?
- javascript - 对象在 JavaScript 中的工作原理
- r - 将新元素(标签)添加到 R 中的列表中