如何选择没有前导或尾随文本节点的元素?

时间:2016-07-08 05:57:39

标签: css css3

我尝试使用All伪类,但不幸的是,这似乎没有考虑文本节点:

<select ng-model="selectedGenre"
        ng-change="handleSelect()"
        name="genre"
        class="genre-dropdown">
    <option selected="selected" value="">All</option>
    <option value="Action">Action</option>
    <option value="Adventure">Adventure</option>
    <option value="Animation">Animation</option>
    <option value="Biography">Biography</option>
    <option value="Comedy">Comedy</option>
    <option value="Crime">Crime</option>
    <option value="Drama">Drama</option>
    <option value="Fantasy">Fantasy</option>
    <option value="History">History</option>
    <option value="Horror">Horror</option>
    <option value="Romance">Romance</option>
    <option value="Sci-Fi">Sci-Fi</option>
    <option value="Western">Western</option>
</select>

在我无法引入新类的情况下,我试图找到一种方法来检测特定元素在其容器元素中是否完全独立。

有没有办法用CSS实现这个目标?

2 个答案:

答案 0 :(得分:3)

  

有没有办法用CSS实现这个目标?

不幸的是,不是。

包含在CSS工作组old revision中的“错误”列表中缺少这样的想法..

  

没有与文字混合的裸文。所有原始文本都应该包含一个可寻址的,可设置样式的元素,必要时由CSS创建。

Current list

文本节点不是元素,CSS不能选择(或忽略)不存在的元素。

因此,最好的做法是在页面中合并文本时始终使用文本元素...您永远不知道何时需要设置样式。

答案 1 :(得分:0)

div:nth-child(2) span {
color: red;
}

https://jsfiddle.net/cmckay/8663aLcg/