本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

报码:【j2开奖】【第730期】提升你的CSS

时间:2016-10-13 04:02来源:天下彩论坛 作者:本港台直播 点击:
印象中比较少分享css相关的,有得话也是css modules的话题,今天的文章由@安生、@墨白翻译分享,文中谈到的四条经验值得我们年轻人注意。 正文从这开始~ CSS第一眼看起来很容易。毕

  印象中比较少分享css相关的,有得话也是css modules的话题,今天的文章由@安生、@墨白翻译分享,文中谈到的四条经验值得我们年轻人注意。

  正文从这开始~

  CSS第一眼看起来很容易。毕竟它只是样式对吧。 但是,等过了一段时间后你就会发现CSS它真正的内涵及深度。

  当大量书写CSS时,有四点可以帮助你避免抓狂:语义化、模块化、制定一个命名规则、遵循单一功能的原则。

  语义化

  在HTML和CSS中有语义标记的概念。语义就是词语其本身意义及能恰当描述与其他东西之间的关系。在HTML里,它意味着使用正确恰当的语义标签,比如:

  

报码:【j2开奖】【第730期】提升你的CSS

  HTML语义化是很直观的,反观CSS语义化则非常抽象和主观。CSS语义化意味着要选择可以表达结构和功能信息的类名,一看就能让人容易明白那种。但又不能太具体,以便可以重用此类名。

  

报码:【j2开奖】【第730期】提升你的CSS

  为了更好说明良好的语义化类名,这里有一个简化后的Medium网站其CSS:

  

报码:【j2开奖】【第730期】提升你的CSS

  从代中你可以非常清晰地知道它的结构、各个部分的作用和含义。父类stream是一个文章列表。子类streamItem是一篇文章。我们可以直观看到这两者之间的关系。

  此外这些类名应用于每篇有具体文章的页面。

  你应该可以像阅读一本书一样去阅读HTML和CSS,j2直播,就像它们应该呈现一个个故事一样。一个故事会有主角和他们之间错综复杂的关系。许多语义化的CSS最终是会让你的变得可维护的。

  等进一步阅读,你可以看看 What Makes for Semantic Class Names,Naming CSS Stuff is Really Hard, Semantics and Sensibility。再深度阅读 About HTML semantics and front-end architecture

  模块化

  在基于组件开发比如React的时代,模块化是至关重要的。试想下由解构接口创建的组件模块作为构成元素。下例是Product Hunt's 的列表页,我们把它分解成几个不同的组件:

  

报码:【j2开奖】【第730期】提升你的CSS

  每一个带颜色的轮廓边视为一个组成部分。一个stream中包含多个streamItem。

  

报码:【j2开奖】【第730期】提升你的CSS

  其中还可以细分成更小的组件。

  

报码:【j2开奖】【第730期】提升你的CSS

  每个streamItem部分都有一个缩略图thumbnail和一些产品信息content。

  

报码:【j2开奖】【第730期】提升你的CSS

  因为stream组件与其子元素互相独立,所以你可以轻松地调整或切换子类而不用涉及到更改stream类。

  模块化可以让你的代码低耦合,这让你的类之间互相牵制的可能性也会更少。代码也更容易修改和运行。

  

报码:【j2开奖】【第730期】提升你的CSS

  当模块化你的CSS时,首先要把你的设计解构成组件。在纸上画或者用AI和Sketch都可以。标识组件可以给你命名类名的方向,也让你明晰它们之间的关系。

  阅读更多关于组件驱动CSS,可以看看 CSS Architectures: Scalable and Modular Approaches, Writing Modular CSS with Sass,Modularizing Your Front-End Code for Long Term Maintainability and Sanity

  选择一个良好的命名规范

  许多人可能认为它们的规范是最好的,但事实上并没有一个标准,适合的就是最好的。我听过的一个最好的建议是:选择对你来说最有意义的命名约定。

  这里有一些人们常用的命名规范:

Object oriented CSS OOCSS

Block element modifier (BEM)

Scalable and modular architecture for CSS (SMACSS)

Atomic

  个人最喜欢BEM。Yandex,是一家在俄罗斯相当于谷歌的公司,界于它们大规模的CSS代码库,他们提出来了这个规范。

  

报码:【j2开奖】【第730期】提升你的CSS

  BEM是最简单,也是目前为止最严格的命名规范。

  

  Block代表最高优先级的类名。Element则是Block的子类。modifier则代表不同的状态。

  

报码:【j2开奖】【第730期】提升你的CSS

  

  在上面的例子中,类名search就是Block,而 search 按钮就是其子类,如果我们想要改变按钮的状态,我们可以增加一个 modifier,如active

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容