返回顶部
首页 > 资讯 > 前端开发 > node.js >如何用SMACSS规范来编写CSS
  • 469
分享到

如何用SMACSS规范来编写CSS

2024-04-02 19:04:59 469人浏览 八月长安
摘要

本篇文章为大家展示了如何用SMacSS规范来编写CSS,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。这是一个相对繁杂的CSS理论,分为Base、Layout、Mod

本篇文章为大家展示了如何用SMacSS规范来编写CSS,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

这是一个相对繁杂的CSS理论,分为Base、Layout、Module、Status和Theme共五个部分。不过它的核心思想仍然和OOCSS类似,鼓励使用class。

1. Base 基本属性

基础属性很容易理解,就是最基本的东西,很多样式简单的网站都采用一个简单的二级CSS文件模式,一个base.css通用于所有页面,而每个页面有一个特定的CSS文件,我想这就是Base的雏形。要说具体是什么,比如reset文件,再比如放置clearfix或BFC的一些类似工具集的文件。

其实最终会发现,在Base中的CSS属性将会是几乎全站都要用到的属性,但我不想这么描述Base,因为这会误导人。大多数情况下,在一个网站建立之初也只会有几个简单的页面,于是这几个页面都要用到的属性就变成了通用属性,但并不是这么简单的。随着网站规模的扩大,需求的增加,设计师们灵感的迸发,所谓的通用和统一也在发生着潜移默化。所以在编写Base时,应该遵循的基准是,哪些样式是你做下一个网站时也会想用的,哪些样式即使设计改变了也只需要改变一些数值和颜色,哪些样式是一些基本原则;而不应该将目前大部分页面都在使用的样式放在Base中,还是那个道理,它们也许仅仅是恰好相同,而非逻辑一致。

2. Layout 布局

布局是一个网站的基本,无论是左右还是居中,甚至其他什么布局,要实现页面的基本浏览功能,布局必不可少。SMACSS将这一功能单独提出也是非常正确的,另外还约定了一个前缀l-/layout-来标识布局的class。举个最普遍的例子。

代码如下:

.l-header {}
   .l-brand {}
   .l-navigator {}
.l-container {}
   .l-sidebar {}
   .l-content {}
.l-footer {}

这就是一个简单的左右布局,导航和LoGo中规中矩在最顶部。

3. Module 模块

模块是SMACSS最基本的思想,同时也是大部分CSS理论的基本,将样式模块化就能达到复用和可维护的目的,但是SMACSS提出了更具体的模块化方案。首先表象上来看,SMACSS中的模块应该拥有一个名字,并且为其class名,而模块其他class皆以为前缀。比如:

CSS Code复制内容到剪贴板

  1. .product {}   

  2.     .product-title {}   

  3.     .product-image {}   

  4.     .product-border {}   

  5.     .product-shadow {}  

可以看到例子中product是一个模块,title和image是包含在模块内的组件,可用可不用;border和shadow是类似OOCSS的附加class用来改变模块本身。总之,在模块内可以使用其名称做前缀任意组织模块结构,但目前是让其变得更易用,提高可扩展性和灵活度,如果仅仅为了某些功能而特意写一些class就有点有形无实的感觉了。

4. State 状态

状态经常和javascript放在一起使用,它是一种用来标识页面状态的class,无论是为用户标识还是用程序标识。还是一个常见的例子,马上就明白。active经常用来表示当前的tab,或者当前选中的目标,这就是一种状态,无论是样式还是程序都需要知道它。

SMACSS仍然有一个对应的前缀用于标示状态class,is-是一个合适的词,指明某一元素是什么状态。

5. Theme 主题

主题就是皮肤,和OOCSS的分离皮肤与结构不谋而合。更重要的是对于可更换皮肤的站点来说,这样的分离是非常必要的,只需要更换加载的theme文件即可将皮肤更换。

总的来说,SMACSS是一个较为注意细节与实现的CSS理论,非常适合初涉CSS的人,它可以让你的CSS跑在轨道上而不至于脱轨。其思想也与OOCSS有很多相通之处,如果没有适合的方案,我建议新手可以适当的融入OOCSS的思想而使用SMACSS的结构,这样写出来的网站样式至少不会马上陷入泥沼。

上述内容就是如何用SMACSS规范来编写CSS,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网node.js频道。

--结束END--

本文标题: 如何用SMACSS规范来编写CSS

本文链接: https://lsjlt.com/news/81792.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何用SMACSS规范来编写CSS
    本篇文章为大家展示了如何用SMACSS规范来编写CSS,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。这是一个相对繁杂的CSS理论,分为Base、Layout、Mod...
    99+
    2024-04-02
  • CSS编写规范的建议有哪些
    CSS编写规范的建议有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。避免过度约束作为一般规则,不添加不必要的约束。CSS Code复制...
    99+
    2024-04-02
  • 如何写CSS样式变得更规范
    这篇文章主要讲解了“如何写CSS样式变得更规范”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何写CSS样式变得更规范”吧!1. 按字母顺序来排列css 不按字母顺序排的:代码如下:div#...
    99+
    2023-06-08
  • CSS代码高效编写规范有哪些
    这篇文章将为大家详细讲解有关CSS代码高效编写规范有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一些高效的CSS代码编写规范CSS学起来并不难,但在大...
    99+
    2024-04-02
  • 如何理解Discuzx系统CSS编码规范与CSS属性书写顺序
    本篇内容主要讲解“如何理解Discuzx系统CSS编码规范与CSS属性书写顺序”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何理解Discuzx系统CSS编码...
    99+
    2024-04-02
  • 在java中如何编写规范的代码
    本篇内容介绍了“在java中如何编写规范的代码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、MyBatis 不要为了多个查询条件而写 1...
    99+
    2023-06-16
  • 如何编写规范的 PHP 函数文档?
    为 php 函数编写文档应遵循标准化惯例,包括命名规范、使用 @param、@return 和 @throws 标签指定参数类型、返回值类型和异常类型,并采用 psr-5 注释块标准。以...
    99+
    2024-04-27
    php 函数文档规范
  • CSS如何使用BEM命名规范
    这篇文章将为大家详细讲解有关CSS如何使用BEM命名规范,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。BEM(块,元素,修饰符)是基于组件的Web开发的一种前端命名方法论,主要针对CSS。其背后的想法是将...
    99+
    2023-06-08
  • 如何编写符合 Golang 编码规范的函数注释?
    根据 go 编码规范编写函数注释的方法:1. 使用 godoc 格式;2. 包含必要信息(名称、描述、参数、返回值);3. 使用格式化代码;4. 提供示例;5. 使用 golint 工具...
    99+
    2024-04-19
    go 注释 golang
  • 如何规范地写PHP代码
    本篇内容主要讲解“如何规范地写PHP代码”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何规范地写PHP代码”吧!一个好的编码习惯靠平时的习惯养成,团队里有好的编码规范,并且每个人都按照制定的编...
    99+
    2023-06-20
  • 如何撰写符合 Golang 文档编写规范的函数文档?
    遵循以下步骤撰写符合 golang 文档编写规范的函数文档:1. 函数签名(包含函数名称、参数和返回值类型);2. 函数描述(简要描述函数功能);3. 参数(指定名称、类型和描述);4....
    99+
    2024-05-04
    go 写函数文档 golang
  • 如何确保 PHP 函数文档始终符合编写规范?
    为确保 php 函数文档符合规范,应遵循以下步骤:使用 php docblock 规范参数和返回类型;遵循 php 文档规范,提供准确描述、完整参数和清晰示例;使用自动化工具(如 php...
    99+
    2024-04-27
    规范 文档
  • 如何在PHP开发中优化代码编写和命名规范?
    如何在PHP开发中优化代码编写和命名规范?在 PHP 开发中,优化代码编写和命名规范是非常重要的,它们可以提高代码的可读性、可维护性和可扩展性。本文将介绍一些在 PHP 开发中优化代码编写和命名规范的方法。一、代码编写的优化使用合理的缩进和...
    99+
    2023-11-04
    代码 优化 命名规范
  • 如何使用Sass来编写面向对象的CSS代码
    本篇文章为大家展示了如何使用Sass来编写面向对象的CSS代码,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。自从2008年Nicole Sullivan提出Obje...
    99+
    2024-04-02
  • 如何使用Dreamweaver的代码模式来编写DIV和CSS
    这篇文章主要介绍了如何使用Dreamweaver的代码模式来编写DIV和CSS的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何使用Dreamweaver的代码模式来编写DIV...
    99+
    2024-04-02
  • CSS注释怎么用?该怎么写有什么规范吗?
    这篇文章将为大家详细讲解有关CSS注释怎么用?该怎么写有什么规范吗?,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。CSS 注释规范和用法 CSS 注释用于向代码添加解释性说明,提高可读性和可维护性。它不会...
    99+
    2024-04-02
  • Apache的URL重写规则如何编写
    Apache的URL重写规则可以通过在Apache的配置文件中使用或标签来编写。以下是一个简单的例子: <Directory /var/www/html> RewriteEngine On RewriteRule ^ol...
    99+
    2024-07-05
    apache
  • CSS代码需要注意的编写规范及优化建议有哪些
    CSS代码需要注意的编写规范及优化建议有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。结构、样式、行为分离尽量确保文档和模板只包含 H...
    99+
    2024-04-02
  • 如何编写HTML和CSS
    这篇文章主要介绍了如何编写HTML和CSS,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。本文分享了6中最有效的方法,希望能提供你的效率,为你节约时间。 Dynamic CSS...
    99+
    2023-06-08
  • Go编程语言如何用来编写Web应用
    这篇文章主要为大家展示了“Go编程语言如何用来编写Web应用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Go编程语言如何用来编写Web应用”这篇文章吧。Go语...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作