html – CSS类和后代选择器实践

前端之家收集整理的这篇文章主要介绍了html – CSS类和后代选择器实践前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想更好地理解何时使用类来定位内容而不是其他可用选项,特别是后代选择器.

在许多情况下,可以使用后代选择器来定位相同的元素,而不是使用类.如果可以通过两种方式完成同样的事情,那么决定选项之间的逻辑是什么?

以下是一些示例场景:

1.

一个.

  1. <div class="main">
  2. <div>
  3. <div> /* target */
  4. <div></div>
  5. </div>
  6. </div>
  7. </div>
  8.  
  9. .main > div > div

  1. <div class="main">
  2. <div>
  3. <div class="content">
  4. <div></div>
  5. </div>
  6. </div>
  7. </div>
  8.  
  9. .content

2.

一个.

  1. <div class="main">
  2. <div> /* target */
  3. <div></div>
  4. </div>
  5. <div> /* target */
  6. <div></div>
  7. </div>
  8. </div>
  9.  
  10. .main > div:first-child
  11. .main > div:last-child

  1. <div class="main">
  2. <div class="content1">
  3. <div></div>
  4. </div>
  5. <div class="content2">
  6. <div></div>
  7. </div>
  8. </div>
  9.  
  10. .content1
  11. .content2

3.

一个.

  1. <div class="main">
  2. <div>
  3. <div></div>
  4. <div></div>
  5. <div></div>
  6. </div>
  7. </div>
  8.  
  9. .main > div div

  1. <div class="main">
  2. <div class="content">
  3. <div></div>
  4. <div></div>
  5. <div></div>
  6. </div>
  7. </div>
  8.  
  9. .content div

决定使用类或后代选择器之间的逻辑是什么?

解决方法

后代选择器允许您避免在html中嵌入类信息.当包装块是逻辑容器时,这可能是方便的.例如,如果您使用div标签构建了一个表,并且您有数百或数千行,则可以通过指定后代样式而不是指定class =’…’来减少文档大小并提高可读性.反复.
  1. <div class='mytable'>
  2. <div></div>
  3. <div></div>
  4. <!-- A LOT MORE ROWS -->
  5. </div>

指定类的优点是您不依赖于特定的排序.每次想要重新排列视图时,必须更改后代标记会非常令人沮丧.指定类的另一个好处是,在使用CSS时,搜索特定的类名要比解密后代块要容易得多.

据我所知,没有黑&每种方法都适用的白色指南.您可以自行决定在设计时考虑每个的好处/不足.

猜你在找的HTML相关文章