CSS学习笔记(二)


1. 通配选择器

在CSS中,一个星号(*)就是一个通配选择器,它可以匹配任意类型的HTML元素。

例如:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CSS通配选择器</title>
    <style>
        * {
            color: royalblue;
            font-size: 7px;
        }
    </style>
</head>
<body>
    <div>
        The first line.
        <div>
            The second line.
            <p>
                The third line.
                <span>
                     Happy!
                </span>
            </p>
        </div>
    </div>
</body>
</html>

效果如下:
在这里插入图片描述


2. 元素选择器 / 伪元素选择器

  1. 元素选择器

最常见的 CSS 选择器是元素选择器。换句话说,文档的元素就是最基本的选择器。
如果设置 HTML 的样式,选择器通常将是某个 HTML 元素。
比如 p、h1、a,甚至可以是 html 本身。

举个例子:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CSS元素选择器</title>
    <style>
    	/* p 就是元素选择器  */
        p {
            color: royalblue;
            font-size: 7px;
        }
    </style>
</head>
<body>
    <div>
        The first line.
        <div>
            The second line.
            <p>
                The third line.
                <span>
                     Happy!
                </sp>
            </p>
        </div>
    </div>
</body>
</html>

效果如下:
在这里插入图片描述

  1. 伪元素选择器

CSS 伪元素用于设置元素指定部分的样式
例如,它可用于:

  • 设置元素的首字母、首行的样式
  • 在元素的内容之前或之后插入内容

常用CSS伪元素选择器:

选择器 例子 例子描述
::after p::after 在每个 <p>元素之后插入内容。
::before p::before 在每个 <p>元素之前插入内容。
::first-letter p::first-letter 选择每个 <p> 元素的首字母。
::first-line p::first-line 选择每个 <p> 元素的首行。
::selection p::selection 选择用户已选取的元素部分。(这里是 p 元素)

举个例子:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>CSS伪元素选择器</title>
    <style>
        p::first-letter {
            font-size: 50px;
        }
    </style>
</head>
<body>
    <div>
        <p>The first paragraph.</p>
        <p>The second paragraph.</p>
        <p>The third paragraph.</p>
    </div>
</body>
</html>

效果如下:
在这里插入图片描述


3. 属性选择器 / 类选择器 / 伪类选择器

  1. 属性选择器

属性选择器可以根据元素的属性及属性值来选择元素。

举个例子:

<!DOCTYPE html>
<head>
    <meta charset="UTF-8">
    <title>CSS属性选择器</title>
    <style>
        /* 
            只有等号的时候,就是完全匹配title的值
            等号前有个星号*,就是部分匹配title的值,只要有点击出现即可
            等号前有个^,就会匹配以点击开始的title的值
            等号前有个$,就会匹配以点击结束的title的值
        */
        [title*="点击"] {
            color: green;
            border: 3px solid silver;
        }

        .button,
        input[type="submit"] {
            border: 0;
        }

        input[type="text"] {
            width: 80%;
            padding: 5px;
        }
    </style>
</head>
<body>
    <input type="text" />
    <input type="submit" value="Submit" />
    <button title="点击此处登陆">登陆    </button>
    <button>注册</button>
    <a title="点击跳转百度" href="http://baidu.com">百度</a>
</body>
</html>

效果如下:
在这里插入图片描述

  1. 类选择器

类选择器使用( . )(英文点号)进行标识,后面紧跟类名

举个例子:

<!DOCTYPE html>
<head>
    <meta charset="UTF-8">
    <title>CSS类选择器</title>
    <style>
        .lightgreen {
            color: lightgreen;
        }

        .lightgray {
            color: lightgray;
        }

        .lightblue {
            color: lightblue;
        }

        .bold {
            font-weight: 900;
        }

        /* 页面中任何同时存在lightgreen和bold的元素,作用于以下样式 */
        .lightgreen.bold {
            border: 3px solid lightcyan;
        }

        /* lightgreen底下的所有的bold */
        .lightgreen .bold {
            border: 3px solid lightseagreen;
        }
    </style>
</head>
<body>
    <!-- 指定多个类名的时候,中间用空格隔开 -->
    <p class="lightgreen bold">
        类选择器 class
    </p>
    <div class="lightgray bold">
        A Hello
    </div>
    <p class="lightblue">
        B Hello
    </p>
    <p class="lightgreen">
        <span class="bold">
            C Hello
        </span>
    </p>
</body>
</html>

效果如下:
在这里插入图片描述

  1. 伪类选择器

伪类用于定义元素的特殊状态。

常用的伪类选择器:

选择器 例子 例子描述
:hover a:hover 鼠标悬停在链接时样式。
:link a:link 未访问链接样式。
:visited a:visited 已访问链接样式。
:active button:active 按钮点击激活时样式。
:focus input:focus 输入框聚焦时样式

举个例子:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>CSS伪类选择器</title>
    <style>
        /* 当鼠标光标聚焦于input时 */
        input:focus {
            outline: none;
            background: #aaa;
        }
    </style>
</head>
<body>
    <input type="text" />
    <button>点击</button>
</body>
</html>

效果如下:
在这里插入图片描述


4. 后代选择器 / 子元素选择器

  1. 后代选择器

后代选择器可以选择作为某元素后代的元素。
写法:外层标签写在前面,内层标签写在后面,中间用「空格」分隔。.

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>CSS后代选择器</title>
    <style>
        div {
            padding: 10px;
            background: rgba(255, 0, 0, 0.2);
        }

        .first .second {
            border: 2px solid lightcyan;
        }
        
        .first .second .third {
            border: 2px solid lightskyblue;
        }
    </style>
</head>
<body>
    <div class="first">
        a Hello
        <div class="second">
            b Hello
            <div class="third">
                c1 Hello
            </div>
            <div class="third">
                c2 Hello
            </div>
            <span class="second">
                SPAN
            </span>
        </div>
    </div>
</body>
</html>

效果如下:
在这里插入图片描述

  1. 子元素选择器

与后代选择器相比,子元素选择器(Child selectors)只能选择作为某元素子元素的元素。
写法:父级标签写在前面,子级标签写在后面,中间跟一个 > 进行连接

举个例子:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>CSS子元素选择器</title>
    <style>
        div {
            padding: 10px;
            background: rgba(255, 0, 0, 0.2);
        }

        .first > .second {
            border: 2px solid lightcyan;
        }
        
        .first .second .third {
            border: 2px solid lightskyblue;
        }
    </style>
</head>
<body>
    <div class="first">
        a Hello
        <div class="second">
            b Hello
            <div class="third">
                c1 Hello
            </div>
            <div class="third">
                c2 Hello
            </div>
            <span class="second">
                SPAN
            </span>
        </div>
    </div>
</body>
</html>

效果如下:
在这里插入图片描述


5. 相邻选择器 / 通用相邻选择器

  1. 相邻选择器

选择所选元素同层级的下一个元素。

举个例子:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>CSS相邻选择器</title>
    <style>
        div {
            min-height: 50px;
            background: rgba(0, 0, 0, 0.1);
            margin: 10px;
        }

        /* 
            相邻选择器 +
            选中a类的下一个div
        */
        .a + div {
            background: rgba(255, 0, 0, 0.3);
        }
    </style>
</head>
<body>

    <div class="a">
        a Hello
        <div>
            a1 Hello
        </div>
    </div>

    <div class="b">
        b Hello
    </div>

    <div class="c">
        c Hello
    </div>

    <div>
        d Hello
    </div>
</body>
</html>

效果如下:
在这里插入图片描述

  1. 通用相邻选择器

选择所选元素同层级的下面所有元素。

举个例子:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>CSS通用相邻选择器</title>
    <style>
        div {
            min-height: 50px;
            background: rgba(0, 0, 0, 0.1);
            margin: 10px;
        }

        /*
            通用相邻选择器 ~
            选中b类接下来所有的div
        */
        .b ~ div {
            background: rgba(0, 255, 0, 0.3);
        }
    </style>
</head>
<body>

    <div class="a">
        a Hello
        <div>
            a1 Hello
        </div>
    </div>

    <div class="b">
        b Hello
    </div>

    <div class="c">
        c Hello
    </div>

    <div>
        d Hello
    </div>
</body>
</html>

效果如下:
在这里插入图片描述


6. ID 选择器


id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式。
id 选择器以 “#” 来定义。

举个例子:

<!DOCTYPE html>
<head>
    <meta charset="UTF-8">
    <title>CSSID选择器</title>
    <style>
        #logo {
            color: cyan;
        }
        
        .lightgray {
            color: lightgray;
        }
    </style>
</head>
<body>
    <p id="logo">
        ID选择器 id
    </p>
    <div class="lightgray">
        A Hello
    </div>
    <p>
        <span id="logo">
            C Hello
        </span>
    </p>
    <p id="logo">
        LOGO
    </p>
</body>
</html>

效果如下:
在这里插入图片描述
CSS学习笔记(三)

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值