CSS选择器世界
正版保障 假一赔十 可开发票
¥
46.07
6.6折
¥
69.8
全新
库存27件
作者张鑫旭著
出版社人民邮电出版社
ISBN9787115609311
出版时间2023-04
装帧平装
开本16开
定价69.8元
货号12341308
上书时间2024-12-08
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
张鑫旭 “CSS世界三部曲”(《CSS世界》《CSS选择器世界》《CSS新世界》)作者,前端开发工程师,国内专业前端博客“鑫空间-鑫生活”博主,目前就职于阅文集团用户体验设计部(YUX),担任前端技术专家。他从2007年开始接触前端,十多年来一直工作在前端开发一线,在HTML/CSS等与交互体验关系密切的领域花了大量的时间学习和研究,有比较多的心得体会。
目录
第 1章 概述 1 1.1 为什么CSS选择器很强 1 1.2 CSS选择器世界的一些基本概念 1 1.2.1 选择器、选择符、伪类和伪元素 2 1.2.2 CSS选择器的作用域 3 1.2.3 CSS选择器的命名空间 4 1.3 无效CSS选择器的特性与实际应用 5 第 2章 CSS声明的优先级 8 2.1 继承与级联 9 2.1.1 优先级的底层——继承 9 2.1.2 优先级的中枢——级联 10 2.2 详解@layer规则 11 2.2.1 @layer规则解决的问题 11 2.2.2 掌握@layer规则的语法 13 2.2.3 使整个CSS变成@layer 15 2.2.4 @layer规则的嵌套 16 2.3 叛逆的!important 19 2.3.1 !important与层级跨越 19 2.3.2 !important的逆向越级 19 2.4 CSS选择器的优先级 20 2.4.1 同等级CSS优先级规则概览 20 2.4.2 CSS选择器优先级的计算规则21 2.4.3 256个选择器的越级现象 24 2.4.4 为什么按钮:hover变色了 25 第3章 CSS选择器的命名 27 3.1 CSS选择器是否区分大小写 27 3.2 CSS选择器命名的合法性 28 规范与更多字符的合法性 30 3.3 CSS选择器的命名是一个哲学问题 31 3.3.1 长命名还是短命名 32 3.3.2 单命名还是组合命名 32 3.3.3 面向属性的命名和面向语义的命名 34 3.3.4 我是如何命名的 36 3.4 CSS选择器设计的很好实践 39 3.4.1 不要使用ID选择器 39 3.4.2 不要嵌套选择器 39 3.4.3 不要歧视面向属性的命名 42 3.4.4 正确使用状态类名 44 3.4.5 工具带来的变化 48 3.4.6 很好实践汇总 48 第4章 入门必学的选择器 52 4.1 标签选择器 52 4.1.1 标签选择器二三事 52 4.1.2 特殊的标签选择器:通配选择器55 4.2 类选择器 55 4.2.1 类选择器脱颖而出的原因 55 4.2.2 类选择器的其他小知识 57 4.3 ID选择器 58 第5章 精通CSS选择符 60 5.1 后代选择符——空格( ) 60 5.1.1 对CSS后代选择符可能的错误认识 61 5.1.2 对JavaScript中后代选择符可能的错误认识 63 5.1.3 :scope 伪类 64 5.2 子选择符——箭头(>) 66 5.2.1 子选择符和后代选择符的区别 66 5.2.2 适合使用子选择符的场景 67 5.3 相邻兄弟选择符——加号(+) 68 5.3.1 相邻兄弟选择符的相关细节 69 5.3.2 实现类似:first-child伪类的效果 70 5.3.3 众多高级选择器技术的核心 72 5.4 随后兄弟选择符——波浪线(~) 73 5.4.1 随后兄弟选择符和相邻兄弟选择符的区别 73 5.4.2 如何实现前面兄弟选择符的效果 74 5.5 快速了解列选择符——双管道(||) 77 第6章 被低估的属性选择器 80 6.1 属性值匹配选择器逐渐兴起 80 6.2 属性值直接匹配选择器 81 6.2.1 详细了解4种选择器 81 6.2.2 AMCSS开发模式简介 87 6.3 属性值正则匹配选择器 88 6.3.1 详细了解3种选择器 88 6.3.2 CSS属性选择器搜索过滤技术 91 6.4 忽略属性值大小写的正则匹配运算符 92 第7章 常见交互行为的实现 94 7.1 :hover伪类与悬停交互开发 94 7.1.1 体验优化与:hover延时 95 7.1.2 非子元素的:hover显示 96 7.1.3 纯:hover显示浮层的体验问题 98 7.2 使用:active伪类实现点击反馈 99 7.2.1 :active伪类概述 99 7.2.2 按钮的通用:active样式技巧 100 7.2.3 :active伪类与CSS数据上报 102 7.3 聚焦行为伪类:focus与用户体验 103 7.3.1 :focus伪类匹配机制 103 7.3.2 :focus伪类与outline轮廓 105 7.3.3 CSS:focus伪类与键盘无障碍访问 106 7.4 非常实用的整体焦点伪类:focus-within 109 7.4.1 :focus-within伪类和:focus伪类的区别 109 7.4.2 :focus-within伪类实现无障碍访问的下拉列表 110 7.5 键盘焦点伪类:focus-visible 112 :focus-visible伪类的作用及背景变化 112 第8章 通过树结构伪类匹配元素 115 8.1 :root伪类 115 8.1.1 :root伪类匹配的究竟是什么 116 8.1.2 :root伪类的应用场景 117 8.2 要多使用:empty伪类 118 8.2.1 对:empty伪类可能存在的误解 120 8.2.2 超实用超高频使用的:empty伪类 122 8.3 比较实用的子索引伪类 124 8.3.1 :first-child伪类和:last-child伪类 124 8.3.2 给力的:only-child伪类 126 8.3.3 :nth-child()伪类和:nth-last-child()伪类 128 8.4 匹配类型的子索引伪类 136 8.4.1 :first-of-type伪类和:last-of-type伪类 136 8.4.2 :only-of-type伪类 137 8.4.3 :nth-of-type()伪类和:nth-last-of-type()伪类 138 第9章 不容小觑的逻辑组合伪类 142 9.1 务必掌握的否定伪类:not() 142 告别重置,全部交给:not()伪类 143 9.2 不要小看任意匹配伪类:is() 147 9.2.1 :is()伪类与:matches()伪类及:any()伪类之间的关系 147 9.2.2 :is()伪类的语法和两大作用 147 9.2.3 :is()伪类在 Vue 等框架中的妙用 150 9.3 实用的优先级调整伪类:where() 152 9.4 姗姗来迟的关联伪类:has() 153 第 10章 链接与锚点开发相关的伪类 156 10.1 链接历史伪类:link和:visited 156 10.1.1 深入理解:link伪类 156 10.1.2 怪癖最多的CSS伪类:visited 158 10.2 值得关注的超链接伪类:any-link 161 :any-link伪类相比于:link伪类的优点. 162 10.3 实用却很少使用的目标伪类:target 163 10.3.1 :target伪类与锚点 164 10.3.2 :target伪类交互布局技术简介 166 10.4 了解目标容器伪类:target-within 170 10.5 了解链接匹配伪类:local-link 171 第 11章 表单开发相关的伪类 172 11.1 输入控件状态 172 11.1.1 可用状态伪类:enabled与禁用状态伪类:disabled 172 11.1.2 读写特性伪类:read-only和:read-write 176 11.1.3 占位符显示伪类:placeholder-shown 177 11.1.4 使用:autofill伪类自定义自动填充样式 180 11.1.5 默认选项:default伪类 181 11.2 输入值状态 184 11.2.1 实用的选中选项伪类:checked 184 11.2.2 有用的不确定值伪类:indeterminate 196 11.3 输入值验证 199 11.3.1 掌握有效性验证伪类:valid和:invalid 199 11.3.2 熟悉范围验证伪类:in-range和:out-of-range 203 11.3.3 熟悉可选性伪类:required和:optional 205 11.3.4 了解用户交互伪类:user-valid和:user-invalid 210 11.3.5 简单了解空值伪类:blank 211 11.4 表单元素专用伪元素 211 11.4.1 使用::placeholder伪元素改变占位符的样式 212 11.4.2 使用::file-selector-button伪元素匹配文件选择输入框的按钮 213 第 12章 Web Components开发中的选择器 215 12.1 使用:defined伪类判断组件是否初始化 215 12.1.1 普通元素的:defined适配规则 217 12.1.2 Safari不支持内置自定义元素的处理 219 12.2 使用:host伪类匹配Shadow树根元素 219 12.3 使用伪类:host()匹配Shadow树根元素 221 12.4 Shadow树根元素上下文匹配伪类:host-context() 222 12.5 使用::part伪元素穿透Shadow DOM元素 223 ::part伪元素对
元素也是有效的 226 第 13章 音视频开发中的选择器 228 13.1 音视频元素各种状态的匹配 228 13.1.1 使用:playing伪类、:paused 伪类和:seeking伪类匹配播放状态 228 13.1.2 加载状态伪类:buffering和:stalled 230 13.1.3 声音控制伪类:muted和:volume-locked 230 13.2 视频字幕样式的控制 230 13.2.1 使用::cue伪元素控制字幕的样式 231 13.2.3 了解:current、:past 和:future这些时间维度的伪类 234 第 14章 语言和文字相关的选择器 236 14.1 了解语言相关的伪类 236 14.1.1 方向伪类:dir() 236 14.1.2 语言伪类:lang() 237 14.2 全新的文字相关的伪元素 239 14.2.1 ::mark伪元素简介 239 14.2.2 使用::target-text伪元素高亮锚定的文字 241 14.2.3 使用::spelling-error伪元素和 ::grammar-error伪元素高亮拼写和语法错误 242 第 15章 元素特殊显示状态匹配伪类 244 15.1 了解模态层匹配伪类:modal 244 15.2 了解全屏相关的伪类:fullscreen 245 15.3 了解画中画伪类:picture-in-picture 247 15.4 使用::backdrop伪元素改变底部蒙层 248
内容摘要
CSS选择器是CSS世界的支柱,撑起了整个精彩纷呈的CSS世界。本书专门介绍CSS选择器的相关知识。在本书中,作者结合多年从业经验,在CSS基础知识之上,充分考虑前端开发人员的开发需求,以CSS选择器的基本概念、优先级、命名、best实践以及各伪类选择器的适用场景为技术主线,为CSS开发人员介绍有竞争力的知识和技能。本书在第1版的基础上,对选择器的特性、兼容性等相关内容进行了更新,并介绍了新增的选择器。此外,本书配有专门的网站,用以进行实例展示和问题答疑。
作为一本CSS进阶书,本书非常适合有一定CSS基础的前端开发人员学习和参考。
主编推荐
1.专注CSS选择器:《CSS选择器世界》第2版,内容与时俱进,深入剖析CSS选择器的基础概念和实际应用场景,帮助读者进行深度学习和掌握。 2.作者经验丰富:本书作者在前端开发领域有多年从业经验,能够为读者提供丰富的开发技巧和实践案例。 3.实战驱动:针对不同的Web开发需求提供了实用性强的技术解决方案,更多的实践讲演和更丰富的案例,让读者能够更好地应对各种开发场景和问题。 4.全面更新:覆盖新的CSS选择器知识和技巧,包括新增的选择器,如:has()伪类等。 5.配套资源完备:本书配套专门的官方网站、在线demo和论坛,提供实例展示和问题答疑,帮助读者更好地理解和学习CSS选择器。 6.适合进阶学习:本书适用于有一定CSS基础的前端开发人员学习和参考,知识体系基于实用性进行新编排,提升学习效率。通过深入学习CSS选择器,能够提升专业技能,并为职业发展打下坚实基础。
精彩内容
CSS选择器是CSS世界的支柱,撑起了整个精彩纷呈的CSS世界。本书专门介绍CSS选择器的相关知识。在本书中,作者结合多年从业经验,在CSS基础知识之上,充分考虑前端开发人员的开发需求,以CSS选择器的基本概念、优先级、命名、best实践以及各伪类选择器的适用场景为技术主线,为CSS开发人员介绍有竞争力的知识和技能。本书在第1版的基础上,对选择器的特性、兼容性等相关内容进行了更新,并介绍了新增的选择器。此外,本书配有专门的网站,用以进行实例展示和问题答疑。 作为一本CSS进阶书,本书非常适合有一定CSS基础的前端开发人员学习和参考。
— 没有更多了 —
以下为对购买帮助不大的评价