Css SASS不读取根类,只读取带有符号AND的根类
我有一个带有符号的sass/css类,它与VueJS一起使用。我想知道的是,在符号上指定的CSS属性正在工作,但是浏览器没有检测到根元素本身Css SASS不读取根类,只读取带有符号AND的根类,css,vue.js,sass,Css,Vue.js,Sass,我有一个带有符号的sass/css类,它与VueJS一起使用。我想知道的是,在符号上指定的CSS属性正在工作,但是浏览器没有检测到根元素本身 <style lang="scss" scoped> .curved-input { border-radius: 5px; height: 50px; margin-right: 1rem; &__lg { width: 300px; } &__sm { width: 150px;
<style lang="scss" scoped>
.curved-input {
border-radius: 5px;
height: 50px;
margin-right: 1rem;
&__lg {
width: 300px;
}
&__sm {
width: 150px;
}
}
</style>
文本框宽度已更改,但当您在浏览器工具上查看其他属性时,浏览器不会读取这些属性。我是不是遗漏了什么
我的目标不是将其编码为
class=“Curve-input Curve-input\uuu lg
,而是在继承父属性(Curve-input)时仅使用Curve-input\uu lg
或Curve-input\uu sm
.这是因为您还必须声明曲线输入
类。因此,您的class属性将类似于class=“Curve input Curve-input\uu lg”
如果您将CSS完整地写出来,您将得到如下结果:
.curved-input {
border-radius: 5px;
height: 50px;
margin-right: 1rem;
}
.curved-input__lg {
width: 300px;
}
.curved-input__sm {
width: 150px;
}
记住这一点,您将看到还必须添加类
曲线输入。这是因为您还必须声明曲线输入
类。因此,您的类属性将类似于class=“curved input curved-input\uu lg”
如果您将CSS完整地写出来,您将得到如下结果:
.curved-input {
border-radius: 5px;
height: 50px;
margin-right: 1rem;
}
.curved-input__lg {
width: 300px;
}
.curved-input__sm {
width: 150px;
}
记住这一点,您将看到您还必须添加类曲线输入。您可以使用@extend
来避免向标记中添加额外的类或(某些)重复的代码,如果这是您的目标的话
.curved-input {
border-radius: 5px;
height: 50px;
margin-right: 1rem;
}
.curved-input {
&__lg {
@extend .curved-input;
width: 300px;
}
&__sm {
@extend .curved-input;
width: 150px;
}
}
这将生成以下CSS
.curved-input,
.curved-input__sm,
.curved-input__lg {
border-radius: 5px;
height: 50px;
margin-right: 1rem;
}
.curved-input__lg {
width: 300px;
}
.curved-input__sm {
width: 150px;
}
您可以使用@extend
来避免向标记中添加额外的类或(某些)重复的代码,如果这是您的目标的话
.curved-input {
border-radius: 5px;
height: 50px;
margin-right: 1rem;
}
.curved-input {
&__lg {
@extend .curved-input;
width: 300px;
}
&__sm {
@extend .curved-input;
width: 150px;
}
}
这将生成以下CSS
.curved-input,
.curved-input__sm,
.curved-input__lg {
border-radius: 5px;
height: 50px;
margin-right: 1rem;
}
.curved-input__lg {
width: 300px;
}
.curved-input__sm {
width: 150px;
}
如果你想这样写,试着把第一行改成:
[class*="curved-input"]
如果你想这样写,试着把第一行改成:
[class*="curved-input"]
是的,当我将其设置为curve-input curve-input\uu lg
时,它就是这样工作的,但是有没有办法修改它,我将我的类设置为curve-input\uu lg
或curve-input\uu sm
但它将继承curve-input
类?您可以通过向\uu lg和\uuu sm
类。但是你会像在这里一样超越BEM的使用。所以我建议使用曲线输入曲线输入lg
作为你的类属性,当我将其设置为曲线输入曲线输入lg
时,它的工作原理就是这样,但是有没有办法修改这个,我只将我的类设置为Curve-input\uuu lg
或Curve-input\uuuu sm
但它将继承Curve-input
类?您可以通过将边框半径、高度和边距添加到\uu lg
和\uu sm
类中来实现。但这样您就可以像在这里一样超越BEM的使用。因此我建议使用Curve-input Curve-input Curve-input__lg
作为您的类属性,您可以将类拆分为曲线输入
,\uu lg
作为两个不同的类。您也可以将类拆分为曲线输入
,\uu lg
作为两个不同的类