前端三剑客CSS篇——CSS选择器

初识CSS选择器

文章目录

  • 初识CSS选择器
      • CSS三大特征👍
      • CSS的三种使用方法👏
      • CSS常见选择器👀
        • 标签选择器
        • 类选择器
        • id选择器
        • 后代选择器
        • 属性选择器
        • 复合选择器
      • CSS代码风格📜

CSS是前端三剑客不可忽略的一部分,CSS对前端来说是一个美化页面的工具,而且其功能十分强大,程序员可以如果熟练运用的话可以‘随心所欲’的更改页面的样式,使得页面更加美观。

CSS标签是由键值对的模式来排列的。

height:100px; /*height:键 100px:值 意识是高度设置为100px*/

CSS三大特征👍

学习CSS之前,先认识一下CSS的三大特征:

  1. 层叠性

    对同一个标签使用了同一种样式更改时,决定标签最后显示的样式是使用就近原则法,不会对之前修改的样式产生冲突

  2. 继承性

    子标签会继承父标签的某些样式,之前介绍HTML标签中,标签中互相存在着兄弟关系和父子关系,这种样式的继承是在于父子关系之间的

  3. 优先级

    如果选择器相同的情况下,会执行层叠性的规则,否则就是根据其权重来展示样式的。

在这里插入图片描述

CSS的三种使用方法👏

  1. 内部引入

    (1) 这里可以将标签放在任何地方,不过一般是放在头部或者尾部

    <style>
            div {
                height: 100px;
                width: 100px;
                background-color: orange;
            }
    </style>
    

    在这里插入图片描述

  2. 内联引入

    (1) 这里是对div 标签直接使用,其优先级大于其他标签

<div style="height: 100px; width: 100px; background-color: orange;">
        我是一个盒子
</div>
  1. 外部引入

    (1)创建一个以css结尾的文件,可以在文件中写入第一种方式的CSS样式,然后在head标签中引入文件。

<link rel="stylesheet" href="01.css">

虽然CSS有三种引入方式,不过最常使用的是内部引入和外部引入,因为看起来比较美观,修改时也比较简单。

CSS常见选择器👀

选择器,就是一个标签,在引入样式时指定的标签就称为选择器。

标签选择器

标签选择器就是使用HTML标签名来选择元素来进行样式处理,用于选取页面中所有具有相同标签的元素,标签选择器可以匹配所有的HTML标签,是最常见,最基本的标签之一。

举个例子🎁:

div {
    background-color: orange;
}

这个CSS规则会选中HTML文档中所有的div元素,然后将他们的背景色设置为橙色.

类选择器

每个标签都可以设置1个或多个类,比如给一个p标签设置一个名为message的类:

<p class="message">
    我是一段文字
</p>

类选择器就是使用标签中的类名所扩展的一种选择器,要使用选择器中的样式就必须在这个标签中引用这个类。注意,类选择器和标签选择器写法也不同。

举个例子🎁:

.message {
    color:blue;
}

使用了这个类的文字都会变成蓝色。

id选择器

每个HTML标签可以只能设置一个idid具有唯一性,所以使用这个样式一般是给特定的元素设置的。

<p id="textid">测试id选择器</p>

这种选择器很少会使用,不过在特定时期会对页面有一个很大的作用,id选择器的使用方法也与其他的不同,在id名前加#作为该选择器的名称。

举个例子🎁:

#textid {
    color: pink;
}

将这个id的元素的文字颜色设置成粉色。

后代选择器

允许根据类名或标签名嵌套在其他元素中的位置来选中元素,这意味着可以选择父元素下的特定后代元素或者元素集合,后代选择器可以嵌套许多层。

举个例子🎁:

<!-- HTML部分 -->
<div class="parent-element">
    <p>子元素p标签</p>
</div>
<!-- CSS部分 -->
<style>
    .parent-element p {
        color: chartreuse;
    }
</style>

这个代码的意思是将类名为parent-element父元素下的所有p标签元素中文字颜色改为chartreuse

举个例子🎁🎁:

<!-- html -->
<div class="parent-element">
    <p>
        <a href="#">孙子元素a标签</a>
    </p>
</div>
<!-- CSS -->
<style>
    .parent-element p a {
        color: chartreuse;
    }
</style>

这个代码的意思是将类名为parent-element父元素下的所有p标签中所有a标签元素中文字颜色改为chartreuse

属性选择器

属性选择器可以根据元素的属性和值来选择元素。这些选择器对于选中元素有特定的属性,并且这个属性还可以等于一个值或包含一个值。

  1. 等于选择器=

    选中的属性包含指定的属性

    举个例子🎁:

    <!-- html -->
    <div>
        效果组: <input type="text"><br>
        对比组: <input type="email">
    </div>
    <!-- css等于选择器 -->
    <style>
        input[type="text"] {
            background-color: brown;
        }
    </style>
    

    这个选择器的含义是将input标签中所有将type设置成text属性的标签背景颜色改为brown

    在这里插入图片描述

  2. 包含选择器*=

    选中的属性包含指定元素

    举个例子🎁:

    <!-- html -->
    <div>
        效果组:<a href="www.google.com">谷歌</a><br>
        对比组:<a href="www.baidu.com">百度</a>
    </div>
    <!-- css包含选择器 -->
    <style>
        a[href*="google"] {
            font-size: 50px;
        }
    </style>
    

    a标签中所有href属性值包含google字样的字体属性设置为50px的大小。

    在这里插入图片描述

  3. 开始选择器^=

    选择元素属性值以指定开头的元素

    举个例子🎁:

    <div>
        效果组:<a href="https://www.google.com">谷歌</a><br>
        对比组:<a href="www.baidu.com">百度</a>
    </div>
    <!-- css开始选择器 -->
    <style>
        a[href^="https://"] {
            color: #46eb5c;
        }
    </style>
    

    a标签中的href属性中以https://开头的元素中文字颜色改为绿色。

    在这里插入图片描述

  4. 结束选择器$=

    这个与前者真好相反,这个是将属性值中以这个指定的字符串结尾的元素

    举个例子🎁:

    <!-- html -->
    效果组:<img src="../boy.png" style="width: 100px;">
    对比组:<img src="../book1.jpg" style="width: 100px;">
    <!-- css结束选择器 -->
    <style>
        img[src$=".jpg"] {
            border: 2px solid red;
        }
    </style>
    

    .jpg结尾的属性加边框,前面是边框像素,第二个是边框样式,最后一个是边框颜色。

    在这里插入图片描述

  5. 匹配选择器|=

    选择具有前缀属性的元素,或者是以指定值开始和连接字符为-属性值的元素

    举个例子🎁:

    <!-- html -->
    <div class="parent">
        <p>
            属性匹配
        </p>
    </div>
    <!-- css匹配选择器 -->
    <style>
        div[class|="parent"] p {
            font-size: 30px;
        }
    </style>
    

    选择class所有具有parent开头或者只是parent,并包含在div中所有的p标签中所有的字体设置为30px

    复合选择器

    复合选择器是由多个简单选择器(如:标签,类,id,属性,等)组合在一起的选择器,用来更精准的匹配HTML元素,简单的几个选择器由空格隔开。

    举个例子🎁:

    <!-- html -->
    <div class="parent">
        <p id='son'>匹配</p>
        <p>测试</p>
    </div>
    <!-- css复合选择器 -->
    <style>
        .parent p#son {
            font-size: 30px;
        }
    </style>
    

    选择类名为parent的元素中所有p标签中idson的元素。

CSS代码风格📜

虽然CSS是不区分大小写的,不过一般都是使用小写来编写CSS代码,这次的分享都在这里,其实我们编写css代码会经常忘记,不过没关系,业精于勤,忘记了可以去工具查找我们需要使用的标签即可,多动手,自然会手到擒来ヽ(≧□≦)ノ

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

项目成本管理

定义&#xff1a;项目各个成本的总和 作用&#xff1a;在预算范围内完成项目 考点&#xff1a; 直接成本是指一个由项目组承担的费用&#xff0c;例如员工的工资&#xff0c;电脑等硬件费用。 间接成本是指由多个项目组承担的费用&#xff0c;例如租金&#xff0c;水电费&am…

c++ 11标准模板(STL) std::vector<bool> (二)

定义于头文件 <vector> template<class Allocator> class vector<bool, Allocator>; std::vector<bool> 是 std::vector 对类型 bool 为空间提效的特化。 std::vector<bool> 中对空间提效的行为&#xff08;以及它是否有优化&#xff09;是实现…

19 树表的查找

文章目录 二叉排序树(BST)查找操作二叉排序树的存储结构查找实现查找算法分析二叉排序树的平均查找长度 插入操作删除操作代码实现 平衡二叉树&#xff08;AVL&#xff09;插入&旋转操作插入操作四种旋转情况代码实现 删除操作查找操作 介绍 树表查找是一种在树形数据结构中…

React antd Form item「受控组件与非受控组件」子组件 defaultValue 不生效等问题总结

一、为什么 Form.Item 下的子组件 defaultValue 不生效&#xff1f; 当你为 Form.Item 设置 name 属性后&#xff0c;子组件会转为受控模式。因而 defaultValue 不会生效。你需要在 Form 上通过 initialValues 设置默认值。name 字段名&#xff0c;支持数组 类型&#xff1a;N…

Cocos Creator 3.7.3 正式上线,渲染管线和算法持续更新

Cocos Creator 3.7.3 正式发布。该版本对近日用户反馈的一系列关键性问题进行了集中修复&#xff0c;也对一部分性能进行了优化&#xff0c;提升了用户体验&#xff0c;建议所有 v3.x 用户升级。 Engine Features Render Graph 自定义渲染管线支持 GLES 后端Deprecate addRast…

十分钟教你搭建ChatGPT 图片生成的安卓应用

十分钟教你搭建ChatGPT 图片生成的安卓应用 大家好&#xff0c;我是易安&#xff01; 今天&#xff0c;我们将集成 OpenAI API (ChatGPT)来构建一个简单的类似 ChatGPT 的 android 应用程序&#xff0c;让它返回我们想要的图片&#xff0c;本文是上一篇的姊妹篇。 详细步骤 第…

Linux安装使用PostgreSQL

安装PostgreSQL 开源数据库&#xff1a;PostgreSQL 在官网选择对应版本的安装包 https://www.postgresql.org/download/ 我的Linux系统是CentOS7 选择对应的系统 选择安装的版本、平台、架构 复制粘贴安装脚本运行 初始化后会创建一个用户postgres&#xff0c;一般开始…

IDEA开发实现Maven+Servlet+Mybatis实现CRUD管理系统-Mapper代理开发

Mapper代理开发概述 之前我们写的代码是基本使用方式&#xff0c;它也存在硬编码的问题&#xff0c;如下&#xff1a; 这里调用 selectList() 方法传递的参数是映射配置文件中的 namespace.id值。这样写也不便于后期的维护。如果使用 Mapper 代理方式&#xff08;如下图&…

MapReduce框架

TextInputFormat 1&#xff09;FileInputFormat实现类 思考&#xff1a;在运行MapReduce程序时&#xff0c;输入的文件格式包括&#xff1a;基于行的日志文件、二进制格式文件、数据库表等。那么&#xff0c;针对不同的数据类型&#xff0c;MapReduce是如何读取这些数据的呢&…

解密《永恒之塔私服》龙界要塞全貌

《永恒之塔2.0&#xff1a;进军龙界》将于12月29日14:00正式开放测试&#xff0c;全区全服29日起陆续更新&#xff0c;并将在元旦假期期间完成所有区服更新工作。12月27日&#xff0c;2.0新区抢先免费体验已经开始&#xff0c;凭特权激活码抢先免费体验无外挂《永恒之塔2.0》。…

1.环境搭建

1.Windows 系统GolangVisual Studio CodeMicrosoft Windows (x86-64)go1.20.1.windows-amd64.msihttps://code.visualstudio.com/DownloadMicrosoft Windows (x86-i386)go1.20.1.windows-386.msihttps://code.visualstudio.com/DownloadMicrosoft Windows (ARM64)go1.20.1.win…

【操作系统】内存管理

文章目录 内存的基础知识什么是内存进程的工作原理指令的工作原理逻辑地址&#xff08;相对地址&#xff09;vs物理地址&#xff08;绝对地址&#xff09;从写程序到程序运行—编译、链接、装入装入的三种方式链接的三种方式 什么是内存管理&#xff1f;内存空间的分配与回收内…

基于51单片机的简易电子秤

首先看看题目要求&#xff1a; 1.方案论证 &#xff08;1&#xff09;压力传感器的论证与选择 方案一&#xff1a;采用惠更斯电桥&#xff0c;当电阻应变片承受载荷产生变形时&#xff0c;其阻值将发生变化。从而使电桥失去平衡&#xff0c;产生相应的差动信号&#xff0c;但…

Java中线程的状态

Java中线程的状态分为6种。 初始(NEW)&#xff1a;新创建了一个线程对象&#xff0c;但还没有调用start()方法。运行(RUNNABLE)&#xff1a;Java线程中将就绪&#xff08;ready&#xff09;和运行中&#xff08;running&#xff09;两种状态笼统的称为“运行”。 线程对象创建…

gateway的使用

什么是Spring Cloud Gateway 网关作为流量的入口&#xff0c;常用的功能包括路由转发&#xff0c;权限校验&#xff0c;限流等。 Spring Cloud Gateway 是Spring Cloud官方推出的第二代网关框架&#xff0c;定位于取代 Netflix Zuul。相比 Zuul 来说&#xff0c;Spring Cloud …

ADV7391BCPZ-ASEMI代理亚德诺ADV7391BCPZ原厂芯片

编辑-Z ADV7391BCPZ参数描述&#xff1a; 型号&#xff1a;ADV7391BCPZ VDD&#xff1a;1.8V VAA&#xff1a;3.3V 全驱动输出电流&#xff1a;34.6 mA 低驱动输出电流&#xff1a;4.3 mA 输出电容&#xff1a;10 pF 模拟输出延迟&#xff1a;6 ns DAC模拟输出倾斜&am…

文件一直处于修改状态 git checkout 无法还原的问题解决方法

问题描述 最近在 RT-Thread 时&#xff0c;使用 Git 回退版本验证问题&#xff0c;后来 git pull 拉取最新代码后&#xff0c;发现里面有几个文件&#xff0c;一直为【修改】状态&#xff0c;并且无法还原&#xff0c;git checkout xxx git reset --hard 都用了&#xff0c;依旧…

简单两步创建nVisual建筑场景

nVisual是一款网络基础设施可视化管理软件&#xff0c;通过模型可规划即将建设的机房效果&#xff0c;或者将已有的机房场景复刻至系统中&#xff0c;便于运维管理者清晰的了解机房设备及线缆路由连接关系。 数据初始我们需要将数据中心场景复刻至系统中&#xff0c;建筑场景也…

【Java】抽象类与接口

文章目录 1.抽象类1.1抽象方法 2.接口3.抽象类和接口的区别3.1代码中区分&#xff1a;3.2设计层面区分 在面向对象编程中&#xff0c;抽象是非常重要的一个特征。在Java中可以通过抽象类或接口的形式实现这一特性。 1.抽象类 Java关键字 abstract对应抽象类的使用 1.1抽象方法…

Calico的BGP打通Kubernetes网络和局域网

1、项目背景 随着云原生技术的不断发展&#xff0c;容器化应用已成为企业构建云原生架构的重要方式。而随着集群规模不断扩大&#xff0c;跨主机通信的需求也越来越重要。在 Kubernetes 集群中&#xff0c;Pod 是最小的调度和管理单位&#xff0c;而网络也是 Kubernetes 中最重…
最新文章