CSS最佳实践:添加修改类或创建全新类
我发现自己现在在写css的方式上有点改变,我不确定这是好是坏。 假设我有一个类CSS最佳实践:添加修改类或创建全新类,css,Css,我发现自己现在在写css的方式上有点改变,我不确定这是好是坏。 假设我有一个类容器 .container { display: block; border: 1px solid red; padding: 20px; height: 400px; } 现在,让我们假设在一些地方,我还想要一个更小的容器,比如说150px的高度。最好的办法是什么 以前我会上一节课: .container-small { display: block; border: 1px solid red; padding:
容器
.container { display: block; border: 1px solid red; padding: 20px; height: 400px; }
现在,让我们假设在一些地方,我还想要一个更小的容器,比如说150px的高度。最好的办法是什么
以前我会上一节课:
.container-small { display: block; border: 1px solid red; padding: 20px; height: 150px; }
然而,很明显,现在我的css文件中有了复制。因此,最近我开始使用修饰符类,如small
,并将其添加到容器旁边的HTML中,然后将其添加到css文件中,如下所示:
.container.small { height: 150px }
我可以预见的问题是,如果我有另一个类,如banner
,我将small
类添加到该类中,但将其设置为90px高度,这可能会让其他人对我的项目感到困惑?因为small
在不同的地方做着不同的事情。这已经是一个被接受的范例了吗?还是每次我都应该使用新类,就像使用small
一样,但每个类都有新名称
.container-small { height: 150px }
及
我喜欢在每个元素中添加small
、big
、wide
或任何修改类的简单方法,但是有什么具体原因说明这是个坏主意吗?我认为使用这样的修改类会稍微慢一点,因为css在丢弃标记之前会以一堆小的标记为目标,因为它们位于错误的元素旁边,但这可能是微不足道的
最好的做法是什么?也许你应该像这样将这些类分开
仅放置文本大小、颜色和类型的横幅
小的将只有大小和可能的边界颜色和大小
容器将具有与上面相同的flex容器属性
等等等等等等
class="banner small"
class="container big"
class="inside_container small"
也许你应该像这样分开上课
仅放置文本大小、颜色和类型的横幅
小的将只有大小和可能的边界颜色和大小
容器将具有与上面相同的flex容器属性
等等等等等等
class="banner small"
class="container big"
class="inside_container small"
我认为你应该从阅读CSS方法开始。OOCSS、BEM、SMACSS有三种不同的方法,至少它们是最流行的。例如,你可以从这个开始我认为你应该从阅读CSS方法开始。OOCSS、BEM、SMACSS有三种不同的方法,至少它们是最流行的。例如,您可以从这一点开始,最佳做法会随着年份和谈话对象的不同而变化,但一种常见的做法是使用名称空间,如
.container.container small{}
就我个人而言,我是这样做的
.container.small{}
然后使用Less或SASS嵌套它,以保持可读性。最佳做法会随着年份和谈话对象的不同而变化,但一个常见的做法是使用名称空间,如
.container.container small{}
就我个人而言,我是这样做的
.container.small{}
然后使用Less或SASS嵌套它以保持可读性。您看过BEM吗?这是在HTML和CSS中命名类的比较流行的方法之一——这个问题要么过于宽泛,基于观点,要么需要讨论,因此对于堆栈溢出来说是离题的。如果您有一个具体的、可回答的编程问题,请提供完整的详细信息。您可以将sass与BEM结合使用,以获得更结构化和有组织的代码。有像占位符和mixin这样的功能可以用来扩展所需的属性来修改特定的类。你看过BEM吗?这是在HTML和CSS中命名类的比较流行的方法之一——这个问题要么过于宽泛,基于观点,要么需要讨论,因此对于堆栈溢出来说是离题的。如果您有一个具体的、可回答的编程问题,请提供完整的详细信息。您可以将sass与BEM结合使用,以获得更结构化和有组织的代码。可以使用占位符和mixin等功能来扩展所需的属性以修改特定类。