伪元素

本文深入讲解了CSS伪元素的使用方法,包括:first-letter、:first-line、:selection、:before和:after等特性,展示了如何通过这些伪元素增强网页样式,如改变首字母大小、背景颜色及选中文本的颜色。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>伪元素</title>
    <style>
        /* 
        伪元素,表示页面中一些特殊的并不真实存在的元素 (特殊的位置)
         */
        p{
            color: blue;
        }
        /* 
        第一个字母
         */
         p::first-letter{
             font-size: 40px;
         }

         /* 第一行 */
         p::first-line{
             background-color:yellowgreen;
         }

         /* 选中的内容 */
         p::selection{
             color: red;
         }
         /* ::before 元素的开始
            ::after 元素的结束
                这两个 必须结合content属性来使用 因为正常来说
                之前和之后是没有内容的,那么自然也就没有效果显示出来
          */
        div::before{
            content: '【';
            color: rgb(7, 13, 102);
        }
        div::after{
            content: '】';
            color: rgb(7, 13, 102);
        }
    </style>
</head>
<body>
    <div>这是div 可以用来看before 和after属性的效果</div>
    <p>这里是段落
         <br>莫欺少年穷,终需有日龙穿凤

    </p>
</body>
</html>
### HTML伪元素介绍 伪元素相当于在一个盒子内部产生一个行内盒子,是一种抽象的元素,它并不存在于真实的 HTML 结构中,但可以通过 CSS 来创建和控制,用于为元素的特定部分设置样式[^2]。在 CSS 发展过程中,伪元素的语法有变化。在开始时,伪元素使用单冒号的语法,随着 Web 发展,CSS3伪元素被修改为使用双冒号,如::before 和::after,以此将其与伪类(如:hover,:active 等)区分开来,但支持 CSS3 的浏览器同时也支持 CSS2 中引入的单冒号表示法,如:before 和:after [^3][^4]。 ### HTML伪元素用法 - **创建伪元素**:在 CSS 中使用特定的伪元素选择器,如::before 和::after 来创建伪元素,并通过 content 属性为其添加内容。 - **设置样式**:可以像对普通元素一样为伪元素设置各种 CSS 属性,如颜色、背景色、宽度、高度等。 ### HTML伪元素示例 #### 示例一:在元素前后添加文本 ```html <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <style> div::before { content: &#39;哈哈,&#39;; color: red } div::after { content: &#39;,您好!&#39;; color: green } </style> <body> <div>杨杨吖</div> </body> </html> ``` 此示例中,使用::before 和::after 伪元素在`<div>`元素前后分别添加了文本,并设置了不同的颜色[^5]。 #### 示例二:在元素前添加图片 ```html <!DOCTYPE html> <html> <head> <style> .mydiv::before { content: ""; display: inline-block; width: 20px; height: 20px; background-image: url(&#39;your-image-url.jpg&#39;); background-size: cover; margin-right: 5px; } </style> </head> <body> <div class="container"> <div class="mydiv"></div> </div> </body> </html> ``` 该示例展示了在`.mydiv`元素前添加图片,通过::before 伪元素,不使用 HTML 结构中的`<img>`标签,而是在 CSS 中设置背景图片 [^1]。 #### 示例三:为元素添加额外样式 ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style> .class1 { width: 150px; height: 100px; background-color: aquamarine; } .class1::after { content: "->"; color: red; background-color: blue; } .class1::before { content: "<-"; color: red; } </style> </head> <body> <div class="class1">登鹳雀楼</div> </body> </html> ``` 这个示例中,使用::before 和::after 伪元素在`.class1`元素前后添加了特定的文本,并设置了颜色和背景色 [^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值