学习css开发(6个css学习方法)


不必需要自己制定编写CSS的规则,你可以选择接纳一个已经已经由社群设计、经由诸多项目检验的方法,并从中获益。这些方法论都是有着结构化的编写和组织CSS途径的CSS代码指南。典型地,与你为你的项目编写和优化每个选择器为自己定义的规则组相比,它们会倾向于产生更多的多余代码。

但是,在接纳了一个方法以后,你的代码会更有条理,而且因为这些体系许多都是被很广泛使用的,其他的开发者更有可能理解你在使用的方式学习css开发(不必需要自己制定编写CSS的规则,CSS代码指南),会以相同的方式编写他们自己的代码,而不需要从头接纳你自己的个人方法论。

OOCSS

你会遇到的大多数方式都有一部分归功于面向对象的CSS(OOCSS)的概念,这是一种因Nicole Sullivan的努力而流行的方式。OOCSS的基本理念是将你的CSS分解成可复用的对象,于是你可以在你的站点上任何需要的地方使用。OOCSS的标准示例是在The Media Object中所描述的排布。这一排布一方面让图片、视频或者其他元素保持固定尺寸,而另一方面也让其他内容可伸缩。这是我们在用于评论、列表等网站随处可见的排布。

如果你没有使用一种OOCSS的方法,你或许会创建一个用在这种排布所应用的不同地方的自定义CSS,例如创建一个叫做comment的类,用于组件部分的一组规则,然后是叫做list-item的类,除了一些细小的区别外学习css开发,它几乎和comment类完全相同。这两个组件之间的不同是列表项有一个底边,在评论里的图像有边框而列表项里面的图像没有。

.comment {
  display: grid;
  grid-template-columns: 1fr 3fr;
}
.comment img {
  border: 1px solid grey;
}
.comment .content {
  font-size: .8rem;
}
.list-item {
  display: grid;
  grid-template-columns: 1fr 3fr;
  border-bottom: 1px solid grey;
}
.list-item .content {
  font-size: .8rem;
}

在OOCSS中,你可以建立一个叫作media的排布,里面包含所有的两种排布所共有的CSS——一个大致用于媒体对象的形状之类的基础类。然后我们再额外加入一个类,处理那些微小的区别,这样特定地扩展基础样式。

.media {
  display: grid;
  grid-template-columns: 1fr 3fr;
}
.media .content {
  font-size: .8rem;
}
.comment img {
  border: 1px solid grey;
}
 .list-item {
  border-bottom: 1px solid grey;
} 

在你的HTML里面,评论需要同时应用media和comment类:

<div class="media comment">
  <img />
  <div class="content">div>
div>

列表项应用了media和list-item:

学习css开发_css样式学习_css高效开发实战 pdf

<ul>
  <li class="media list-item">
    <img />
   <div class="content">div>
  li>
ul>

Nicole Sullivan在描述这种方式和推广上所做的工作导致,即使是那些不严格遵守OOCSS方式的人,今天也可以大致以这种方式复用CSS,它已经普遍地进入到我们的理解当中,成为了与事物交互的好办法。

BEM

BEM即为块级元素修饰字符(Block Element Modifier)。在BEM中,一个块学习css开发,例如一个按钮、菜单或者标志,就是独立的实体。一个元素就像一个列表项或者标题一样,被绑定到它所在的块。修饰字符是标记到一个块或者元素的标识,能够改变样式或者行为。你能认出使用BEM的代码,因为代码中在CSS的类里使用了多余的一个下划线和连字符。例如看看这个来自关于BEM命名常规的页面里面的HTML所应用的类:

<form class="form form--theme-xmas form--simple">
  <input class="form__input" type="text" />
  <input
    class="form__submit form__submit--disabled"
    type="submit" />
form>

增加的类和应用到OOCSS例子里面的相似,但是它们遵守了BEM严格的命名常规。

BEM在大些的Web项目中被广泛使用,许多人用这种方式写他们的CSS。你可能会在没有提及为何CSS如此布局的时候,遇到BEM语法的例子,甚至是在教程中

阅读BEM 101 中关于CSS Tricks的段落以了解更多和这个系统相关的信息。

其他常见体系

应用中,有很多这样的体系。其他流行的方式包括Jonathan Snook创造的Scalable and Modular Architecture for CSS (SMACSS)、Harry Roberts的ITCSS以及原本由Yahoo!创造的Atomic CSS (ACSS)。如果你遇到了使用这几种方式之一的项目,那么好处就是你可以搜索到许多文章和指导,帮你理解如何以同种方式写代码。

使用这样的体系的缺点是,它们会看起来过于复杂,尤其是对于小项目。


免费领取: 只要加微信,回复“入门视频”,即刻获取 全网最系统,最容易入门的的Web前端入门全套视频,C语言入门全套入门视频,大数据全套入门视频,PhP全套入门视频,Pathon全套入门视频,Java全套入门视频!!!微信号:18370228235 ,立即领取!
版权申明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站不拥有所有权,不承担相关法律责任。如发现有侵权/违规的内容, 联系QQ892482387,本站将立刻清除。

分享到