up
down
Close
線上訪客: 5 本日人次: 220 昨日人次: 1247 累積人次: 787848
 

CSS 如何選擇所有子元素?

│ 1441 Views │ CSS
CSS 如何選擇所有子元素?
CSS 如何選擇所有子元素?

選擇所有子元素

如果要選特定的所有元素,一般都是element > element,但如果是非特定的所有元素,也就是不管是什麼元素都算,可以簡單用element > *,或是element *

element > *,代表第一個階層,雖然實測有些CSS屬性還是可以影響所有階層,但不是全部,如果要影響所有階層建議直接用element *

舉例來說,我本來想要設定某句子是黑色字體,但句子中某個單字是紅色,原本只需要寫.ClassNameA{color:black;} .ClassNameB {color:red},由於我希望只有在指定的句子中的某單字才要改紅色,因此第二個改為.ClassNameA .ClassNameB {color:red}

一般情況這樣沒有問題,但當我需要為單字加上ruby時就失效了,請見下面範例:

See the Pen select all child elements1 CSS by kumo (@kumo-tw) on CodePen.

可以發現第一個句子是正常,第二個句子卻沒有改成紅色,這是因為.red中又有ruby(只要有元素都一樣),如果要讓他全部紅色,就要寫.red ruby, .red ruby rt,這樣不僅很長而且只有限定ruby,如果是spandiv又要再另外寫,因此直接用*代表.red中不管又加上多少元素一律都改為紅色。

範例:

See the Pen Untitled by kumo (@kumo-tw) on CodePen.

這樣就成功變色了,以下提供一般版的範本,並提供背景色跟字體顏色的差異。

element > * 與 element * 的差別

以下是.boxA.boxB兩組的對照,第一組用element > *,第二組用element *

See the Pen select all child elements3 CSS by kumo (@kumo-tw) on CodePen.

了解以上差異之後就可以知道自己要用哪一種了,希望對你有幫助:)

本文是否對您有幫助?

延伸閱讀