css属性选择器、css3结构选择器、伪元素选择器、仿土豆网隐藏遮罩层案例、伪元素清除浮动

news2024/11/19 4:18:09

属性选择器

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>属性选择器</title>
  <style>
    /*1. 必须是 input 但是同时具有 value 这个值 */
    input[value] {
      color: aqua;
    }

    /* 2.属性选择器还可以选择属性=值的某些元素(重点) */
    input[type=text] {
      color: pink
        /* 这里会覆盖上面的样式 */
    }

    /* 3.属性选择器可以选择属性值开头的某些元素 */
    div[class^=icon] {
      color: red;
    }

    /* 4.属性选择器可以选择属性值结尾的某些元素 */
    /* section[class$=data] {
      color: royalblue;
    } */

    /* 5.只要属性中有 n3 都选出来 */
    section[class*=n3] {
      color: rgb(65, 225, 145);
    }
  </style>
</head>
<!-- 注意 类选择器和属性选择器  伪类选择器的权重都是 10 -->

<body>
  <!-- 1.利用属性选择器就可以不用借助于类或者id选择器 -->
  <!-- <input type="text" value="请输入用户名">
  <input type="text"> -->

  <!-- 2.属性选择器还可以选择属性=值的某些元素 -->
  <!-- <input type="text" name="" id="">
  <input type="password" name="" id=""> -->

  <!-- 3.属性选择器可以选择属性值开头的某些元素 -->
  <!-- <div class="icon1">小图标1</div>
  <div class="icon2">小图标2</div>
  <div class="icon3">小图标3</div>
  <div class="icon4">小图标4</div>
  <div>我是打酱油的</div> -->

  <!-- 4.属性选择器可以选择属性值结尾的某些元素 -->
  <section class="incon1-data">我是安其拉</section>
  <section class="incon2-data">我是哥斯拉</section>
  <section class="incon3-ico">那我是谁</section>

</body>

</html>

 css3结构选择器上

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    /* 1.选择ul里面的第一个孩子 li */
    /* ul li:first-child {
      background-color: pink;
    } */

    /* 2.选择ul里面的最后一个孩子 li */
    /* ul li:last-child {
      background-color: pink;
    } */

    /* 3.选择ul里面的某个孩子 li nth-child(n) 1.可以是数字 ,2可以是关键字:even偶数,odd奇数*/
    /* ul li:nth-child(2) {
      background-color: skyblue;
    } */

    /* 4.选择ul里面的偶数行 */
    /* ul li:nth-child(even) {
      background-color: skyblue;
    } */

    /* 5.选择ul里面的奇数行 */
    /* ul li:nth-child(odd) {
      background-color: rgb(135, 235, 177);
    } */

    /* 6.选择ol里面 的所有孩子 n从0开始每次加一 */
    /* ol li:nth-child(n) {
      background-color: rgb(135, 235, 177);
    } */

    /* 7.nth-child(n) 里面可以加公式 1. 2n  偶数  2.2n+1 奇数  3.5n  5 10 15.... 
         4.n+5 从第五个开始(包括第5个)到最后一个  5.-n+5 前五个(包括第5个)*/
    dl :nth-child(2n) {
      background-color: rgb(135, 235, 177);
    }

    dl :nth-child(2n+1) {
      background-color: rgb(231, 16, 44);
    }
  </style>
</head>

<body>
  <!-- <ul>
    <li>我是第1一个孩子</li>
    <li>我是第2一个孩子</li>
    <li>我是第3一个孩子</li>
    <li>我是第4一个孩子</li>
    <li>我是第5一个孩子</li>
    <li>我是第6一个孩子</li>
    <li>我是第7一个孩子</li>
    <li>我是第8一个孩子</li>
  </ul> -->
  <ol>
    <li>我是第1一个孩子</li>
    <li>我是第2一个孩子</li>
    <li>我是第3一个孩子</li>
    <li>我是第4一个孩子</li>
    <li>我是第5一个孩子</li>
    <li>我是第6一个孩子</li>
    <li>我是第7一个孩子</li>
    <li>我是第8一个孩子</li>
  </ol>
  <dl>
    <dt>我是第1一个孩子</dt>
    <dd>我是第2一个孩子</dd>
    <dd>我是第3一个孩子</dd>
    <dd>我是第4一个孩子</dd>
    <dd>我是第5一个孩子</dd>
    <dd>我是第6一个孩子</dd>
    <dd>我是第7一个孩子</dd>
    <dd>我是第8一个孩子</dd>
    <dd>我是第9一个孩子</dd>
    <dd>我是第10一个孩子</dd>
  </dl>
</body>

</html>

 css3结构选择器下

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>

</head>
<style>
  /* 1.选择ul里面的第一个孩子 li */
  ul li:first-of-type {
    background-color: pink;
  }

  /* 2.选择ul里面的最后一个孩子 li */
  ul li:last-of-type {
    background-color: pink;
  }

  /* 3.选择ul里面的某个孩子 li nth-child(n) 1.可以是数字 ,2可以是关键字:even偶数,odd奇数*/
  ul li:nth-of-type(2) {
    background-color: pink;
  }

  /* 区别:nth-child会把所有的盒子都排列序号 */
  /* 不起效 */
  section div:nth-child(1) {
    background-color: rgb(31, 168, 72);
  }

  /* nth-of-type(n) 会把指定的盒子排列序号 */
  section div:nth-of-type(1) {
    background-color: rgb(201, 114, 15);
  }
</style>

<body>
  <ul>
    <li>我是第1一个孩子</li>
    <li>我是第2一个孩子</li>
    <li>我是第3一个孩子</li>
    <li>我是第4一个孩子</li>
    <li>我是第5一个孩子</li>
    <li>我是第6一个孩子</li>
    <li>我是第7一个孩子</li>
    <li>我是第8一个孩子</li>
  </ul>
  <section>
    <p>光头强</p>
    <div>熊大</div>
    <div>熊二</div>
  </section>
</body>

</html>

伪元素选择器

伪元素选择器可以帮助我们利用css创建新的标签元素,而不需要HTNL标签,从而简化HTML结构

选择符

简介

::before

在元素内部的前面插入内容

::after

在元素内部的后面插入内容

语法:

element::before{} 

注意点:

  • bofore和after创建一个元素,但是属于行内元素
  • 新创建的在个元素在文档中是找不到的,所以我们称为伪元素
  • bofore和after必须有content属性

  • before在元素内部的前面创建内容,after             在元素内部的后面创建内容

  • 伪元素选择器和标签选择器的权重一样 为  1  

示例

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>

</head>

<style>
  div {
    width: 200px;
    height: 200px;
    background-color: pink;
  }

  div::before {
    display: inline-block;
    /* 这个content是必须要写的 */
    content: "我";
    width: 30px;
    height: 40px;
    background-color: rgb(101, 19, 196);

  }

  div::after {
    content: "小猪佩奇";
  }
</style>

<body>
  <div>
    是
  </div>
</body>

</html>

伪元素选择器应用场景-字体图标

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        @font-face {
            font-family: 'icomoon';
            src: url('fonts/icomoon.eot?ctob7o');
            src: url('fonts/icomoon.eot?ctob7o#iefix') format('embedded-opentype'),
                url('fonts/icomoon.ttf?ctob7o') format('truetype'),
                url('fonts/icomoon.woff?ctob7o') format('woff'),
                url('fonts/icomoon.svg?ctob7o#icomoon') format('svg');
            font-weight: normal;
            font-style: normal;
            font-display: block;
        }

        div {
            position: relative;
            width: 200px;
            height: 35px;
            border: 1px solid red;
        }

        /* ::before            在元素内部的前面插入内容
       ::after             在元素内部的后面插入内容 */
        div::after {
            position: absolute;
            top: 5px;
            right: 10px;
            font-family: 'icomoon';
            /* content: ''; */
            content: '\ea52';
            font-size: 18px;
            color: rgb(46, 235, 124);
        }
    </style>
</head>

<body>
    <div></div>
</body>

</html>

仿土豆网隐藏遮罩层案例

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .tudou {
            position: relative;
            width: 210px;
            height: 318px;
            background-color: pink;
            margin: 30px auto;
        }

        .tudou img {
            width: 100%;
            height: 100%;
        }

        .tudou::before {
            /* 伪元素必须写的属性 */
            content: "";
            /* display:none;隐藏遮罩层 隐藏元素后不占有原来的位置  */
            display: none;
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, .5) url(../HTML5和css3-基础/images/tudo2.png) no-repeat center;

        }

        /* 当我们鼠标经过 土豆这个盒子 就让里面::before的遮罩层显示出来 */
        .tudou:hover::before {
            /* 显示元素 */
            display: block;
        }
    </style>
</head>

<body>
    <div class="tudou">
        <img src="../HTML5和css3-基础/images/tudo.jfif" alt="">
    </div>
    <div class="tudou">
        <img src="../HTML5和css3-基础/images/tudo.jfif" alt="">
    </div>
    <div class="tudou">
        <img src="../HTML5和css3-基础/images/tudo.jfif" alt="">
    </div>
    <div class="tudou">
        <img src="../HTML5和css3-基础/images/tudo.jfif" alt="">
    </div>
</body>

</html>

伪元素清除浮动

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        /* 清除浮动:方法三:伪元素清除*/
        /* 优点:相当于标签法的升级版,没有增加标签,结构更简单 */
        /* 缺点:照顾底版本的浏览器 */
        /* 代表网站:百度、淘宝网、网易等。 */
        .clearfix:after {
            /* 隐藏元素 */
            visibility: hidden;
            /* 核心代码清除浮动 */
            clear: both;
            /* 插入的元素必须是块级元素  伪元素选择器是行内元素 */
            display: block;
            /* 伪元素必须写的属性 */
            content: "";
            /* 不要看到这个盒子 */
            height: 0;
        }

        .clearfix {
            /* 提高可视等级 */
            *zoom: 1;
        }

        /* 清除浮动:方法四:双伪元素清除*/
        /* 优点:代码简洁 */
        /* 缺点:照顾底版本的浏览器 */
        /* 代表网站:小米、腾讯等。 */
        .clearfix::before,
        .clearfix:after {
            /* 伪元素必须写的属性 */
            content: "";
            /* 转换成块级元素 并且在一行显示 */
            display: table;
        }

        .clearfix::after {
            /* 核心代码清除浮动 */
            clear: both;
        }

        .clearfix {
            /* 提高可视等级 */
            *zoom: 1;
        }
    </style>
</head>

<body>

</body>

</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/545024.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Kafka在Java项目中的应用

Kafka在Java项目中的应用 Docker 安装Kafka 一.首先需要安装docker,可看这篇文章安装docker 二.拉取zookeeper和KafKa镜像 docker pull wurstmeister/zookeeperdocker pull wurstmeister/kafkaKafka组件需要向zookeeper进行注册,所以也需要安装zookeeper 三.启动zookeeper…

被00后卷的油尽灯枯了...

内卷的来源 内卷最早的“出处”是几张名校学霸的图片。 大学生们刷爆朋友圈的几张“内卷”图片是这样的&#xff1a;有的人骑在自行车上看书&#xff0c;有的人宿舍床上铺满了一摞摞的书&#xff0c;有的人甚至边骑车边端着电脑写论文。这些图片最早在清华北大的学霸之间流传。…

手机APP性能测试工具PerfDog安装教程及简单使用

一、下载PerfDog PerfDog下载安装传送带&#xff1a;PerfDog | 全平台性能测试分析专家 点击下载对应系统版本&#xff0c;Darren这里下载的是windows版本&#xff0c;苹果电脑可下Mac OS版本。 二、解压文件包 我们在想要存放PerfDog的文件路径先建立一个文件夹&#xff08;方…

远程桌面连接工具在哪里下载?

在市场上&#xff0c;有很多种不同的工具可用。一些远程桌面连接工具&#xff08;如RayLink&#xff09;具有高清流畅、操作简单和连接速度快的特点。而其他一些连接工具则更注重保护安全和数据保密性。不同的远程桌面连接工具各有特点&#xff0c;需要根据不同的需求进行选择。…

Linux将新硬盘挂载到指定目录

MBR分区最大2T&#xff0c;超过2T需用parted工具进行GPT分区 一、fdisk工具进行MBR分区&#xff08;2T以下&#xff09; 1. 查看当前所有硬盘 fdisk -l可以看到未分区的新硬盘/dev/sdd 2. 对新硬盘进行分区 fdisk /dev/sdd输入“n”&#xff0c;按“Enter”&#xff0c;开…

实验2 指令调度和延迟分支【计算机系统结构】

实验2 指令调度和延迟分支【计算机系统结构】 前言推荐代理服务器拒绝访问解决实验2 指令调度和延迟分支1 实验目的2 实验平台3 实验内容和步骤&#xff08;1&#xff09;启动MIPSsim。&#xff08;2&#xff09;进一步理解流水段的构成和各个流水寄存器的功能。&#xff08;3&…

降低FP独立站跳出率的5个小技巧,聪明人已经学起来了

做独立站特别是fp独立站的商家们&#xff0c;要想提高客户的体验感、达到更高的转化率&#xff0c;就要研究一下独立站的跳出率。跳出率可以衡量一个独立站的消费体验&#xff0c;同样也能衡量流量在独立站转化中的重要节点。消费者体验好、跳出率低的独立站才能够留住消费者&a…

机器学习算法应用实战笔记分享

来源&#xff1a;投稿 作者&#xff1a;小灰灰 编辑&#xff1a;学姐 整体代码请参考深度之眼的《机器学习算法应用实战》 视频链接&#xff1a;https://ai.deepshare.net/p/t_pc/goods_pc_detail/goods_detail/p_5e12aa8734510_IpNUGv5w 1.无监督学习方法---主成分分析 主成…

离散数学 | 图论 | 欧拉图 | 哈密顿图 | 割点 | 桥

本文主要解决以下几个问题&#xff1a; 1.欧拉图能不能有割点&#xff0c;能不能有桥&#xff1f; 2.哈密顿图能不能有割点&#xff0c;能不能有桥&#xff1f; 首先我们要明白几个定义 割点的定义就是在一个图G中&#xff0c;它本来是连通的&#xff0c;去掉一个点v以后这个…

前几天面了个30岁的测试员,年薪50w问题基本都能回答上,应该刷了不少八股文···

互联网行业竞争是一年比一年严峻&#xff0c;作为测试工程师的我们唯有不停地学习&#xff0c;不断的提升自己才能保证自己的核心竞争力从而拿到更好的薪水&#xff0c;进入心仪的企业&#xff08;阿里、字节、美团、腾讯等大厂.....&#xff09; 所以&#xff0c;大家就迎来了…

java 通过注解实现数据动态脱敏

一、为什么要数据脱敏&#xff1f; 数据脱敏是指对某些敏感信息通过脱敏规则进行数据的变形&#xff0c;实现敏感隐私数据的可靠保护。在涉及客户安全数据或者一些商业性敏感数据的情况下&#xff0c;在不违反系统规则条件下&#xff0c;对真实数据进行改造并提供测试使用&…

10个高质量的简历制作网站推荐

刚经历完有金三银四&#xff0c;有没有因为简历不行&#xff0c;面试少的可怜的同学。 今天推荐10个高质量的简历制作网站&#xff0c;包括可以在线免费生成设计简历的网站。 1.即时设计资源社区 即时设计是国内首款专业级的 UI 设计工具&#xff0c;像 PC 端的网页&#xf…

ThingsBoard教程(四十六):规则节点解析 延迟节点 Delay Node。生成节点 Generator Node, 日志节点 Log Node

延迟节点 Delay Node Since TB Version 2.1 延迟接收消息的时间段可进行配置。 配置如下: Period in seconds - 指定暂停接收消息的时间段。 Maximum pending messages - 指定最大允许挂起消息的数量(即被暂停的消息队列)。 当特定传入消息的延迟期达到后,该消息将从…

MATLAB第九章_数据图形可视化

目录 数据图形可视化 MATLAB图形窗口 函数绘制 一元函数绘制 二元函数绘图 数据图形绘制简介 离散数据可视化 连续函数可视化 二维绘图函数 基本绘图 快速方程式画图 特殊二维图形 三维绘图函数 绘制三维曲面 生成栅格数据 网格曲线绘制 隐藏线的显示和关闭 数据…

51单片机串口通信

串口通信 1、通信的基本概念2、 51单片机串口介绍2.1、串口通信简介2.2、串口内部结构2.3、串口通信寄存器SCONPCON 2.4、串口工作方式 3、串口使用方法3.1、硬件3.2、通信协议RS2323.3、串口初始化 4、硬件设计5、 软件设计6、拓展 串口的通信&#xff0c;一般是检测通信模块是…

网络安全专业应该从事哪个方向前景比较好

目前网络安全行业包括很多领域&#xff0c;例如网络安全基础、网络安全运维、应用安全、云安全、算法与数据安全、区块链安全、工业控制系统安全和人工智能安全等方向&#xff0c;各个方向的前景都比较好&#xff0c;关键在于选择适合自己并且感兴趣的方向。同时&#xff0c;也…

OSI体系结构7层,5层,4层协议+负载均衡

上图分别是7&#xff0c;4&#xff0c;5层协议 Q&#xff1a;为什么分4层和7层&#xff0c;目的&#xff1f; 7层&#xff1a;OSI参考模型是一种理论模型&#xff0c;旨在描述计算机网络的功能和架构。它提供了一种通用的框架&#xff0c;用于理解和设计网络协议和系统。然而&…

3.6万亿token、3400亿参数,谷歌大模型PaLM 2细节遭曝光

来源 | 机器之心 ID | almosthuman2014 谷歌内部文件又泄露了&#xff0c;这次是谷歌新一代大模型 PaLM 2 的训练细节&#xff1a;训练数据量是前代的近 5 倍、参数量是前代的三分之二左右。 上周四&#xff0c;在 2023 谷歌 I/O 大会上&#xff0c;谷歌 CEO 皮查伊宣布推出对…

埃尔德动力系统指标公式,衡量趋势的惯性和能量

亚历山大埃尔德(Alexander Elder)在其经典著作《以交易为生》&#xff08;原书第2版&#xff09;新增了一个工具——动力系统(Impulse System)&#xff0c;不过书中只介绍了动力系统的指标以及使用方法&#xff0c;并没有介绍系统的参数。其实动力系统在埃尔德2002年出版的《走…

【数据分析之道-基础知识(十一)】面向对象

文章目录 专栏导读1、简介2、类与对象3、属性和方法4、继承5、多态 专栏导读 ✍ 作者简介&#xff1a;i阿极&#xff0c;CSDN Python领域新星创作者&#xff0c;专注于分享python领域知识。 ✍ 本文录入于《数据分析之道》&#xff0c;本专栏针对大学生、初级数据分析工程师精心…