html - 通过添加到 SASS 中的类名来嵌套 css 选择器

标签 html css sass css-selectors flexbox

我正在构建一个 flexbox 网格系统,并希望使我的 scss 文件易于管理。

col-2、col-4、col-6 类元素的选择器有什么问题导致它们不起作用?

.grid-container{
max-width:1280;
margin: 0 24px;
display: flex;

    [class^="col"]{
        flex:1;
        margin: 0 8px;

        &:first-child{
            margin-left:0;
        }
        &:last-child{
           margin-right:0;
        }

        [class*="-2"]{
            width:16.5%;
        }

        [class*="-4"]{
            width:33%;
        }

        [class*="-6"]{
            width:50%;
        }
    }
}

所有列都从其他选择器获取边距和第一个子项和最后一个子项行为的样式,但不是宽度。这可能是一个 flexbox 问题吗? flex 基础?

最佳答案

这不是“flexbox”问题。这是一个“CSS”问题。

[class^="col"] {
   [class*="-2"] {
       width:16.5%;
   }
}

将产生这个 CSS:

[class^="col"] [class*="-2"]{width:16.5%;}

但你可能想要...

[class^="col"][class*="-2"]{width:16.5%;}

...将由...产生

[class^="col"] {
   &[class*="-2"] {
       width:16.5%;
   }
}

空格 (在 CSS 中)和符号 &(在 SCSS 中)是区别。

关于html - 通过添加到 SASS 中的类名来嵌套 css 选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44828861/

相关文章:

html - 在网络音频中,使用 .value(x) 和 setValueAtTime(x, context.currentTime) 有什么区别?

html - 全宽重叠三 Angular 形

javascript - 输入类型范围 - 拇指错误时输出

css - 如何使用具有透明背景的 CSS 切割方框 Angular ?

html - 如何将包裹在同一个 div 中的图像堆叠在一起,然后在悬停时将它们与动画分开?

html - 谷歌地图作为背景

css - 配置 CSS 属性以获得水平居中页面的最佳实践是什么?

javascript 确认阻止 Chrome 中的屏幕更新

css - 如何覆盖基础 Accordion 样式?

javascript - 如何使用 svelte :global() with sass/scss?