如何使用 CSS 递归选择所有子元素?
为了使用 CSS 递归选择所有子元素,我们使用了通配符 (*) 与父 选择器。
在本文中,我们有八个 段落 元素,其中六个包装在 div 容器内,我们的任务是使用 CSS 递归选择所有子元素。
使用 CSS 递归选择所有子元素的步骤
我们将遵循以下步骤使用 CSS 递归选择所有子元素
- 我们使用了八个段落元素,其中六个段落元素包装在 div 容器内。除了**第 4 个段落**包装在 span 标签内之外,所有六个段落元素都是 div 容器的直接子元素。
- 我们设置了 背景颜色 以显示选定的元素,并设置了背景的 最大宽度。
- **示例 1** 显示了如何选择**div 容器的所有直接子元素**。直接后代使用**.container > *** 选择。
- **示例 2** 显示了如何使用 CSS **递归选择所有子元素**。为了递归选择所有子元素,我们使用了**.container ***。
- 第 7 和 8 个段落在任何示例中都没有被选中,因为它们不是父 div 元素的子元素。
示例 1
此示例仅选择父 div 的直接后代,正如我们所看到的,**第 4 个段落**没有被选中,因为它位于**span**标签内。
<!DOCTYPE html> <html> <head> <style> .container> * { background-color: #c0a2f0; max-width: fit-content; } </style> </head> <body> <h3> Selecting All Child Elements Recursively using CSS </h3> <p> In this example we have selected only the <strong>direct child elements</strong> of parent div element. </p> <div class="container"> <p>Paragraph 1</p> <p>Paragraph 2</p> <p>Paragraph 3</p> <span> <p>Paragraph 4</p> </span> <p>Paragraph 5</p> <p>Paragraph 6</p> </div> <p>Paragraph 7</p> <p>Paragraph 8</p> </body> </html>
示例 2
此示例使用 CSS 递归选择所有子元素。正如我们所看到的,第 4 个段落不是父 div 的直接后代,但它仍然被选中了。
<!DOCTYPE html> <html> <head> <style> .container * { background-color: #c0a2f0; max-width: fit-content; } </style> </head> <body> <h3> Selecting All Child Elements Recursively using CSS </h3> <p> In this example we have used <strong>universal selector(*)</strong> to select all child elements recursively using CSS. </p> <div class="container"> <p>Paragraph 1</p> <p>Paragraph 2</p> <p>Paragraph 3</p> <span> <p>Paragraph 4</p> </span> <p>Paragraph 5</p> <p>Paragraph 6</p> </div> <p>Paragraph 7</p> <p>Paragraph 8</p> </body> </html>
结论
在本文中,我们了解了如何使用 CSS 递归选择所有子元素。我们讨论了两个示例,以区分选择父 div 的直接子元素(示例 1)和递归选择父 div 的所有子元素(示例 2)。
广告