如何避免将类应用于Div中的跨度?

时间:2018-04-17 10:07:21

标签: html css html5 css3

是否有可能或最佳做法是避免将课程放在嵌套在span内的div上?

我有一个刻板的'待办事项列表'学习项目,我需要在点击时直接浏览项目,但我还有一个span元素,后面会有一个删除按钮来删除整个{{1 }}

li

此刻,直通线显然也是针对跨度的,所以我想知道是否有一种简单的方法可以避免它没有黑客攻击,否则我猜我可能需要将文本单独设置{ {1}}并将直通课应用于<li><span class="deleteBtn">X</span> Birthday Cake</li>

2 个答案:

答案 0 :(得分:1)

  

是否有可能或最佳做法是避免将一个类放在嵌套在div中的跨度上?

是的,这是可能的。

li > span{
  /* styles */
}

这是最佳做法吗?不必要。我发现在div或spans中有子类是有帮助的。即使您不使用它们,也可以为您提供更好的控制,以便将来的开发可以让您的生活更轻松。

查看CSS选择器here,可以让您更好地了解可以实现的目标。关于上面的示例,li元素的第一个子元素必须是该样式生效的范围。无论嵌套量如何,执行以下操作将适用于li元素内的任何范围。

li span {
    /* styles */
}

编辑: 在看到你的评论之后,我认为我所说的仍然存在,但你应该将你的内部文本包装在一个元素中,另一个span应该这样做。

<li>
  <span class="deleteBtn">X</span>
  <span class="ItemText">Birthday Cake</span>
</li>

这将使您能够以下列方式添加CSS。

li > .ItemText{
  <!-- styles -->
}

它可能看起来超过顶部,但就像我之前提到的它会给你更好的控制,我不认为这是不好的做法。

答案 1 :(得分:0)

这是我的解决方案!你可以使用&lt; div&gt;&lt; / DIV&GT;或者&lt; p&gt; / p&gt;标签如下:

<li><span class="deleteBtn">X</span><p class="to-do-list"> Birthday Cake</p></li>

然后将CSS应用于所有&lt; li> ,你只需要将它应用到.to-do-list类

希望这有帮助!如果您有任何问题,请随时告诉我!