FE.CSS-选择器与伪类使用技巧

引用文字

内容来自《CSS选择器世界》

css选择符辨析

  • (空格) 后代

    • 选择器优先级相同,后来居上
    • document.querySelector('#myId').querySelectorAll(':scope div div')
  • >

    • 主要目的:避免冲突
    • 场景:状态类名控制、标签受限、层级位置与动态判断
  • + 相邻

    • 为兼容IE8实现:first-child
  • ~ 随后

    • 随前实现:视觉在前,dom在后
  • ||

    • 跨列td选择

选择器模式

  • amcss [am-button~="large"]{}
  • 正则:开头 [attr^="val"]; 结束 [attr$="val"]; 包含 [attr*="val"]

css选择器最佳实践

  • 小写、短命名,同一前缀组合‘-’命名<5;
  • 面向属性、语义(html标签、属性、伪类)的命名
  • 不要驼峰、id、嵌套、标签、*选择器
  • 状态类名:.active自身无样式
  • 样式类型:重置、基础、交互变化
/* 网站变量 */
:root{--base-color:#4c5161;}
/* 样式重置 */
body,p,dd,dl,h1,...,ol,ul{margin:0}
/* 通用结构 */
.cs-header{}
.cs-main{}
.cs-footer{}
/* 组件样式 */
.cs-icon{}
.cs-button{}
.cs-dialog{}
/* 模块样式 */
.cs-module-header{}
.cs-module-title{}
.cs-module-x{}
/* 业务样式 */
.cs-some-...
/* css样式库 */
.dn{display:none}
.db{display:block}
.dib{display:inline-block}
.fl{float:left}

伪类

你可能感兴趣的:(css)