README.txt

讀過的書、看過的電影、去過的地方、正在練的英文、寫過的程式,還有半夜突然想通的事。

// 點資料夾逛,或在右邊終端機打 find 關鍵字。拉視窗邊緣可以調大小。

~/NoZ
6 個項目點一下看資訊 · 點兩下打開
zsh — noz@desk
輸入 help 看指令,或直接打關鍵字搜尋。
日曆
2026 · 10這個月 5 篇
日一二三四五六
12345689101113141516171820212223252627293031
~/NoZ/技術/css-has.dev
2026.10.24 · 113 字 · 約 1 分鐘
技|技術

CSS :has() 讓我刪掉一半的 JS

TOPIC
CSS
刪掉
38行 JS
推薦度

我原本幫每個 checkbox 綁 change 事件,再去切換父層的 class。功能有,但每次加新卡片都要記得綁。

改成 :has()

現在 :has() 在主流瀏覽器都能用了,父層可以直接根據子層狀態改樣式:

.card:has(input:checked) {
  border-color: var(--accent);
}

能用 CSS 表達的狀態,就不要交給 JavaScript。

要注意 body:has(...) 這種範圍太大的寫法,效能會不好,我會盡量避免。

#前端#工具
UTF-8 · Markdown第 5 / 6 篇
6 篇文章
最新檔案10.28
影完美的日子:重複也可以是一種選擇技CSS :has() 讓我刪掉一半的 JS旅京都三日:一天只排一個地方