Css 使用其他类属性的新类

Css 使用其他类属性的新类,css,Css,我想知道是否可以使用@extend在另一个类中使用一个类的属性。例如,如果有两个CSS文件按以下顺序加载到同一页面上: <link rel="stylesheet" href="/css/one.css" media="screen"> <link rel="stylesheet" href="/css/two.css" media="screen"> 我可以在two.css中做类似的事情吗 .bar { @extend .foo; } 现在纯CSS没有任何这样的

我想知道是否可以使用@extend在另一个类中使用一个类的属性。例如,如果有两个CSS文件按以下顺序加载到同一页面上:

<link rel="stylesheet" href="/css/one.css" media="screen">
<link rel="stylesheet" href="/css/two.css" media="screen">
我可以在two.css中做类似的事情吗

.bar {
  @extend .foo;
}

现在纯CSS没有任何这样的机制,我知道在Sass中有一种方法可以通过@extend实现这一点。在某些情况下,使用逗号分隔的选择器就足够了,例如:

.foo,.bar{
  font-size:40px;
}
.bar{
  color:red;
}

在本例中,您正在为.foo和.bar选择器执行公共部分并添加颜色:仅为.bar添加红色现在纯CSS没有任何类似的机制,我知道在Sass中有一种方法可以使用@extend实现这一点。在某些情况下,使用逗号分隔的选择器就足够了,例如:

.foo,.bar{
  font-size:40px;
}
.bar{
  color:red;
}

在本例中,您正在为.foo和.bar选择器执行公共部分,并为.bar添加颜色:仅为.bar添加红色

这将需要前置或后置处理器来实现这些功能,或者需要JS解决方案中的CSS

你可以考虑:

  • 一种类似边界元法的方法,用于级联常见的内容并覆盖唯一的内容
  • .foo{
    颜色:黑色;
    背景:黄色;
    }
    .酒吧{
    颜色:红色;
    }
    巴兹先生{
    颜色:蓝色;
    }
    
    这是FOO
    这是FOO+BAR
    这是FOO+BAZ
    
    。。。或

  • CSS自定义属性(又称CSS变量),以更灵活地应用和覆盖
  • :根目录{
    --主色:黑色;
    }
    傅先生{
    颜色:var(--主色);
    }
    .酒吧{
    --主色调:红色;
    }
    
    这是FOO
    这是FOO+BAR
    
    实现这些功能需要前置或后置处理器,或者JS中的CSS解决方案

    你可以考虑:

  • 一种类似边界元法的方法,用于级联常见的内容并覆盖唯一的内容
  • .foo{
    颜色:黑色;
    背景:黄色;
    }
    .酒吧{
    颜色:红色;
    }
    巴兹先生{
    颜色:蓝色;
    }
    
    这是FOO
    这是FOO+BAR
    这是FOO+BAZ
    
    。。。或

  • CSS自定义属性(又称CSS变量),以更灵活地应用和覆盖
  • :根目录{
    --主色:黑色;
    }
    傅先生{
    颜色:var(--主色);
    }
    .酒吧{
    --主色调:红色;
    }
    
    这是FOO
    这是FOO+BAR