前端 | (四)CSS基础及CSS选择器 | 尚硅谷前端html+css零基础教程2023最新

news2024/10/5 18:32:56

学习来源:尚硅谷前端html+css零基础教程,2023最新前端开发html5+css3视频

文章目录

  • 📚CSS基础
    • 🐇CSS简介
    • 🐇CSS编写位置
      • ⭐️行内样式
      • ⭐️内部样式
      • ⭐️外部样式
    • 🐇样式表的优先级
    • 🐇CSS语法规范
    • 🐇CSS代码风格
  • 📚CSS选择器
    • 🐇CSS基本选择器
      • ⭐️通配选择器
      • ⭐️元素选择器
      • ⭐️类选择器
      • ⭐️id选择器
      • ⭐️基本选择器总结
    • 🐇CSS复合选择器
      • ⭐️交集选择器
      • ⭐️并集选择器
      • ⭐️HTML元素间的关系
      • ⭐️后代选择器
      • ⭐️子代选择器
      • ⭐️兄弟选择器
      • ⭐️属性选择器
      • ⭐️伪类选择器
      • ⭐️伪元素选择器
    • 🐇选择器的优先级(权重)

⭐️前文回顾:前端 | (三)表单及HTML4收尾 | 尚硅谷前端html+css零基础教程2023最新
⭐️前文对应p41-p56,本文对应p57-p86
⭐️补充网站:W3school,MDN

📚CSS基础

🐇CSS简介

在这里插入图片描述

🐇CSS编写位置

⭐️行内样式

  • 写在标签的style属性中,又称内联样式。
  • 语法:
    在这里插入图片描述
    在这里插入图片描述

⭐️内部样式

  • 写在html页面内部,将所有的CSS代码提取出来,单独放在<style>标签中。
  • 语法:
    在这里插入图片描述
    在这里插入图片描述

⭐️外部样式

  • 写在单独的.css文件中,随后在HTML文件中引入使用。

  • 语法:
    在这里插入图片描述

    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <meta charset="UTF-8">
        <title>示例</title>
        <link rel="stylesheet" href="b.css"
    </head>
    <body>
        <h1 >欢迎来到尚硅谷学习</h1>
    </body>
    </html>
    
    /* 给h1添加样式 */
    h1{
        color: red;
        font-size: 40px;
    }
    

在这里插入图片描述
在这里插入图片描述

🐇样式表的优先级

优先级规则:行内样式 > 内部样式 = 外部样式

  • 内部样式、外部样式,这二者的优先级相同,且:后面的会覆盖前面的(后来者居上)。
  • 同一个样式表中,优先级也和编写顺序有关,且:后面的会覆盖前面的(后来者居上)。
    在这里插入图片描述

🐇CSS语法规范

CSS语法规范由两部分构成:

  • 选择器:找到要添加样式的元素。
  • 声明块:设置具体的样式(声明块是由一个或多个声明组成的)。
    在这里插入图片描述
  • 注释的写法:(Ctrl + /同样是快捷键)
    在这里插入图片描述

🐇CSS代码风格

在这里插入图片描述

📚CSS选择器

🐇CSS基本选择器

⭐️通配选择器

  • 作用:可以选中所有的HTML元素。

  • 语法

    *{
        属性名:属性值;
    } 
    
  • 举例

    /* 举例,选中所有元素 */
    *{
        color:orange;
        font-size: 40px;
    }
    

    目前来看,通配选择器貌似有点鸡肋,但后面清除样式时,会对我们有很大帮助。

⭐️元素选择器

  • 作用:为页面中某种元素统一设置样式。
  • 语法
    标签名{
        属性名:属性值;
    }
    
  • 举例
    /* 选中所有h1元素 */
    h1{
        color: orange;
        font-size: 40px;
    }
    
    /* 选中所有p元素 */
    p{
        color: blue;
        font-size: 60px;
    }
    

    元素选择器无法实现差异化设置,例如上面的代码中,所有的p元素效果都一样。

⭐️类选择器

  • 作用:根据元素的class值,来选中某些元素。
    在这里插入图片描述

  • 语法

    .类名{
        属性名:属性值;
    }
    
  • 举例

    /* 选中所有class值为speak的元素 */
    .speak{
        color: red;
    }
    /* 选中所有class值为big的元素 */
    .big{
        color: blue;
    }
    
  • 关于元素的class属性

    <!-- 一个元素不能写多个class属性,后写的会失效,错误案例如下 -->
    <h1 class="speak" class="big">你好啊</h1>
    <!-- 一个元素的class属性,能写多个值,要用空格隔开,示例如下 -->
    <h1 class="speak pig">你好啊</h1>
    

⭐️id选择器

  • 作用:根据元素的id属性值,来精准选中某个元素。
  • 语法
    #id值{
    	属性名:属性值;
    }
    
  • 举例
    /* 选中id值为lala的那个元素 */
    #lala{
        color: red;
        font-size: 60px;
    }
    

在这里插入图片描述

⭐️基本选择器总结

在这里插入图片描述

🐇CSS复合选择器

  • 复合选择器建立在基本选择器之上,由多个基本选择器,通过不同的方式组合而成。
  • 符号位选择器可以在复杂结构中,快速而准确地选中元素。

⭐️交集选择器

  • 作用:选中同时符合多个条件的元素。
  • 语法选择器1选择器2选择器3...选择器n{}
  • 举例
    /* 选中:类名为beauty的p元素,此种写法用得非常多!! */
    p.beauty{
        color: blue;
    }
    /* 选中:类名包含rich和beauty的元素 */
    .rich.beauty{
        color: green;
    }
    
  • 注意
    在这里插入图片描述

⭐️并集选择器

  • 作用:选中多个选择器对应的元素,又称分组选择器
  • 语法选择器1,选择器2,选择器3,...选择器n{},这里的,就是
  • 举例
    /* 选中id为peiqi,或类名为rich,或类名为beauty的元素 */
    #peiqi,
    .rich,
    .beauty{
        font-size: 40px;
        background-color: skyblue;
        width: 200px;
    }
    

在这里插入图片描述

⭐️HTML元素间的关系

  • 父元素直接包裹某个元素的元素,就是该元素的父元素。
    在这里插入图片描述
  • 子元素:被父元素直接包含的元素。
    在这里插入图片描述
  • 祖先元素:父亲的父亲…,一直往外找,都是祖先。(父元素,也算是祖先元素的一种)
    在这里插入图片描述
  • 后代元素:儿子的儿子…一直往里找,都是后代。(子元素,也算是后代元素的一种)
    在这里插入图片描述
  • 兄弟元素:具有相同父元素的元素,互为兄弟标签。
    在这里插入图片描述

⭐️后代选择器

  • 作用:选中指定元素中,符合要求的后代元素。
  • 语法选择器1 选择器2 选择器3 ... 选择器n {}, (先写祖先,再写后代),选择器之间,用空格隔开,空格可以理解为“xxx中的”。
  • 举例
    /* 选中ul中的所有li */
    ul li{
        color: red;
    }
    /* 选中ul中的所有li中的a */
    ul li a{
        color: orange;
    }
    /* 选中类名为subject元素中的所有li */
    .subject li{
        color: blue;
    }
    /* 选中类名为subject元素中的所有类名为front-end的li */
    .subject li.front-end{
        color: blue;
    }
    
    在这里插入图片描述

⭐️子代选择器

  • 作用:选中指定元素中,符合要求的子元素。(先写父,再写子)
  • 语法选择器1>选择器2>选择器3>......选择器n {},用>隔开,>可以理解为“xxx的子代”。
    在这里插入图片描述
  • 举例
    /* div中的子代a元素 */
    div>a{
        color: red;
    }
    /* 类名为persons的元素中的子代a元素 */
    .persons>a{
        color: red;
    }
    

⭐️兄弟选择器

  • 相邻兄弟选择器
    在这里插入图片描述
  • 通用兄弟选择器
    在这里插入图片描述

两种兄弟选择器,选择的是下面的兄弟

⭐️属性选择器

在这里插入图片描述

  • 举例
    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <meta charset="UTF-8">
        <title>属性选择器</title>
        <style>
            /* 第一种写法,选中具有某个属性的元素 */
            [title]{
                font-size: 40px;
            }
            /* 第二种写法:选中包含某个属性,且属性值等于指定值的元素 */
            [title="lalayouyi"]{
                color: red;
            }
            /* 第三种写法:选中包含某个属性,且属性值以指定值开头的元素 */
            [title^="you"]{
                color: aqua;
            }
            /* 第四种写法:选中包含某个属性,且属性值以指定值结尾的元素 */
            [title$="er"]{
                color:blue;
            }
            /* 第五种写法:选中包含某个属性,属性值包含指定值的元素 */
            [title*="luyou"]{
                color:palegreen;
            }
        </style>
    </head>
    <body>
        <div title="lalayouyi">啦啦右一</div>
        <div title="lalazuoer">啦啦左二</div>
        <div title="youyi">右一</div>
        <div title="luluyouyi">噜噜右一</div>
    </body>
    </html>
    
    在这里插入图片描述

⭐️伪类选择器

在这里插入图片描述

  • 动态伪类
    在这里插入图片描述

    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <meta charset="UTF-8">
        <title>动态伪类</title>
        <style>
            /* 选中的是没有访问过的a元素 */
            a:link{
                color: aquamarine;
            }
            /* 选中的是访问过的a元素 */
            a:visited{
                color: gray;
            }
            /* 选中的是鼠标悬浮状态的a元素 */
            a:hover{
                color: yellow;
            }
            /* 选中的是激活(点下未抬起)状态下的a元素 */
            a:active{
                color: blueviolet;
            }
            /* 在输入时(获取焦点时)选中 */
            input:focus{
                color: red;
                background-color: pink;
            }
        </style>
    </head>
    <body>
        <a href="https://www.baidu.com">去百度</a>
        <a href="https://www.jd.com">去京东</a>
        <input type="text">
    </body>
    </html>
    
  • 结构伪类——例子看视频(无敌细致)
    在这里插入图片描述

    总的来说,n是需要满足an+b格式的公式,n从0开始。

    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <meta charset="UTF-8">
        <title>伪类选择器</title>
        <style>
            /* ul里li的偶数个标绿 */
            ul > li:nth-child(2n){
                color: green;
            }
            /* ul里li的奇数个标紫 */
            ul > li:nth-child(odd){
                color: purple;
            }
            /* ul里第一个li标红 */
            ul > li:first-of-type{
                color: red;
            }
            /* ul里最后一个li标蓝 */
            ul > li:last-child{
                color: blue;
            }
        </style>
    </head>
    <body>
        <ul>
            <span>我是一个span</span>
            <li>第0个</li>
            <li>第1个</li>
            <li>第2个</li>
            <li>第3个</li>
            <li>第4个</li>
            <li>第5个</li>
        </ul>
    </body>
    </html>
    

    在这里插入图片描述

    在这里插入图片描述

  • 否定伪类:not(选择器),排除满足括号中条件的元素。

  • UI伪类
    在这里插入图片描述

  • 目标伪类:target ,选中描点指向的元素。

    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <meta charset="UTF-8">
        <title>目标伪类</title>
        <style>
            div{
                background-color: aquamarine;
                height: 200px;
            }
            div:target{
                background-color: cornflowerblue;
            }
        </style>
    </head>
    <body>
        <a href="#one">去看第一个</a>
        <a href="#two">去看第二个</a>
        <a href="#three">去看第三个</a>
        <a href="#four">去看第四个</a>
        <a href="#five">去看第五个</a>
        <a href="#six">去看第六个</a>
    
        <div id="one">第一个</div><br>
        <div id="two">第二个</div><br>
        <div id="three">第三个</div><br>
        <div id="four">第四个</div><br>
        <div id="five">第五个</div><br>
        <div id="six">第六个</div><br>
    </body>
    </html>
    
  • 语言伪类:lang(),根据指定的语言选择元素(本质是看lang属性的值)。
    在这里插入图片描述
    在这里插入图片描述

⭐️伪元素选择器

在这里插入图片描述

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>伪元素选择器</title>

    <style>
        p{
            font-size: 10px;
        }
        /* 选中元素的第一个文字 */
        p::first-letter{
            font-size: 30px;
        }
        /* 选中元素的第一行文字 */
        p::first-line{
            background-color: yellow; 
        }
        /* 选中被鼠标选中的内容 */
        p::selection{
            background-color: greenyellow;
        }
        /* 在元素最开始的地方创建一个子元素 */
        div::before{
            content: 'abc';
            color: red;
        }
        p::before{
            content: '『';
        }
        /* 在元素最后的地方创建一个子元素 */
        div::after{
            content: 'haha';
            color: blue;
        }
        p::after{
            content: '』';
        }

    </style>
</head>
<body>
    <div>Hello Hello How are you</div> 
    <p>
        Lorem ipsum dolor sit amet consectetur adipisicing elit.
        <br>
        Atque velit modi veniam nisi veritatis tempore laborum nemo ipsa itaque optio. Id odit consequatur mollitia excepturi, minus saepe nostrum vel porro.
    </p>
</body>
</html>

在这里插入图片描述

🐇选择器的优先级(权重)

通过不同的选择器,选中相同的元素,并且为相同的样式名设置不同的值时,就发生了样式的冲突。到底应用哪个样式,此时就需要看优先级了。

  • 简单描述
    在这里插入图片描述

  • 详细描述
    在这里插入图片描述

    例如
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

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

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

相关文章

Appium 全新 2.0 全新跨平台生态,版本特性抢鲜体验!

关于Appium V2 Appium V2 beta版本在2021年发布&#xff0c;从2022年1月1号开始&#xff0c;Appium核心团队不会再维护Appium 1.x版本了&#xff0c;所有近期官方发布的平台驱动&#xff08;如Android平台的UIAutomator&#xff0c;IOS平台的XCUITest&#xff09;不再兼容Appi…

大数据分析案例-基于随机森林算法构建心力衰竭预测模型

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

云原生周刊:6 项 K8s 成本控制策略 | 2023.7.17

开源项目推荐 Base Image Finder 当使用容器扫描工具来识别已知漏洞&#xff08;CVE&#xff0c;或常见漏洞和暴露&#xff09;时&#xff0c;可能很难理解漏洞在容器中的位置&#xff0c;以及如何缓解这些漏洞。通常&#xff0c;最简单、最有效的缓解方法是更新 "基本映…

EasyPoi实战系列集合

历史文章&#xff08;文章累计480&#xff09; 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 《国内最全的Spring Boot系列之六》 导…

【黑马头条之对象存储服务MinIO】

本笔记内容为黑马头条项目的对象存储服务MinIO部分 目录 一、MinIO简介 二、MinIO特点 三、开箱使用 1、安装启动 2、管理控制台 四、快速入门 1、创建工程&#xff0c;导入pom依赖 五、封装MinIO为starter 1、创建模块heima-file-starter 2、配置类 3、封装操作mi…

VBA命令及语法列表之字典Dictionaries相关

【分享成果&#xff0c;随喜正能量】真正的修佛之人。首先&#xff0c;得明白自己的来处和归宿&#xff0c;懂得敬畏自己的生命和他人的生命&#xff0c;尽其所能释放善意。学会悲天悯人&#xff0c;渡人的同时渡己&#xff0c;始终走在止于至善的路上。真正的慈悲为怀&#xf…

有哪些方法可将PPT转成PDF?分享三个方法给大家!

将PPT&#xff08;演示文稿&#xff09;文件转换为PDF&#xff08;便携式文档格式&#xff09;是一种常见的需求&#xff0c;特别适用于共享演示文稿、打印或以静态格式保存的情况。本文将介绍三种简单易用的方法来实现PPT转PDF的操作&#xff0c;其中方法一是使用记灵在线工具…

MarkDown 生成目录的树结构

1. tree 命令的使用 Markdown没有办法直接生成目录的树结构&#xff0c;需要借助Windows下的tree命令&#xff0c;具体如下&#xff1a; 显示所有目录&#xff0c;不包含目录下的文件&#xff0c;tree 文件夹路径 显示所有目录&#xff0c;包含目录下的文件&#xff0c;tree …

命令行查看numpy版本

问题 查看numpy版本 解决方法 python -c "import numpy;print(numpy.version.version)"成功

OpenCV中reshape()函数详解-改变矩阵的通道数,对矩阵元素进行序列化

文章目录 1、函数原型2、示例3、结论&#xff1a; OpenCV中reshape()函数详解-改变矩阵的通道数&#xff0c;对矩阵元素进行序列化 在opencv中reshape函数&#xff0c;既可以改变矩阵的通道数&#xff0c;又可以对矩阵元素进行序列化 1、函数原型 Mat Mat::reshape(int cn, in…

echarts_雷达图

目录 雷达图(radar)需求[1] 复制案例[2] 色调统一[3] 配置项实现代码 雷达图(radar) 需求 [1] 复制案例 如上图&#xff0c;先复制一个最简单的雷达图 [2] 色调统一 直角系坐标都是使用xAxis/yAxis配置项&#xff0c;但是雷达图使用的是radar配置项配置坐标系。 配置项注解区…

GoFrame v2.5 版本发布,企业级 Golang 开发框架

大家好啊&#xff0c;GoFrame 框架今天发布了 v2.5.0 正式版本啦&#xff01;&#x1f44f;&#x1f44f;&#x1f44f;&#x1f44f; 本次版本主要是对已有功能组件以及开发工具上的改进工作。其中&#xff0c;开发工具新增了 gf gen ctrl 命令&#xff0c;以规范化定义、开发…

【C#】并行编程实战:使用并发集合

在上一章的并行编程实现里&#xff0c;为了保护资源&#xff0c;我们对共享资源加锁&#xff08;各种同步原语&#xff09;来进行保护&#xff0c;避免多线程同时访问&#xff08;主要是写入&#xff09;。但一般来说&#xff0c;共享资源是一个可以由多个线程读写的集合&#…

AR气象博物馆模拟体验提升青少年认知

国际气象节主要目的是唤起人们对气象工作的重视和热爱。近年来&#xff0c;极端天气频发&#xff0c;人们需要提高警惕&#xff0c;AR气象远程普利用ar技术特有的沉浸式的体感互动&#xff0c;通过模拟演练提升体验者的安全防范意识和求生技巧。 系统结合VR虚拟现实、AR增强现实…

【多模态】1、几种多模态 vision-language 任务和数据集介绍

文章目录 一、Phrase Grounding1.1 概念介绍1.2 常用数据集介绍 二、Referring Expression Comprehension&#xff08;REC&#xff09;2.1 概念介绍2.2 常用数据集介绍 三、Visual Question Answer&#xff08;VQA&#xff09;3.1 概念介绍 四、Image Caption4.1 概念介绍 现在…

MySQL-数据库读写分离(上)

♥️作者&#xff1a;小刘在C站 ♥️个人主页&#xff1a; 小刘主页 ♥️努力不一定有回报&#xff0c;但一定会有收获加油&#xff01;一起努力&#xff0c;共赴美好人生&#xff01; ♥️学习两年总结出的运维经验&#xff0c;以及思科模拟器全套网络实验教程。专栏&#xf…

(学习笔记-TCP连接建立)为什么每次建立TCP连接时,初始化的序列号都要求不一样?

主要原因有两个方面&#xff1a; 为了防止历史报文被下一个相同的四元组的连接接收(主要)为了安全性&#xff0c;防止黑客伪造相同序列号的TCP报文被对方接收 展开第一点&#xff1a; 假设每次建立连接&#xff0c;客户端恶核服务端的初始化序列号都是从0开始&#xff1a; 过程…

Mysql教程(一):Mysql数据模型和SQL语法分析

Mysql教程&#xff08;一&#xff09;&#xff1a;Mysql数据模型和SQL语法分析 1、Mysql数据模型 1.1 关系型数据库&#xff08;RDBMS&#xff09; 概念&#xff1a;建立在关系模型基础上&#xff0c;由多张相互连接的二维表组成的数据库。 特点&#xff1a; 使用表存储数…

H5活动营销系统怎么做?H5活动营销系统有哪些优势?

H5营销系统广泛用于各类线下活动场景&#xff0c;即将传统线下活动搬到线上&#xff0c;结合互动和奖励设计&#xff0c;引导用户产生转发、分享等目标行为&#xff0c;从而扩大活动影响力&#xff0c;以获得曝光和转化。因此&#xff0c;h5活动营销系统通常用于拉新促活、刺激…

【LeetCode 75】第三题(1431)拥有最多糖果的孩子

题目: 示例: 分析: 题目是简单题,也确实简单,不过示例给出的解释有些复杂,甚至有些误导.我们只需要遍历得出分配糖果之前的糖果最大值,然后再依次遍历每个孩子拥有的糖果数,若某孩子原有的糖果数加上待分配的所有糖果数大于等于分配前的糖果最大值,则给该孩子对应下标的结果置…