css3学习笔记-css3选择器

属性选择器

  1. E[attr]属性选择器
  2. E[attr=val]属性选择器
  3. E[attr|=val]属性选择器
  4. E[attr~=val]属性选择器
  5. E[attr*=val]属性选择器
  6. E[attr^=val]属性选择器
  7. E[attr$=val]属性选择器

css代码

ul, li{
        margin: 0;
        padding: 0;
    }
    li{
        list-style: none;
    }

html代码

<ul>
    <li class="linksitem" id="test_1">aa</li>
    <li class="links tx">bb</li>
    <li class="bd links" data-index="3">cc</li>
    <li class="links" id="test_4">dd</li>
    <li class="links-last">ee</li>
</ul>

下面运用上面的7中属性选择器来进行筛选

E[attr]:只要含有attr属性的元素就会被选中。

li[id]{
        background-color: #008000;
    }

这里写图片描述
如上图,第一个和第四个被选中。

也可以对一个元素使用多个属性选择器

li[data-index][class]{
        background-color: #008000;
    }

这里写图片描述


E[attr=val]:含有attr属性并且属性值为val。

li[class="links tx"]{
        background-color: #008000;
    }

这里写图片描述
需要注意的是:当属性等于单个值时,引号可以省略,就像这样的li[class=links]。当属性值不是单个值时,引号不能省略,必须像这样的li[class=”links tx”]


E[attr|=val]:属性值等于val或则是以val-开头的才会被选中

li[class|=links]{
        background-color: #06c;
    } 

这里写图片描述


E[attr~=val]:当一个属性的值是以空格分隔的多个值并且其中一个值等于val时就会被选中

li[class*=links]{
        background-color: #06c;
    } 

这里写图片描述


E[attr*=val]:只要属性attr的任意位置含有”val”就会被选中。

 li[class*=links]{
        background-color: #06c;
    } 

这里写图片描述


E[attr^=val]:只要属性attr的值是以val开头的就会被选中。


E[attr$=val]:只要属性attr的值是以val结尾的就会被选中。

伪类选择器

  • :nth-child(n)
  • :nth-last-child(n)
  • :first-child
  • :last-child
  • :nth-of-type(n)
  • :nth-last-of-type(n)
  • :first-of-type
  • :last-of-type
  • :only-child
  • :only-of-type
  • :empty

html代码

<div class="selector">
    <h1>标题1</h1>
    <h2>标题2</h2>
    <p>我是第一段文本</p>
    <p>我是第二段文本</p>
</div>

下面运用上面的伪类选择器来选择元素
上面选择器中的n,都是从1开始,而不是从0开始。也可以是even,odd等关键字。还可以是(-n+5),(2n+1)等表达式,但需要注意的是,表达式中的变量只能写为n,不能是其他的变量。如x,y等变量,那么是错的。

:nth-child(n),选中一个父元素下面的第n个子元素


:nth-last-child(n),选中一个父元素下面的倒数第n个子元素


:first-child,选中一个父元素下面的第一个子元素


:last-child,选中一个父元素下面的最后一个子元素


:nth-of-type(n):选中一个父元素下面的第n个子元素,并且该元素是你指定的类型。

.selector > p:nth-of-type(2){
        color: #06c;
    }

上面的选择器会选中class为selector下面的第二个p元素。
这里写图片描述


:nth-last-of-type(n):选中一个父元素下面的倒数第n个子元素,并且该元素是你指定的类型。

.selector > p:nth-last-of-type(1){
        color: #06c;
    }

这里写图片描述


:first-of-type,选中父元素内具有指定类型的第一个元素,与:nth-of-type(1)等同。

.selector > p:first-of-type{
        color: #06c;
    }

这里写图片描述


:last-of-type,选中父元素内具有指定类型的最后一个子元素,与:nth-of-last-type(1)等同。


:only-child,选中一个父元素下面的唯一的一个子元素。

.selector > p:only-child{
        color: #06c;
    }

只有当selector下面仅有唯一的一个p元素是,该选择器才起到了最用。
这里写图片描述


:only-of-type,这个选择器不好理解,可以这样理解。
表示一个元素有很多个子元素,而其中某一个元素的类型是唯一的,那么该元素就会被选中。

.selector > p:only-of-type{
        color: #06c;
    }

因为selector下面有很多子元素,但是p类型的子元素只有一个,所以该元素会被选中。
这里写图片描述


:empty,用来选择没有任何内容的元素,这里的“没有任何内容“指的是一点内容都没有,哪怕是一个空格。这个选择器用户处理动态输出内容非常方便。例如想高亮提示用户搜索出来的结果为空时,就可以这样使用

#result:empty{
    backgound-color: #fcc;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值