怎样高效的使用CSS选择符

这次给大家带来怎样高效的使用CSS选择符,高效使用CSS选择符的注意事项有哪些,下面就是实战案例,一起来看一下。

最初写CSS的时候,觉得很简单,写得天马行空。后来慢慢的发现,没有规则的瞎写,虽然也能实现效果,但是在实际开发中可能会多做无用功或是重复做功,并且CSS并不高效。于是后期开发时就特意按照一定的规则,尽可能的写出高效的,可复用的CSS,总结一下,主要是是以下几个方面。

首先看一小段 CSS 代码:

#menus > li { font-size: 14px; }

登录后复制

怎样高效的使用CSS选择符

可能大家都会猜想浏览器会使从左到右匹配上面的规则,我们会想象浏览器先找到唯一的 id 为 menus 的元素,然后把样式应用到其直系子元素 li 元素上。这看起来好像还挺高效的。

但是,事实上,CSS 选择符是从右到左进行匹配的。所以,上面的这条规则并不高效,浏览器必需遍历页面上的每个 li 元素并确定其父元素的 id 是否为 menus。

样式系统从最右边的选择符开始向左匹配规则。只有当前选择符的左边还有其他的选择符,样式系统就会继续向左移动,直到找到和规则匹配的元素,或者因为不匹配而退出。

编写高效的CSS选择符有以下常用规则:

怎样高效的使用CSS选择符

一、避免使用通配规则

除了传统意义上的通配选择符之外,我们把相邻兄弟选择符、子选择符、后代选择符合属性选择符都归纳到通配规则分类下,推荐仅使用 ID、类和标签选择符。

二、不要限定 ID 选择符

在页面中一个指定的ID只能对应一个元素,所以没有必要添加额外的注意事项。例如,p#header是没有必要的,应该简化为#header。

三、不要限定类选择符

不要用具体的标签限定类选择符,而是根据实际情况对类名进行扩展。例如,把li.chapter改成.li-chapter,或是.list-chapter更好。

四、让规则越具体越好

不要试图编写像 ol li a 这样的长选择符,最好是创建一个像.list-anchor一样的类,并把它添加到适当的元素上。

五、避免使用后代选择符

通常处理后代选择符的开销时最高的,而使用子选择符也可以得到想要的结果,并且更加高效。

六、避免使用标签—子选择符

如果有像#menus > li > a这样的基于标签的子选择符,那么应该使用一个类来关联每个标签元素,例如.menus-item。

七、质疑子选择符的所有用途

检查所有使用子选择符的地方,然后尽可能用具体的类取代它们。

八、依靠继承

了解哪些属性可以通过继承而来,然后避免对这些属性重复指定规则。例如,对列表元素而不是每个列表元素指定注意事项。请参考继承属性的列表来了解每个元素的可继承的属性。

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

注意事项

注意事项

以上就是怎样高效的使用CSS选择符的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2899194.html

(0)
上一篇 2025年3月10日 23:42:59
下一篇 2025年3月10日 23:43:11

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • CSS3实现瀑布流布局的方法

    这次给大家带来CSS3实现瀑布流布局的方法,CSS3实现瀑布流布局的CSS3实现瀑布流布局有哪些,下面就是实战案例,一起来看一下。 以前使用瀑布流都要用js,现在有了css3,可以轻松实现了。 掌握点: 1、column-count 把p中…

    编程技术 2025年3月10日
    200
  • CSS3做出倒影的图文详解

    这次给大家带来css3做出倒影的图文详解,css3做出倒影效果的注意事项有哪些,下面就是实战案例,一起来看一下。 效果图如下: 示例图片 在CSS3之前,想要实现示例图片这样的一个倒影效果一般只能通过处理图片的方式,而CSS3问世之后,想要…

    2025年3月10日 编程技术
    200
  • CSS3做出无缝轮播广告

    这次给大家带来CSS3做出无缝轮播广告,CSS3做出无缝轮播广告的注意事项有哪些,下面就是实战案例,一起来看一下。 无缝轮播的原理图 1 . html的架构 : @@##@@ @@##@@ @@##@@ @@##@@ @@##@@ @@##…

    2025年3月10日
    200
  • 完全利用CSS实现元素居中

    这次给大家带来完全利用CSS实现元素居中,利用CSS实现元素居中的注意事项有哪些,下面就是实战案例,一起来看一下。 前言 记得有次找工作面试的时候,一面试官问了一个CSS方面的问题:如何让元素在浏览器窗口中上下左右居中。我记得当时给了个答案…

    编程技术 2025年3月10日
    200
  • css3的pointer-events使用详解

    这次给大家带来css3的pointer-events使用详解,使用css3的pointer-events的注意事项有哪些,下面就是实战案例,一起来看一下。 pointer-events 是什么? 顾名思义,pointer-events 是一…

    2025年3月10日
    200
  • CSS制作“正在加载”提示框

    这次给大家带来CSS制作“正在加载”提示框,CSS制作“正在加载”提示框的注意事项有哪些,下面就是实战案例,一起来看一下。  需求:               有时加载数据比较慢,页面一直没有反应,用户也许会不停的刷,而且用户体验也不好 …

    2025年3月10日
    200
  • css清除浮动float的兼容性方法

    这次给大家带来css清除浮动float的兼容性方法,css清除浮动float兼容性清除浮动有哪些,下面就是实战案例,一起来看一下。 在清除浮动前我们要了解两个重要的定义: 浮动的定义:使元素脱离文档流,按照指定方向发生移动,遇到父级边界或者…

    编程技术 2025年3月10日
    200
  • 用css3做出气球图片样式

    这次给大家带来用css3做出气球图片样式,用css3做出气球图片样式的图片有哪些,下面就是实战案例,一起来看一下。 气球效果图: html: 登录后复制 css: .balloon{ width: 160px; height: 160px;…

    2025年3月10日
    200
  • css实现操作table列

    这次给大家带来css实现操作table列,css实现操作table列的注意事项有哪些,下面就是实战案例,一起来看一下。 前言 最近在做的后台管理系统要处理大量的表格,因为原项目是采用的注意事项加拼接字符串的方式实现;导致js代码一大堆;各种…

    编程技术 2025年3月10日
    200
  • CSS图片下有间隙如何处理

    这次给大家带来CSS图片下有间隙如何处理,处理CSS图片下有间隙的CSS图片有哪些,下面就是实战案例,一起来看一下。 在进行页面的p+CSS排版时,遇到IE6(当然有时Firefox下也会偶遇)浏览器中的图片元素img下出现多余空白的问题绝…

    编程技术 2025年3月10日
    200

发表回复

登录后才能评论