Home  >  Article  >  Web Front-end  >  关于CSS伪类选择器 - HotenHuang

关于CSS伪类选择器 - HotenHuang

WBOY
WBOYOriginal
2016-05-21 08:35:181792browse

#CSS伪类选择器


##使用css伪类选择器需要注意的

使用css的伪类选择器来选择某元素时,需要特别注意 :first-child 和 :nth-child(n) 等时,
网页渲染是从语句的后面开始读取的,也就是说,类似 p:first-child 这样的伪类选择器,指的是“某元素的以p元素作为第一子项的那项”,而不是“p元素的第一个子项”.

原因是因为,其实这里在p:之前,省略了 xxx & nbsp; 这几个字符,导致很容易产生误解。

e.g.
    

<span style="color: #000000;"> 
    div p:first-child{color:red;}

    </span><span style="color: #0000ff;"><span style="color: #800000;">div</span><span style="color: #0000ff;">></span>

        <span style="color: #0000ff;"><span style="color: #800000;">h1</span><span style="color: #0000ff;">></span>111<span style="color: #0000ff;"></span><span style="color: #800000;">h1</span><span style="color: #0000ff;">></span>
    
        <span style="color: #0000ff;"><span style="color: #800000;">p</span><span style="color: #0000ff;">></span>222<span style="color: #0000ff;"></span><span style="color: #800000;">p</span><span style="color: #0000ff;">></span>

        <span style="color: #0000ff;"><span style="color: #800000;">p</span><span style="color: #0000ff;">></span>333<span style="color: #0000ff;"></span><span style="color: #800000;">p</span><span style="color: #0000ff;">></span>

    <span style="color: #0000ff;"></span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span></span></span></span></span>

 




这里的222字符不会变红,因为它不是div元素的以p元素为第一子项的那个元素,在这个例子中,div 元素以p元素作为第一子项是不成立的,没有任何一个元素符合这个条件,h1元素也不会响应color:red.


##用css伪类选择器去除带有边框的最后一个元素的办法

如果在设计一个导航栏时,每个元素之间有竖线相隔,通过伪类选择器可以很简洁地去除最后一个li元素的右边框线。

<span style="color: #000000;">    li{
      border-right:1px red solid;
    }
    ul li:last-child{
      border-right:none;
    }</span>

 


即可去除最右边的也就是最后一个li的有边框线,而不用额外给最后一个li取名。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn