首頁 > web前端 > css教學 > 主體

為什麼我的第 N 個子選擇器將樣式應用於所有元素而不是僅一個?

Patricia Arquette
發布: 2024-10-30 02:54:28
原創
895 人瀏覽過

Why is My Nth-Child Selector Applying Styles to All Elements Instead of Just One?

為什麼第 N 個子級選擇器不起作用?

第 n 個子級選擇器是一個強大的工具,用於定位一組同級中的特定元素。然而,了解其局限性以有效地使用它非常重要。

問題:所有社交圖示出現相同

考慮以下情況,其中nth-child用於向社交圖示添加背景圖像:

<code class="css">#social-links div:nth-child(1) { background-image: url('media/linkedin.svg'); }</code>
登入後複製

預期行為:只有第一個社群圖示應該有LinkedIn 背景圖片。
實際行為:所有圖示都具有相同的背景圖像。

原因:計算兄弟元素而不是元素

第 n 個子元素選擇器計算目標元素的兄弟元素數量,而不是元素本身。在上面的程式碼中,它計算了 #social-links 的 div 子元素的數量。

在這種情況下,div.social-logo 元素始終作為錨元素的唯一 div 子元素存在。因此,nth-child 始終傳回 1,這意味著每個元素都會收到相同的背景影像。

解決方案:定位父元素的兄弟姐妹

定位特定的div.social -logo 元素,我們需要修改選擇器以定位父錨元素的兄弟元素:

<code class="css">#social-links a:nth-child(1) div { background-image: url('media/linkedin.svg'); }</code>
登入後複製

透過定位錨元素的第n 個子元素,我們現在可以正確選擇預期的div.social-logo 元素並套用對應的背景圖像。

以上是為什麼我的第 N 個子選擇器將樣式應用於所有元素而不是僅一個?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!