选择器,孩子而不是颜色跨度 - 父母和孩子

时间:2016-02-26 20:19:47

标签: css css-selectors

我正在学习选择器而不是。 我正在尝试的是将跨度的文本以红色显示而不是链接的文本,将两者结合起来。这只是学习。 我的HTML代码

    <div>1
        <p>2
            <span>Here red
                <a>Here NOT red
                </a>
            </span>
            <div>3
            </div>
        </p>
    </div>

我想用CSS做什么

    div p span:not(:nth-child(0)) {
    color: red;
    }

    /* Or */

    div p span:not(a) {
    color: red;
    }      

任何人都可以帮助我吗?我不想为A设定另一条规则。就像我说的那样学习。 谢谢!

1 个答案:

答案 0 :(得分:1)

您的网页存在一些问题。一个是你有一个额外的div结束标记。其次,a标记定义了一个超链接,因此它应该具有href属性。你的标签没有属性。

看一下这个片段

&#13;
&#13;
span:not(a) {
  color: red;
}
&#13;
 <div>1
   <p>2
     <span>Here red
       <a href="http://www.apple.com">Here NOT red</a>
     </span>
   </div>
   </p>
</div>
&#13;
&#13;
&#13;

或者,您可以在a标记之前关闭span标记,然后只选择span元素。