准修饰选择器(Quasi-qualified selectors)

你应当避免过分修饰选择器,例如如果你能写 .nav{} 就尽量不要写 ul.nav{}。过分修饰选择器将影响性能,影响 class 复用性,增加选择器私有度。这些都是你应当竭力避免的。

不过有时你可能希望告诉其他开发者 class 的使用范围。以 .product-page 为例,这个 class 看起来像是一个根容器,可能是 html 或者 body 元素,但是仅凭 .product-page 则无法判断。

我们可以在选择器前加上准修饰(即将前面的类型选择器注释掉)来描述我们规划的 class 作用范围:

CSS Code复制内容到剪贴板
  1. /*html*/.product-page{}  

这样我们就能准确获知该 class 的作用范围而不会影响复用性。

其它例子如:

CSS Code复制内容到剪贴板
  1. /*ol*/.breadcrumb{}   
  2. /*p*/.intro{}   
  3. /*ul*/.image-thumbs{}  

这样我们就能在不影响代码私有度的前提下获知 class 作用范围。
代码标签

如果你写了一组新样式的话,可以在它上面加上标签,例如:

CSS Code复制内容到剪贴板
  1. /**  
  2.  * ^navigation ^lists  
  3.  */  
  4. .nav{}   
  5.   
  6. /**  
  7.  * ^grids ^lists ^tables  
  8.  */  
  9. .matrix{}  

这些标签可以使得其他开发者快速找到相关代码。如果一个开发者需要查找和列表相关的部分,他只要搜索 ^lists 就能快速定位到 .nav,.matrix 以及其它相关部分。
继承标记

将面向对象的思路用于 CSS 编写的话,你经常能找到两部分 CSS 密切相关(其一为基础,其一为拓展)却分列两处。我们可以用继承标记来在原元素和继承元素之间建立紧密联系。这些在注释中的写法如下:

在元素的基本样式中:

CSS Code复制内容到剪贴板
  1. /**  
  2.  * Extend `.foo` in theme.css  
  3.  */  
  4.  .foo{}  

在元素的拓展样式中:

CSS Code复制内容到剪贴板
  1. /**  
  2.  * Extends `.foo` in base.css  
  3.  */  
  4.  .bar{}  

这样一来我们就能在两块相隔很远的代码间建立紧密联系。

华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。