20 css 选择器 (2.0)

css 选择器

一、属性选择器

以下 E 代表标签名,attr表示属性名 val 表示属性值
常用(1.2)

  1. E[attr] 选择所有 具有 attr属性的 E 元素
li[title]{
    color: #f00;
}
/* 给所有的文本输入框设置样式 */
input[type="text"]{
    color: #04be02;
}
  1. E[attr=val] 选择所有 具有 attr属性并且他的值是val的 E元素
/* 属性class的值是abc */
li[class="abc"]{
    border: 1px #f00 solid;
}
  1. E[attr~=val] 选择所有 具有 attr属性并且他的值 包含 val 的 E元素
 /* 属性class中包含 show */
li[class~="show"]{
    width: 200px;
    height: 200px;
    background: #ff0;
}
  1. E[attr|=val] 选择所有 具有 attr属性并且他的值是以 val或者 val-开头 的 E元素
/* 属性class 中的字符以 abc开头或者abc-开头 */
div[class|="abc"]{
    font-size:30px;
    color: #f00;
}
  1. E[attr*=val] 选择所有 具有 attr属性并且他的值具有 val 字符的 E元素
 /* 属性class 中的字符含有 bc */
 div[class*="bc"]{
    border: 1px #f00 solid;
    margin: 10px 0;
}
  1. E[attr$=val] 选择所有 具有 attr属性并且他的值 是以val 字符 结束的 E元素
/* 属性class 的值以 d 结束 */
div[class$="d"]{
   color: rgb(20, 207, 235);
}
  1. E[attr^=val] 选择所有 具有 attr属性并且他的值 是以val 字符 开始的 E元素
/* 属性class 的值以 li 开头 */
div[class^="li"]{
   color: rgb(32, 125, 6);
}

二、伪类选择器

  1. :focus 为所有获取焦点的input设置样式 (常用)
input[type="text"]:focus{
            width: 200px;
            height: 30px;
            padding-left: 10px;
        }
  1. :disabled 为所有被禁用的input设置样式
input:disabled{
            border: 1px #f00 solid;
        }
  1. :target 目标伪类选择器,当跳转到他所修饰的元素上的时候才会执行该选择器修饰的样式
:target{
            color: #f00;
        }
  1. :root 表示的是html
:root{
        border: 2px #00f solid;
    }
  1. E:empty 选中所有内容为空的E标签,并添加样式
div:empty{
            border: 1px #f00 solid;
            width: 100px;
            height: 100px;
        }
  1. :empty 选中所有内容为空的标签,并添加样式
:empty{
        background: #ccc;
}
  1. E:only-child 选中父元素中只有一个E标签的 E标签,并添加样式,独生子标签
div:only-child{
            font-size: 30px;
        }

三、伪元素选择器

通过伪元素选择器可以给元素添加一个类似子元素的内容,不是真正的标签
使用伪元素需要添加 ::
常用3.4

  1. ::first-letter 表示修改第一个字符
.txt::first-letter{
            font-size: 30px;
            color: #04be02;
        }
  1. ::first-line 表示修改第一行字符
.txt::first-line{
            font-size: 20px;
            color: #f00;
        }
  1. ::before 在元素内容的最前面添加一个伪元素
.cont::before{
            content: 'zz';
            border: 1px #f00 solid;
            font-size: 30px;
            color: #04be02;
            display: block;
        }
  1. ::after 在元素内容的最后面添加一个伪元素
.cont::after{
            content: 'xy';
            border: 1px #f00 solid;
            font-size: 30px;
            color: #04be02;
        }

四、结构伪类选择器

  1. 父级 E:nth-child(num) 选中同一个父级下,排名次序为 num的E元素
    num 从1开始
ul>li:nth-child(2){
            background: rgb(241, 187, 71);
        }
ul>li:nth-child(6){
            background: rgb(145, 201, 234);
        }
ul li:nth-child(10){
            margin-bottom: 0;
        }
  1. 使用n表达式,设置选中的标签
    n从0开始计算
    偶数使用 2n,奇数使用2n+1
  • E:nth-child(2n)

  • E:nth-child(2n+1)

    也可以使用 odd 表示奇数,even 表示偶数

/* 偶数 */
ul li:nth-child(2n){
    background: #ff0;
        }
/* 奇数 */
ul li:nth-child(odd){
    background: rgb(183, 239, 146);
        }
  1. E:nth-last-child(num) 表示从后开始往前面数,使用方式和nth-child一样,就是倒着计算
ul li:nth-last-child(2){
            font-size: 30px;
        }
  1. 如果父元素中的子元素不是同一个类型,则不能使用 nth-child(num) 来设置css,因为匹配到的元素不对
  • 使用E:nth-of-type(num) 来匹配元素,他的意思是,找到和E标签同类型的第num个元素
.cont p:nth-of-type(2){
            font-size: 30px;
            color: #f00;
        }
.cont span:nth-of-type(2){
            font-size: 30px;
            color: rgb(186, 107, 168);
        }
  • E:nth-last-of-type(num) 使用方法和E:nth-of-type(num)一样,只是倒着数
.cont span:nth-last-of-type(1){
            font-size: 40px;
            color: rgb(115, 149, 222);
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值