2022-03-03css选择器总结

  一、选择器

  1、* 通配符选择器 

   这个选择器是匹配页面中所有的元素,一般用来清除浏览器的默认样式.

1*{margin:0; padding:0}

  2、元素选择器 

    通过标签名来选择元素。

1div{width:100px; height:100px;}

  3、class选择器

     class选择器 / 类选择器 / 用class属性给元素命名,在页面中可以出现很多次,相当于人的名字。

.box{width:100px; height:100px;}

  4、 id选择器

    以id属性来命名,在页面中只能出现一次,具有唯一性,并且权重值最高,相当于一个人的身份证。

#box{width:100px; height:100px;}

 二、高级选择器 一

  1、 E F  后代选择器

    匹配到E元素下面的所有的F元素(包括子、孙),空格隔开。

div ul li {width:100px; height:100px;}
//匹配到div下面的所有ul,且ul的所有后代li

  

        

  •     

  •     

  2、 E,F  多元素选择器

      同时匹配到E元素和F元素,用逗号隔开。

div,#box{width:100px; height:100px; background:#000;}//同时匹配到下文中的div标签和id为box的p标签

  3、E>F 子元素选择器

    选择到E元素的直接子代F,只选择子代。

1ul>li{width:100px; height:100px;}


      

  •  

  4、E+F(毗邻选择器) 相邻兄弟选择器

  紧接在E元素后面的同级元素F,相邻兄弟选择器,有相同的父级。

div+.box{width:100px; height:100px; background:pink;}//这个只能选择到下面第二行的那个p元素  最后一个不满足紧接在div元素后面这个条件

  

    

    

    

    

    

div p + p{

    width:100px;

    height:100px;

    margin-top:2px;

    background:pink;

}

  //这个可以选择到下面除了第一个p元素外其他所有的元素。

  

        

        

        

        

    

  三、高级选择器 二       属性选择器

  1、 E[attr] 匹配具有attr属性的E元素

div[title]{

    width:100px;

    height:100px;

    margin-top:2px;

    background:pink;

}  //匹配到下文中的第一个和第三个div元素 因为他们含有title属性

    

    

    

  2、E[attr=val]

    匹配具有attr属性且值只为val的的E元素(注意   属性值要用引号引起来,我自己试了试好像不用括号也可以。)

div[title="height"]{

    width:100px;

    height:100px;

    margin-top:2px;

    background:pink;
}  //匹配到下文中的第三个div元素

    

    

    

  3、E[attr~=val]

    匹配属性值为attr,并包含这个值的E元素,用于选取属性值中包含指定词汇的元素。

div[class~="c1"]{

    width:100px;

    height:100px;

    margin-top:2px;

    background:pink;

} //选择到下方第一个和第二个div元素


  

    

    

  4、E[attr|=val]

    匹配所有属性为attr,值为val或者以 var- 开头的E元素

div[class|="c1"]{

    width:100px;

    height:100px;

    margin-top:2px;

    background:pink;

}//选择到下面当中的第一个和第三个元素

  

    

    

   5、E[attr][attr2=val]匹配所有 有attr1属性 且有attr2属性,且attr2的值为val的E元素,这个就是写出几个属性选择器,并且都要同时满足他们的条件。

div[title="width"][class]{

    width:100px;

    height:100px;

    margin-top:2px;

    background:pink;

}    //选择到下面的第一个div元素


    

    

  四、a伪类选择器

1、 :link    匹配所有未被点击的链接

a:link{ color: green; }

2、:hover    匹配鼠标悬停在其上的元素

a:hover{ color: gold; }

3、:active   匹配鼠标按下还没有释放的元素

a:active{ color: blue; }

4、:visited  匹配所有已经被点击的链接

a:visited{ color: red; }

  hover的使用,只是一个选择器,一定是他的后代。

.box{

    width:100px;

    height: 100px;

    color:#fff;

    background: #000;

}
.box:hover p{

  color:red;

}//鼠标移动div上,p字体的颜色改变


  

        

我的字体

    

  2. a伪元素选择器

    1> :before  在元素

div:before{

    content: "before插入的元素";

}

//在div所有元素的最前面插入这个

这个是p

    2>  :after 在元素后面插入内容,插到最后一个子元素的后面。

div:after{content:"";}

  css3新增的选择器

   五. 关联选择器

    E1~E2(选择E1后面的兄弟E2)

div~p{

    width:100px;

    height: 100px;

    margin-top: 2px;

    background: #000;

}

  //div后面的三个p元素都选择到了

    

    

    

    

   六、 属性选择器新增

    1. [attr^=" .."] 以....开头的元素

div[class^="de"]{

    width:100px;

    height: 100px;

    margin-top: 2px;

    background: #000;

}  //选择到了前面三个div元素

    

    

    

    

    2.   [attr$="... "] 以...结束的元素

div[class$="de"]{

    width:100px;

    height: 100px;

    margin-top: 2px;

    background: #000;

}

  //选择到了前三个

    

    

    

    

    3. [attr*=""] 选择到包含值的元素

div[class*="de"]{

    width:100px;

    height: 100px;

    margin-top: 2px;

    background: #000;

}

//选择到下面的 1 2 4 都包含de字母

    

    

    

    

  七、伪类新增的选择器  下面都用p来举例子,其他的也一样

   下面当中就举一个例子,其他的那些自己去实验一下,可以用这个例子来实验

    这里是有of的是从p元素当中选p

   1. :first-of-type

p:first-of-type{

    width:100px;

    height:100px;

    background: #000;

}//父级下面所有p元素的第一个

    

        

        

        

        

        

    

  2. :last-of-type 

  p:last-of-type   父级下面所有p元素的最后一个

  3. only-of-type

  p:only-of-type  父级下面只有一个p元素,其他的元素不能是p,如果有其他元素那么会选不中。

  4. :nth-of-type

  p:nth-child(n)   选中父级元素中第n个p

  5. :nth-last-of-type(n)

    选择p,父级元素中倒数第n个p元素


下面是没有of的是在子元素中选择

  6. :only-child   

   p:only-child  选择p,p必须为他们各自父级的唯一一个子元素

p:only-child{

    width:100px;

    height: 100px;

    background: #000;

}
  //下面的这个只能选择到第一个div当中的p

    

        

    

    

        

        

    

    

        

        

        

    

  7. :last-child

   p:last-child   选择p,p必须为父级的最后一个子元素

  8. nth-child(n)

  p:nth-child(n)   父元素的第n个元素,叫p元素

  9  nth-last-child(n)

   p:nth-last-child(n) 选择p,也就是父级的倒数第n个元素,叫p。

后面的伪类没有什么规律了,别着急,一个一个慢慢来。

  只是举例子,不要以为括号里面的内容是固定的。

  1.  :not(.c1)   选择到class除了c1的p 括号里面的内容还可以是id等

p:not(.c1){

    width:100px;

    height: 100px;

    margin-top: 2px;

    background: #000;
}//下面的元素当中除了第一个class为c1的p元素其他的都被选中了。

    

       

       

       

       

       

   

   2.  :empty  选择倒标签内容为空的规定元素 

p:empty{

    width:100px;

    height: 100px;

    margin-top: 2px;

    background: #000;

}//会选择到下面的第二个p元素,因为他没有内容

    

        

11

        

        

11

        

11

        

1

    

   3.  p:target  选择倒当前被锚点激活的p

p:target{

    width:100px;

    height: 100px;

    margin-top: 2px;

    color:#fff;

    background: #000;

}  //点击a的内容,p标签的样式会被选中激活

    点我

    

    

p标签的内容

 4.   ::selection 被用户选中的p 这句话什么意思呢,来看下面的截图效果

p::selection{

    width:100px;

    height: 100px;

    margin-top: 2px;

    color:#fff;

    background: #000;

}

    

111

    

222

    

333

    

444

    

555

 5. input:disable

  选择到不能被操作的input框

6. input:enable

  选择到能被cao操作的input框

input:enabled{

    background:yellow;

}

input:disabled{

    background:red;

}

  //一般可以写内容的都是可以被操作的,加上disabled的属性和disabled的值的是不可以被操作的

    

    

    

7. input:checked 

  选择到被选中的input,一般用于js


input:checked{

    width:40px;

    height:40px;

}//就是框被打上对勾,被选中的元素会被选中

    足球

    篮球

文章源:https://www.cnblogs.com/z937741304/p/7901086.html

你可能感兴趣的:(2022-03-03css选择器总结)