一大波CSS3选择器

作者: 旧丶时候 | 来源:发表于2017-01-08 13:50 被阅读638次

0. 前言

也许你已经学会了CSS的几个简单常用的选择器:#id,.class,标签选择器,后代选择器,这就让你满足了么?so,我在里列举一些CSS3选择器,让你在写代码的时候更加得心应手,当然,我也是想在我忘了的时候,可以自己反过头来看看。

学霸.jpg

1. 简介

选择器的作用:使用选择器对HTML页面进行操作,实现一对一,多对一,一对多的控制。

2. 选择器

2.1 伪类选择器

:first-line 匹配每个元素里首行。

p:first-line{
    color: red; 
}
<p>
    北京欢迎您!<br/>
    Welcome to Beijing!
</p>
北京欢迎您.png
:first-letter选择每个元素的首字符。
p:first-letter{
    font-size: 20px;
    color: blue;    
}
北京欢迎您.png
:before在每个元素内容之前插入内容。
p:before{
    content: "哈哈";
}
<p>北京欢迎您!</p>
北京欢迎您.png
:after在每个元素内容之后插入内容。
p:after{
    content: "嘿嘿";
}
北京欢迎您.png

::selection选择被用户选取的元素部分。

div::selection {
    color: deeppink;
}
<div>
    大家,新年快乐,恭喜发财!
</div>
恭喜发财.gif
2.2 目标伪类选择器

:target选择当前触发#新的元素

div:target{
        width: 200px;
        height: 200px;
        background-color: orange;
}
<p><a href="#first">第一个</a></p>
<div id="first"></div>
<p><a href="#second">第二个</a></p>
<div id="second"></div>
<p><a href="#third">第三个</a></p>
<div id="third"></div>
二级菜单.gif
2.3 状态伪类选择器

:disabled选择每个禁用的 input 元素

input:disabled{
        background-color: black;
}
禁用:<input type="text" disabled="disabled" />
禁用.png
:enabled选择每个启用的 input 元素。
input:enabled{
        background-color: orange;
}
非禁用:<input type="text" />
非禁用.png
:read-only选择每个只读的 input 元素。
input:read-only{
        background-color: pink; 
}
只读:<input type="text" readonly="readonly" />
只读.png
:focus选择获得焦点的 input 元素。
input:focus{
        background-color: seagreen;
}
获得焦点:<input type="text" />
获得焦点.gif
:checked选择每个被选中的 input 元素。
input:checked{
        height: 100px;
}
选中:<input type="checkbox" />
选中.gif
2.4 结构伪类选择器

:root选择文档的根元素。

:root{
    background-color: pink;
}
根元素.png

:empty选择没有子元素的空元素

p{
    height: 50px;
    background-color: orange;
}
<p></p>
<p></p>
<p>
            
</p>
<p><!-- 这是注释 --></p>
<p>有内容的P元素</p>
空元素.png
:first-child选择属于其父元素的首个元素。
#box :first-child{
        background-color: red;
        height: 100px;
}
<div id="box">
    <p>1</p>
    <p>2</p>
    <p>3</p>
    <p>4</p>
    <p>5</p>
    <p>6</p>
</div>
第一个子元素.png
:last-child选择属于其父元素最后一个子元素。
#box :last-child{
        background-color: red;
        height: 100px;
}
最后一个子元素.png
:nth-child(n)选择属于其父元素的第n个子元素。
#box :nth-child(2){
        background-color: red;
        height: 100px;
}
选择其父元素第n个子元素.png
:nth-last-child(n)选择属于其父元素的第n子元素(从最后一个子元素开始数)。
#box :nth-last-child(2){
        background-color: red;
        height: 100px;
}
选择属于其父元素的第n子元素(从最后一个子元素开始数).png

:only-child选择属于其父元素的唯一子元素的元素。

#box2 :only-child{
        background-color: brown;
        height: 150px;
}
选择属于其父元素的唯一子元素的元素.png
:first-of-type选择其父元素的第一个子元素。
#box p:first-of-type{
        background-color: red;
        height: 100px;
}
第一个子元素.png
:nth-of-type(n)选择属于其父元素的第n子元素。
#box :nth-of-type(2){
        background-color: red;
        height: 100px;
}
选择其父元素第n个子元素.png
:only-of-type选择属于其父元素唯一的元素。
#box div:only-of-type{
        height: 100px;
        background-color: red;
}
<div id="box">
            //这是新添加的父元素下唯一的一个div
            <div></div>
            <p>1</p>
            <p>2</p>
            <p>3</p>
            <p>4</p>
            <p>5</p>
            <p>6</p>
</div>
父元素下唯一的一个div.png
2.5 否定伪类选择器

:not(element)选择非element元素的每个元素。

li{
    background-color: gold;
}
            
li:not(.second){
    background-color: red;
}
<ul>
    <li>第一个</li>
    <li class="second">第二个</li>
    <li>第三个</li>
    <li>第四个</li>
</ul>
非element的其他元素.png
2.6 层次选择器

element1~element2选择element1元素后面的每个兄弟element2元素。

div p~h3{
    color: red;
}
<p>最外层的P元素</p>
<div>
    <h3>我是h3</h3>
    <h3>我是h3</h3>
    <h4>我是h4</h4>
    <p>内层的P元素</p>
    <h3>我是h3</h3>
    <h3>我是h3</h3>
    <h4>我是h4</h4>
    <div>
        <p>最内层的P元素</p>
    </div>
</div>
选择element1元素后面的每个兄弟element2元素.png
element1+element2选择element1元素后一个兄弟element2元素。
div p+h3{
    color: blue;
    font-size: 40px;
}
选择element1元素后一个兄弟element2元素.png
element1>element2选择父元素element1元素的所有element2元素。
div>div>p{
    font-size: 30px;
    color: blue;    
}
选择父元素element1元素的所有element2元素.png
2.7 属性选择器

[attribute]选择带有 attribute 属性所有元素。

input[value]{
        background-color: orange;
}
<input type="text" name="inner" /><br />
<a href="01_伪元素选择器.html">哈哈哈哈哈哈</a><br />
<input type="text" name="inner be" /><br />
<input type="button" name="inner-haha" value="我是一个按钮" /><br />
<input type="submit"  value="我是一个提交" /><br />
选择带有 attribute 属性所有元素.png
[attribute][value]选择带有 attribute 和 value 两个属性所有元素。
input[value][name]{
            background-color: skyblue;
}
选择带有 attribute 和 value 两个属性所有元素.png
[attribute=value]选择 attribute="value" 的所有元素。
input[value="我是一个提交"]{
        background-color: seagreen;
}
.png
[attribute |= "value" ]选择 attribute 属性值以 "value" 开头的所有元素。
input[name |= "inner" ]{
        background-color: red;
}

注意:有空格的也能被选中, 而以"-"为衔接才能不被选中

选择 attribute 属性值以 "value" 开头的所有元素.png
[attribute~=value]选择 attribute 属性值中有 value 的所有元素。
input[name ~= "be"]{
        background-color: cornflowerblue;
}
选择 attribute 属性值中有 value 的所有元素.png
[attribute*=value]选择 attribute 属性值中包含 value 的所有元素。
input[value *= "提交"]{
        background-color: indigo;
}
选择 attribute 属性值中包含 value 的所有元素.png
[attribute ^= "value" ]选择 attribute 属性值以 "value" 开头的所有元素。
input[name ^= "inner"]{
        background-color: deeppink;
}       

注意:[attribute |= "value" ][attribute ^= "value" ]的区别是[attribute ^= "value" ]不需要考虑"-"

选择 attribute 属性值以 "value" 开头的所有元素.png
[attribute $= "value" ]选择 attribute 属性值以 "value" 结尾的所有元素。
a[href $= ".html"]{
        font-size: 30px;
}
选择 attribute 属性值以 "value" 结尾的所有元素.png

3. 后记

烦.jpg

哎,写这些标签太枯燥了,没什么太大意思,但我还是坚持的写完了,一大波CSS3选择器希望对你有帮助,点赞啦!,分享啊!

相关文章

  • 初级了解css3伪类选择器

    在 CSS3 中,选择器是一种模式,用于选择需要添加样式的元素。 先来了解一下css3选择器的分类 css3选择器...

  • CSS3知识概要总结之选择器篇(二)

    是的,从这里开始我们就开始学习CSS3的选择器了,学习资源CSS3选择器 属性选择器 属性选择器 发现属性选择器真...

  • HTML5和CSS3新增内容

    CSS3选择器有哪些? 属性选择器、伪类选择器、伪元素选择器。 CSS3新特性有哪些? 颜色:新增RGBA,HSL...

  • CSS3笔记(一)选择器

    回顾css3之前的选择器 css3选择器 1、属性选择器 2、结构 伪类选择器 注意点 : 选择是分类型,排序是不...

  • 2019前端经典面试题 CSS 部分常见问题

    CSS部分常见问题 1、CSS3选择器有哪些? 答:属性选择器、伪类选择器、伪元素选择器。 2、CSS3新特性有哪...

  • css选择器

    css1,2选择器 css3选择器

  • CSS和JQuery选择器

    一、 基本选择器 二、组合使用 三、属性选择器 四、 CSS3属性选择器

  • 移动web界面样式

    CSS3 CSS3在移动web开发中使用的特性包括:增强的选择器阴影强大的背景设置圆角边框 选择器 属性选择器完全...

  • jQuery基础知识

    一 : jQuery选择器 jQuery可以支持CSS3的选择器,在不支持CSS3的情况下,jQuery也可以兼容...

  • CSS 3 选择器

    CSS3追加的选择器 在CSS3中,追加了三个属性选择器分别为 这样使得选择器有了通配符的概念。 结构性伪类选择器...

网友评论

本文标题:一大波CSS3选择器

本文链接:https://www.haomeiwen.com/subject/ildxbttx.html