css伪类和伪元素

在网页中往往有些信息不能被选择器选中,比如CSS没有“光标点击”“文档首字母”之类的选择器,因此引入了伪类和伪元素来解决这些问题。伪类和伪元素的区别为

(1)伪类的操作对象为文档树中已有的元素,而伪元素操作的是文档数之外的元素。

(2)一般来说伪类使用“:”,伪元素使用“::”双冒号,但大部分使用双冒号的伪元素也可以被浏览器识别。

伪类

用单冒号" : "表示伪类,表示CSS中已经定义好的,可以直接使用的某种属性,也可以理解为某种情况下的样式,或一种伪装的class类

常用的伪类如下

-hover 当鼠标划过时显示的CSS样式

-active 当鼠标点击时显示的CSS样式

-link 链接未访问

-visited 链接已经被访问

-focus 获取焦点

-first-child 选取选择器选中的第一个子元素

-last-child 选取选择器选中最后一个子元素

 伪类的语法格式为

选择器:伪类{

属性:属性值

属性:属性值

.............

}

伪类的使用样例如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>伪类</title>
    <style>
        a:link{
            color:black;
            font-size:20px;
        }
        a:visited{
            color:blue;
            font-size:50px;
        }
        a:hover{
            color:green;
            font-size:50px;
        }
        a:active{
            color:red;
            font-size:50px;
        }
        input:focus{
            background-color: brown;
        }
    </style>
</head>
<br>
    <a href="https://www.taobao.com/" target="_blank">淘宝</a><br>
    <!-- a:hover必须在a:link和a:visited之后 -->
    <!-- a:active必须在a:hover之后 -->
    请输入<input type="text"><br>
</body>
</html>

伪元素

与伪类一样,伪元素也不是真正的元素,在显示时看似是用HTML的某些元素实现,实则是通过CSS实现。常用的伪元素如下

 ::before 在某元素前插入一些内容

::after 在某元素后插入一些内容

::first-letter 为首个字使用某种样式

::first-line 为第一行使用某种样式 

::selection 匹配被用户选中或高亮的部分

伪元素的语法格式与伪类相同,只是最好使用双冒号

伪元素使用的样例如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>伪元素</title>
    <style>
        .f1::first-line{
            color: red;
            font-size: 50px;
        }
        .f2::first-letter{
            color: black;
            font-size: 10px;
        }
        .f3::before{
            content:"23333";
        }
        .f3::after{
            content:"你好";
        }
        }
    </style>
</head>
<body>
    <p class="f1">
        第一行<br>第二行
    </p>
    <br>
    <p class="f2">
        第一行<br>第二行
    </p>
    <p class="f3">
        哈哈
    </p>
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值