CSS 選擇器大全:突破前端功力掌握職場即戰力

CSS 選擇器大全:突破前端功力掌握職場即戰力

作者: 張鑫旭
出版社: 博碩文化
出版在: 2021-12-13
ISBN-13: 9789864349623
ISBN-10: 9864349627
裝訂格式: 平裝
總頁數: 272 頁





內容描述


CSS選擇器是CSS世界的支柱,撐起了CSS精彩繽紛的世界!

本書特色
◆顛覆對CSS的認知
◆傳承實務經驗與心法
◆提供線上範例觀看

CSS選擇器本身很簡單,就是一些特定的選擇符號,於是很多開發者就認為CSS選擇器的世界很簡單,沒什麼好學的,這樣的想法嚴重限制了開發者的技術提升。實際上,CSS選擇器非常強大,它不僅涉及視覺表現,而且與用戶安全、用戶體驗有非常密切的關聯。

不少開發人員學習JavaScript得心應手,但是學習CSS卻總是沒有感覺,因為他們還是習慣把CSS屬性或者CSS選擇器看成一個個獨立的個體,就好像傳統程式語言中一個個API一樣。傳統程式語言講求邏輯清晰、層次分明,主要是用來提供功能特性,因此這種不拖泥帶水的API是非常有必要的。然而CSS卻是用來提供樣式,它重表現、輕邏輯,如同人們的思想一樣,互相碰撞才能產生火花。

本書專門介紹CSS選擇器的相關知識。在書中作者結合多年的業界經驗及研究心得,在CSS基礎知識之上,充分考量前端開發人員的開發需求,以CSS選擇器的基本概念、優先順序、命名、最佳實作,以及各虛擬類別選擇器的概述和適用場景為技術主軸,為CSS開發人員介紹有競爭力的知識和技能,並擷取出精華使讀者能在短期間習得有用的技術,直接應用在實際職場上。此外,本書也搭配專有網站,可提供線上範例觀看。本書是一本CSS進階書,非常適合有一定CSS基礎的前端開發人員學習和研讀。

目錄大綱


CHAPTER 01:概述
1-1 為什麼CSS 選擇器很強
1-2 CSS選擇器世界的一些基本概念
1-3 無效CSS 選擇器特性與實際應用

CHAPTER 02:CSS 選擇器的優先順序
2-1 CSS 優先順序規則概覽
2-2 深入CSS 選擇器優先順序
2-3 為什麼按鈕:hover 變色了

CHAPTER 03:CSS 選擇器的命名
3-1 CSS 選擇器是否區分大小寫
3-2 CSS 選擇器命名的合法性
3-3 CSS 選擇器的命名是一個哲學問題
3-4 CSS 選擇器設計的最佳實踐

CHAPTER 04:精通CSS 組合選擇器
4-1 後代選擇器空格( )
4-2 子選擇器箭頭(>)
4-3 相鄰兄弟選擇器加號(+)
4-4 一般兄弟選擇器彎彎(~)
4-5 快速瞭解列選擇器雙管道(||)

CHAPTER 05:元素選擇器
5-1 元素選擇器的串接語法
5-2 標籤選擇器二三事
5-3 特殊的標籤選擇器:通用選擇器

CHAPTER 06:屬性選擇器
6-1 ID 選擇器和類選擇器
6-2 屬性值直接匹配選擇器
6-3 屬性值正則匹配選擇器
6-4 忽略屬性值大小寫的正則匹配運算子

CHAPTER 07:用戶行為虛擬類別
7-1 滑鼠經過虛擬類別:hover
7-2 啟動狀態虛擬類別:active
7-3 焦點虛擬類別:focus
7-4 整體焦點虛擬類別:focus-within
7-5 鍵盤焦點虛擬類別:focus-visible

CHAPTER 08:URL 定位虛擬類別
8-1 連結歷史虛擬類別:link 和:visited
8-2 超連結虛擬類別:any-link
8-3 目標虛擬類別:target
8-4 目標容器虛擬類別:target-within

CHAPTER 09:輸入虛擬類別
9-1 輸入控制項狀態
9-2 輸入值狀態
9-3 輸入值驗證

CHAPTER 10:樹結構虛擬類別
10-1 :root 虛擬類別
10-2 :empty 虛擬類別
10-3 子索引虛擬類別
10-4 匹配類型的子索引虛擬類別

CHAPTER 11:邏輯組合虛擬類別
11-1 否定虛擬類別 :not()
11-2 瞭解任意匹配虛擬類別 :is()
11-3 瞭解任意匹配虛擬類別 :where()
11-4 瞭解關聯虛擬類別 :has()

CHAPTER 12:其他虛擬類別選擇器
12-1 與作用域相關的虛擬類別
12-2 與全屏相關的虛擬類別 :fullscreen
12-3 瞭解語言相關虛擬類別
12-4 瞭解資源狀態虛擬類別


作者介紹


張鑫旭
前端開發工程師。2007年開始接觸前端,十多年來一直在前端開發一線,於HTML/CSS 等與交互體驗關係密切的領域中,投入了大量的時間進行學習和研究,因此有比較多的心得和體會。




相關書籍

The Rails 5 Way (4th Edition) (Addison-Wesley Professional Ruby Series)

作者 Obie Fernandez

2021-12-13

Ruby Performance Optimization: Why Ruby is Slow, and How to Fix It (Paperback)

作者 Alexander Dymo

2021-12-13

Visual Design of GraphQL Data: A Practical Introduction with Legacy Data and Neo4j

作者 Thomas Frisendal

2021-12-13