• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >CSS > CSS中的层分离编程详解

CSS中的层分离编程详解

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-08-06

本文主要包含CSS,层等相关知识,佚名 希望在学习及工作中可以帮助到您

随着CSS的发展,使用CSS有语义化的命名约定和CSS层的分离,将有助于它的可扩展性,性能的提高和代码的组织管理。

在我前面的文章中讨论很多关于CSS的问题都可以通过使用一个适当的CSS策略来避免。在这篇文章里,我将着重于讨论使用一种方法或者一个命名规则所带来的好处。

这里有很多可供使用的前端方法和命名规则,每个都有自己的优缺点。在几乎所有的案例中CSS被分割成更易于管理的代码“块”。CSS的这种分割方式定义了每一种方法。
命名规则

一个可靠命名规则的重要性是不可忽视的。就像组织结构带来的好处一样,这里有很多性能上的优势让你能够坚持地,有责任感地去命名你的选择器。

正确使用任何规则将会在大型项目减少与CSS相关的忧虑而发挥关键的作用
BEM

最流行的命名规则之一就是BEM(block:块,Element:元素,Modifier:修饰符)。通过给每个元素添加它的父级block模块作为前缀,使得目标的安全性变得更加简单了。BEM还有助于消除页面和body类对嵌套或者附加样式依赖。

  1. .block {}   
  2. .block__element {}   
  3. .block--modifier {}  

上面的例子展示了一个BEM项目的类结构,下划线(__)被用来区分元素,而用连字符(--)是用来修饰元素的。下面是一个现实世界的例子...

  1. .product-details {}   
  2. .product-details__price {}   
  3. .product-details__price--sale {}  

BEM中的一个圈套是引诱在修饰部分中添加多种用途的样式类。大的,小的,绿色的或者醒目的等修饰选择器被提出引入到标记中,这在不久的将来将会发生改变。

  1. .product-details {}   
  2. .product-details__title {}   
  3. .product-details__title--small {}  

像大多数的多用途类一样,在项目一开始的时候意图很明显,但是当一个设计改变的时候常常会导致矛盾的CSS。
SUIT

Suit起源于BEM,但是它对组件名使用驼峰式和连字号把组件从他们的修饰和子孙后代中区分出来。

  1. .u-utility {}    
  2. .ComponentName {}    
  3. .ComponentName--modifierName {}    
  4. .ComponentName-descendantName {}    
  5. .ComponentName.is-someState {}   

通过消除潜在的混乱连字符号连接元素名来使得选择器的可读性更强。

  1. .ProductDetails {}   
  2. .ProductDetails-price {}   
  3. .ProductDetails-title--sale {}  

加前缀

如果你不想使用如此严格或者复杂的命名规则,给每一个选择器加前缀同样可以达到这样的效果。

  1. .s-product-details {}   
  2. .t-product-details {}   
  3. .js-product-details {}  

这种方法使得它很容易的在表象类中辨别结构类但是只是简单的写和理解。在上面的例子中的结构属性将会被应用到s-product-details选择器中。主题属性将应用于t-product-details选择器。

元素可以以同样的方式定义或者使用基类和修饰类...

  1. <button class="button">Button</button>  
  2. <button class="button button-checkout">Checkout Button</button>  
  3. <button class="button button-search">Search Button</button>  

从一方面说明在Sass partials中加前缀对于当在文件夹中删除必要的存储partials时对一个很大的项目文件定位是很有帮助的。这种方法被使用于ITCSS中。

你选择什么都没有问题,重要的是记住你的选择,并将他们应用到整个项目中。
方法

随着命名规则的增加,CSS变得更安全,更高效了。由于较小的CSS文件和更少的权重问题,所需要的嵌套选择器将会减少。

尽管有这些改进你仍可以像下面的这个例子使用复制的CSS来完成样式。

  1. .product-details__title {   
  2.     font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;   
  3.     text-transform: 

您可能想查找下面的文章:

  • css小技巧
  • 各大网站CSS初始化代码
  • css权重问题
  • CSS实现鼠标上移图标旋转效果
  • 使用CSS3制作一个简单的进度条(demo)
  • 用纯CSS实现饼状Loading等待图效果
  • 利用CSS3伪元素实现逐渐发光的方格边框
  • CSS3实现内凹圆角的实例代码
  • 利用HTML5+CSS3实现3D转换效果实例详解
  • css3+伪元素实现鼠标移入时下划线向两边展开的效果

相关文章

  • 2017-08-06使用CSS实现中间镂空的图片遮罩效果
  • 2017-08-06去掉checkbox边框的方法(css)
  • 2017-08-06图片下面出现空白像素BUG的常用解决方法归纳
  • 2017-08-06CSS3 重置iphone浏览器按钮input,select等表单元素的默认样式
  • 2017-08-06让文字旋转270度的css样式
  • 2017-08-06Web页面中八种创建多列等高(等高列布局)的实现技术
  • 2017-08-06浅谈CSS伪类与伪元素
  • 2017-08-06支持IE8的纯css3开发的响应式设计动画菜单教程
  • 2017-08-06对css性能优化的一点看法
  • 2017-08-06英文换行问题 css breakword

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • css实例教程 一款纯css实现的垂直时间线效果
    • CSS实现鼠标悬浮出现遮罩层示例源码
    • html5+css3之制作header实例与更新
    • 固定宽高且DIV绝对居中实现思路及示例
    • CSS 之margin知识点(必看)
    • 纯CSS3实现8组超炫酷鼠标滑过图片动画
    • 不同浏览器对CSS3和HTML5的支持状况
    • div+css用边框实现圆角矩形(多样式)
    • bgiframe插件解决IE6 DIV档不住下拉选择框
    • css如何去掉点击a链接带来的虚框

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有