CSS选择器世界

作者
丛书名
出版社
人民邮电出版社
ISBN
9787115517227
简要
简介
内容简介书籍计算机书籍 CSS选择器是CSS世界的支柱,撑起了整个精彩纷呈的CSS世界。本书专门介绍CSS选择器的相关知识。在本书中,作者结合多年从业经验,在CSS基础知识之上,充分考虑前端开发人员的开发需求,以CSS选择器的基本概念、优先级、命名、*实践以及各伪类选择器的概述和适用场景为技术主线,为CSS开发人员介绍有竞争力的知识和技能。此外,本书配有专门的网站,用以进行实例展示和问题答疑。 作为一本CSS进阶书,本书非常适合有一定CSS基础的前端开发人员学习和参考。
目录



第 1章 概述\t1


1.1 为什么CSS选择器很强\t1


1.2 CSS选择器世界的一些基本概念\t1


1.2.1 选择器、选择符、伪类和伪元素\t2


1.2.2 CSS选择器的作用域\t3


1.2.3 CSS选择器的命名空间\t4


1.3 无效CSS选择器特性与实际应用\t5


第 2章 CSS选择器的优先级\t7


2.1 CSS优先级规则概览\t7


2.2 深入CSS选择器优先级\t8


2.2.1 CSS选择器优先级的计算规则\t8


2.2.2 256个选择器的越级现象\t11


2.3 为什么按钮:hover变色了\t12


第3章 CSS选择器的命名\t13


3.1 CSS选择器是否区分大小写\t13


3.2 CSS选择器命名的合法性\t14


3.3 CSS选择器的命名是一个哲学问题\t17


3.3.1 长命名还是短命名\t18


3.3.2 单命名还是组合命名\t18


3.3.3 面向属性的命名和面向语义的命名\t20


3.3.4 我是如何取名的\t21


3.4 CSS选择器设计的最佳实践\t24


3.4.1 不要使用ID选择器\t25


3.4.2 不要嵌套选择器\t25


3.4.3 不要歧视面向属性的命名\t28


3.4.4 正确使用状态类名\t30


3.4.5 最佳实践汇总\t33


第4章 精通CSS选择符\t37


4.1 后代选择符空格( )\t37


4.1.1 对CSS后代选择符可能错误的认识\t37


4.1.2 对JavaScript中后代选择符可能错误的认识\t39


4.2 子选择符箭头(])\t41


4.2.1 子选择符和后代选择符的区别\t41


4.2.2 适合使用子选择符的场景\t42


4.3 相邻兄弟选择符加号(+)\t43


4.3.1 相邻兄弟选择符的相关细节\t44


4.3.2 实现类似:first-child的效果\t45


4.3.3 众多高级选择器技术的核心\t47


4.4 随后兄弟选择符弯弯(~)\t48


4.4.1 和相邻兄弟选择符区别\t48


4.4.2 为什么没有前面兄弟选择符\t49


4.4.3 如何实现前面兄弟选择符的效果\t49


4.5 快速了解列选择符双管道(||)\t52


第5章 元素选择器\t55


5.1 元素选择器的级联语法\t55


5.2 标签选择器二三事\t57


5.2.1 标签选择器混合其他选择器的优化\t57


5.2.2 标签选择器与自定义元素\t57


5.3 特殊的标签选择器:通配选择器\t58


第6章 属性选择器\t59


6.1 ID选择器和类选择器\t59


6.2 属性值直接匹配选择器\t60


6.2.1 详细了解4种选择器\t61


6.2.2 AMCSS开发模式简介\t66


6.3 属性值正则匹配选择器\t67


6.3.1 详细了解3种选择器\t68


6.3.2 CSS属性选择器搜索过滤技术\t71


6.4 忽略属性值大小写的正则匹配运算符\t72


第7章 用户行为伪类\t75


7.1 手型经过伪类:hover\t75


7.1.1 体验优化与:hover延时\t75


7.1.2 非子元素的:hover显示\t76


7.1.3 纯:hover显示浮层的体验问题\t78


7.2 激活状态伪类:active\t79


7.2.1 :active伪类概述\t79


7.2.2 按钮的通用:active样式技巧\t80


7.2.3 :active伪类与CSS数据上报\t82


7.3 焦点伪类:focus\t82


7.3.1 :focus伪类匹配机制\t83


7.3.2 :focus伪类与outline\t85


7.3.3 CSS :focus伪类与键盘无障碍访问\t86


7.4 整体焦点伪类:focus-within\t89


7.4.1 :focus-within和:focus伪类的区别\t89


7.4.2 :focus-within实现无障碍访问的下拉列表\t89


7.5 键盘焦点伪类:focus-visible\t91


第8章 URL定位伪类\t95


8.1 链接历史伪类:link和:visited\t95


8.1.1 深入理解:link\t95


8.1.2 怪癖最多的CSS伪类:visited\t97


8.2 超链接伪类:any-link\t100


8.3 目标伪类:target\t101


8.3.1 :target与锚点\t102


8.3.2 :target交互布局技术简介\t104


8.4 目标容器伪类:target-within\t108


第9章 输入伪类\t109


9.1 输入控件状态\t109


9.1.1 可用状态与禁用状态伪类:enabled和:disabled\t109


9.1.2 读写特性伪类:read-only和:read-write\t113


9.1.3 占位符显示伪类:placeholder-shown\t115


9.1.4 默认选项伪类:default\t118


9.2 输入值状态\t120


9.2.1 选中选项伪类:checked\t121


9.2.2 不确定值伪类:indeterminate\t133


9.3 输入值验证\t136


9.3.1 有效性验证伪类:valid和:invalid\t136


9.3.2 范围验证伪类:in-range和:out-of-range\t140


9.3.3 可选性伪类:required和:optional\t142


9.3.4 用户交互伪类:user-invalid和空值伪类:blank\t146


第 10章 树结构伪类\t147


10.1 :root伪类\t147


10.1.1 :root伪类和元素\t147


10.1.2 :root伪类的应用场景\t148


10.2 :empty伪类\t150


10.2.1 对:empty伪类可能的误解\t152


10.2.2 超实用超高频使用的:empty伪类\t154


10.3 子索引伪类\t156


10.3.1 :first-child伪类和:last-child伪类\t156


10.3.2 :only-child伪类\t158


10.3.3 :nth-child()伪类和:nth-last-child()伪类\t160


10.4 匹配类型的子索引伪类\t166


10.4.1 :first-of-type伪类和:last-of-type伪类\t166


10.4.2 :only-of-type伪类\t167


10.4.3 :nth-of-type()伪类和:nth-last-of-type()伪类\t168


第 11章 逻辑组合伪类\t173


11.1 否定伪类:not()\t173


11.2 了解任意匹配伪类:is()\t177


11.2.1 :is()伪类与:matches()伪类及:any()伪类之间的关系\t177


11.2.2 :is()伪类的语法与作用\t178


11.3 了解任意匹配伪类:where()\t179


11.4 了解关联伪类:has()\t179


第 12章 其他伪类选择器\t181


12.1 与作用域相关的伪类\t181


12.1.1 参考元素伪类:scope\t181


12.1.2 Shadow树根元素伪类:host\t183


12.1.3 Shadow树根元素匹配伪类:host()\t184


12.1.4 Shadow树根元素上下文匹配伪类:host-context()\t185


12.2 与全屏相关的伪类:fullscreen\t187


12.3 了解语言相关伪类\t188


12.3.1 方向伪类:dir()\t189


12.3.2 语言伪类:lang()\t190


12.4 了解资源状态伪类\t191


有问题微信扫码联系

推荐

Understand China
桂ICP备20004708号-4