是的,如果一個標籤元素同時出現兩個 class 屬性,兩個 class 都會生效。之所以如此,是因為 HTML 允許一個元素擁有多個 class,它們之間用空格分隔。 瀏覽器會將這些 class 合併起來,應用所有對應的樣式規則。
具體來說:
- HTML 規範允許: HTML 規範明確允許一個元素的
class
屬性包含多個以空格分隔的類名。 - 瀏覽器解析: 瀏覽器解析 HTML 時,會將
class
屬性的值解析成一個類名列表。 - CSS 樣式應用: CSS 樣式表中的樣式規則可以針對單個類名,也可以針對多個類名組合。當一個元素擁有多個類名時,瀏覽器會應用所有匹配的樣式規則。
示例:
<div class="class1 class2">這是一個 div</div>
.class1 {
color: red;
}
.class2 {
font-weight: bold;
}
在這個例子中,div
元素同時擁有 class1
和 class2
兩個類。瀏覽器會應用 .class1
樣式規則,將文字顏色設定為紅色;同時也會應用 .class2
樣式規則,將文字設定為粗體。最終效果是,div
中的文字會顯示為紅色粗體。
即使兩個 class 定義了相同的屬性,也會生效,但會遵循 CSS 的優先順序規則(層疊規則)來決定最終的樣式。 通常情況下,後定義的樣式會覆蓋先定義的樣式,但更具體的樣式選擇器優先順序更高。
總之,多個 class 屬性可以同時生效,這為開發者提供了更靈活的樣式控制,可以根據需要組合不同的 class 來實現複雜的效果。