سلام دوست عزیز .امیدوارم خوب باشید. ما در کد کد html ساختار کلی به صورت سلسه مراتبی هست و عملا وقتی شما یک عنصر زیر تگ body اضافه می کنید، اون عنصر فرزند body حساب میشه.
به کد زیر توجه کنید.
<!DOCTYPE html>
<html>
<head>
<style>
p:nth-child(3n-1) {
background: red;
}
</style>
</head>
<body>
The first paragraph.
The second paragraph.
The third paragraph.
The fourth paragraph.
The fifth paragraph.
The sixth paragraph.
The seventh paragraph.
The eight paragraph.
The ninth paragraph.
</body>
</html>
عملا پاراگراف های 2 و 5 و 8 بک رگاندشون قرمز رنگ میشه دلیلشم اینه که خود تگ p فرزند body حساب میشه. در کل ساختار سلسه مراتبی هست یعنی تگ body زیر مجموعه و فرزند html حساب میشه، ولی چون ساختار اصلی html به این صورت هست ، توی ذهن شما به صورت پدر و فرزند در نظر گرفته نمیشه.
اگر کد زیر رو اضافه کنید می بیبنید که body زرد رنگ میشه.
html:nth-child(1){
background-color:yellow;
}
این کد یعنی اولین فرزند زیر مجموعه html بک گراندش زرد بشه و عملا body چون فرزند html هست و همین یک فرزند هست و شماره 1 هست پس زمینه زرد میشه.
2 کاربر که از نویسنده این موضوع تشکر کرده اند.