CSS(一)---【CSS简介、导入方式、八种选择器、优先级】

零.前言

本系列适用于零基础小白,亦或是初级前端工程师提升使用。

知识点较为详细,如果追求非常详细,请移步官方网站或搬运网站。

1.CSS简介

CSS全称:“Cascading Style Sheets”,中文名:“层叠样式表”。

用于定义网页样式和布局的样式表语言。

通过CSS可以指定页面中各个元素的颜色、字体、大小、间距、边框等等样式。

如果HTML是一个房子的骨架,那么CSS就是对房子进行精装修

2.CSS一般语法

CSS通常由选择器标签idclass等)、属性属性值成。

需要注意的是:“属性对之间需要用分号隔开”、“属性对是以键:值对的形式出现的”。

例如一个<p>标签选择器:

p{background-color: aqua;font-size: 20px;
}

一.CSS的三种导入方式

1.1内部样式表

内部样式表CSS样式放在HTML文档的<head>标签中,并且使用<style></style>来指定内部样式表。

<!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>p{background-color: aqua;font-size: 20px;}</style>
</head>
<body><p>我的颜色是aqua并且字体大小是20像素</p>
</body>
</html>

效果如下:

1.2内联样式

内联样式CSS样式作为属性嵌入标签中,并且该样式只对嵌入该CSS样式的标签生效,使用style属性来指定样式。

<!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>
<body><p style="color: brown;font-size: larger;">我的颜色是brown并且字体大小是larger</p>
</body>
</html>

效果:

1.3外部样式表

外部样式表在HTML文档外部创建.CSS文件,并且引入.CSS文件来实现样式表。

例如我们在HTML文档目录下,有一个“style.css”文件:

在该css文件中,有如下样式:

那么我们就可以在HTML文档中输入该style.css文件的路径来导入这个样式表:

使用<link>标签的“href属性来导入:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><link rel="stylesheet" href="./css/style.css">
</head>
<body><h3>我是使用外部样式表来装饰的h3标签~</h3>
</body>
</html>

效果:

1.4三种导入方式的优先级

优先级高到低为:
内联样式 内部样式表 > 外部样式表”。

当一个标签同时有上述多种样式时,将默认使用最高优先级的样式来装饰自己。

看下面一个例子:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><link rel="stylesheet" href="./css/style.css"><style>h3{color: aqua;}</style>
</head>
<body><h3 style="color: blue;">我是使用最高优先级样式来装饰的h3标签~</h3>
</body>
</html>

最终效果:

可以看到,<h3>标签被内联样式所修饰。

二.8种选择器【重要

2.0简介

选择器是使用CSS的基础,不会使用选择器就不会使用CSS。

8种选择器:“元素(标签)选择器”、“类选择器”、“ID选择器”、“通用选择器”、“子元素选择器”、“后代(包含)选择器”、“兄弟(并集)选择器”、“伪类选择器”。

选择器常在“内部样式表”、“外部样式表”中使用,内联样式默认就是“ID选择器”。

选择器的格式:

2.1元素(标签)选择器

顾名思义,该选择器会对所有的标签进行一个装饰,例如我们写了一个<p>标签的选择器,那么所有的<p>标签都会被这个选择器所修饰。

用法

标签名{

属性:属性值;

属性:属性值;

.......

}

<!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>/* 标签选择器 */p{background-color: aqua;font-size: larger;}</style>
</head>
<body><p>这是一个标签选择器示例</p><p>这还是一个标签选择器示例</p>
</body>
</html>

效果:

 2.2类选择器

类选择器会修饰所有相同类的标签,哪怕标签种类不同。

用法:

注意类名前面有一个“

.类名{

属性:属性值;

属性:属性值;

.....

}

<!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>/* 类选择器 */.myclass{background-color: black;color: brown;font-size: larger;}</style>
</head>
<body><p class="myclass">这是一个类选择器示例</p><div class="myclass">这还是一个类选择器示例</div>
</body>
</html>

效果:

2.3ID选择器

ID选择器会唯一的修饰某个标签,通过ID来指定。

用法:

PS:一定注意在ID前面有一个“井号

#ID{

属性:属性值;

属性:属性值;

....

}

<!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>/* ID选择器 */#myp{color: blue;font-size: larger;}</style>
</head>
<body><p id="myp">这是一个ID选择器示例</p><p>这是另一个ID选择器示例,不过我没有被选中</p>
</body>
</html>

效果:

2.4通用选择器

顾名思义,给所有的标签修饰样式,不管有没有IDclass,故也被叫做“全局选择器”。

用法:

PS:只有一个“星号”表示全部!!

*{

属性:属性值;

属性:属性值;

.....

}

<!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>/* 通用选择器 */*{color: blue;font-size: larger;}</style>
</head>
<body><p>这是一个通用选择器的示例</p><p id="myid">这也是一个通用选择器示例</p><p class="myclass">这还是一个通用选择器示例</p>
</body>
</html>

效果:

2.5子元素选择器

子元素选择器可以指定修饰某个标签子元素的样式,对于父标签不会修饰

用法:

父元素方式 > 子元素方式{

属性:属性值;

属性:属性值:

....

}

这里的父元素方式和子元素方式不唯一,只要可以搜索到对应的父元素子元素即可!

即方式可以是:“通过标签搜索”、“通过ID搜索”、“通过类名搜索”。

<!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>/* 子元素选择器 *//* 父元素使用类名搜索,子元素使用ID搜索 */.father > #son{font-size: larger;color: blue;}</style>
</head>
<body><div class="father">我是子元素,但我没有id<p id="son">我也是子元素,但我有id</p></div>
</body>
</html>

效果:

2.6后代选择器

后代选择器也叫“孩子选择器”。

只要是父元素孩子就可以被修饰,可能有点绕,不过仔细想一下就好了,子元素的子元素不就是父元素的孩子(重孙子)吗?

用法:

父元素方法 后代元素方法{

属性:属性值;

属性:属性值;

.....

}

<!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>/* 后代选择器 */.father .grandson{color: blue;font-size: larger;}</style>
</head>
<body><div class="father"><p class="grandson">我是子代标签哦~</p><div><p class="grandson">我是后代标签哦~</p></div></div>
</body>
</html>

效果:

2.7兄弟(并集)选择器

某个标签下方最近的一个同级标签被修饰。

用法:

兄弟元素A + 兄弟元素B{

属性:属性值;

属性:属性值;

....

}

<!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>/* 兄弟选择器 */h1 + p{color: blue;font-size: larger;}</style>
</head>
<body><h1>我是兄弟A</h1><p>我是兄弟B</p>
</body>
</html>

效果:

2.8伪类选择器【重要但不常用

某些特定条件下的元素应用样式(用户交互等)。

例如:鼠标悬停状态鼠标跟踪等等

不常用,待用到的时候查查百度好了....

用法:

元素 : 伪类方法{

属性:属性值;

属性:属性值;

....

}

<!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>/* 伪类选择器 */p:hover{background-color: blue;}p{background-color: brown;}</style>
</head>
<body><p>鼠标悬停到我身上,我会变色哦~</p>
</body>
</html>

效果:

鼠标没有移动到<p>标签时:

移动上去后:

2.9八种选择器的优先级

优先级从高到低:

ID选择器 > 选择器 > 后代选择器 > 元素(标签)选择器

子代选择器 > 后代选择器

伪类选择器可以与其它任何选择器并存

元素(标签)选择器,优先级永远最低

三.其它

关于CSS属性设置、其它设置,请参考作者的下一篇文章:

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

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

相关文章

Codeforces Round 937 (Div. 4)(D~G)

D - Product of Binary Decimals 题意&#xff1a; 思路&#xff1a;观察到n的范围很小&#xff0c;先求出所有可能的二进制十位数&#xff0c;然后dp把所有可能的值求出来。注意不能用求因子的方法来求解&#xff0c;因为这些二进制十位数不一定是素数&#xff0c;先除某个数…

车道线检测项目 | 基于lanenet实现的实时车道线检测

项目应用场景 面向自动驾驶场景的车道线检测场景&#xff0c;项目的特点是能够达到实时的车道线检测 项目效果&#xff1a; 项目细节 > 具体参见项目 README.md (1) 安装依赖 pip3 install -r requirements.txt (2) 测试图片 python tools/test_lanenet.py --weights_pat…

|行业洞察·香氛|《小红书2023香水香氛营销宝典-71页》

报告内容的详细解读&#xff1a; 行业格局 预计到2025年&#xff0c;香水市场规模将超过300亿&#xff0c;小红书成为香水种草的重要平台。从2018年到2025年&#xff0c;市场规模持续增长&#xff0c;年增速保持在20%左右。香水市场的热度在节日节点尤为明显&#xff0c;如情…

以XX医院为例的医疗建筑能效管理系统【建筑能耗 供电可靠 】

一、行业背景 二、行业特点 1.供电可靠性要求高&#xff1a;医院配电系统复杂&#xff0c;门诊、急救、手术室、ICU/CCU、血液透析等场合特一级和一级负荷比较多&#xff0c;一旦发生故障会造成严重影响&#xff0c;对配电可靠性要求极高。 2.能耗水平高&#xff1a;医院能耗…

排序大乱炖

目录 一&#xff1a;插入排序 1.1直接插入排序 1.2希尔排序 二&#xff1a;选择排序 2.1选择排序 2.2堆排序 三&#xff1a;交换排序 3.1冒泡排序 3.2快速排序 3.2.1Hoare版本 3.2.2双指针法 3.2.3非递归 一&#xff1a;插入排序 1.1直接插入排序 直接插入排序…

自动化测试 —— Pytest fixture及conftest详解

前言 fixture是在测试函数运行前后&#xff0c;由pytest执行的外壳函数。fixture中的代码可以定制&#xff0c;满足多变的测试需求&#xff0c;包括定义传入测试中的数据集、配置测试前系统的初始状态、为批量测试提供数据源等等。fixture是pytest的精髓所在&#xff0c;类似u…

IAR率先支持瑞萨首款通用RISC-V MCU,树立行业新标准

瑞典乌普萨拉&#xff0c;2024年3月27日 – 全球领先的嵌入式系统开发软件解决方案供应商IAR自豪地宣布&#xff1a;公司备受全球数百万开发者青睐的开发环境再次升级&#xff0c;已率先支持瑞萨首款通用32位RISC-V MCU&#xff0c;该 MCU 搭载了瑞萨自研的 CPU 内核。此次功能…

使用OpenCV在Qt C++环境中实现车牌号码的识别

要使用OpenCV在Qt C环境中实现车牌号码的识别&#xff0c;您可以按照以下步骤编写代码。这里提供一个简化的示例流程&#xff0c;涵盖车牌定位、提取和字符识别等关键步骤。请注意&#xff0c;实际应用可能需要根据具体场景进行调整和优化。 准备环境 确保您的项目已经正确集…

多线程(17)如何检测和预防死锁

检测和预防死锁是并发控制和操作系统设计的两个重要方面。了解如何检测和预防死锁不仅对于操作系统开发者重要&#xff0c;对于任何涉及并发和资源管理的应用程序开发者也同样重要。 死锁检测 1. 资源分配图 在操作系统中&#xff0c;死锁检测通常通过维护一个资源分配图来实…

python pytz是什么

pytz模块常用于时区的转换&#xff0c;常常配合datetime一起使用。我们知道datetime除了data方法生成的时间是没有时区概念&#xff0c;其他如time、datetime等都是有时区概念&#xff0c;即指定了tzinfo信息。 >>> import datetime >>> datetime.datetime.n…

绿联 安装DockerCopilot,一键更新已安装的容器

1、镜像 0nlylty/dockercopilot:UGREEN 2、安装 2.1、基础设置 交互、TIY、硬件渲染全部开启&#xff1b; 容器能力&#xff1a;赋予全部能力&#xff1b; 重启策略&#xff1a;容器退出时总是重启容器。 2.2、网络 选择host模式。 2.3、存储空间 装载路径/data不允许修…

Verilog语法之case语句学习

case分支语句是一种实现多路分支控制的分支语句。与使用if-else条件分支语句相比&#xff0c;采用case分支语句来实现多路控制会变得更加的方便直观。 case分支语句通常用于对微处理器指令译码功能的描述以及对有限状态机的描述。Case分支语句有“case”、“casez”、“casex”…

excel 提取数字字符混合文本中的数字(快捷键ctrl+e)

首先&#xff0c;已知A列数据&#xff0c;在B1单元格输入A列中的数据&#xff0c;如3*4*6 第二部&#xff1a;全选对应的B列&#xff0c;然后&#xff1a; ctrld 批量复制 CTRLE 智能复制 由此可见&#xff0c;智能提取汉字与数字混合中的数字方法 。若想分别提取3个数字&am…

vue3中computed详解

在 Vue 3 中&#xff0c;computed 是一个用于创建计算属性的选项或方法&#xff0c;它基于其他响应式属性进行派生。计算属性在处理复杂逻辑或需要缓存的计算场景时非常有用。 使用方法 在 Vue 3 的组件选项中&#xff0c;你可以通过 computed 选项来定义计算属性&#xff1a…

原型链-(前端面试 2024 版)

来讲一讲原型链 原型链只存在于函数之中 四个规则 1、引用类型&#xff0c;都具有对象特性&#xff0c;即可自由扩展属性。 2、引用类型&#xff0c;都有一个隐式原型 __proto__ 属性&#xff0c;属性值是一个普通的对象。 3、引用类型&#xff0c;隐式原型 __proto__ 的属…

C语言复习 -- 字符串

概念&定义 字符串 -- 就是字符数组 两种定义方式: char str[]"hello"; //字符串变量&#xff0c;能修改 char *str1"hello"; //字符串常量&#xff0c;不允许被修改 printf -- %s -- 控制字符串输入 //野指针 -- 没有明确的内存指向 #include&…

ZK友好代数哈希函数安全倡议

1. 引言 前序博客&#xff1a; ZKP中的哈希函数如何选择ZK-friendly 哈希函数&#xff1f;snark/stark-friendly hash函数Anemoi Permutation和Jive Compression模式&#xff1a;高效的ZK友好的哈希函数Tip5&#xff1a;针对Recursive STARK的哈希函数 随着Incrementally Ve…

使用 react-router-dom v6.22 的 useRoutes 路由表

使用 react-router-dom v6.22 的 useRoutes 路由表 React Router 是 React 应用程序中用于导航的重要库之一。在 v6.22 版本中&#xff0c;它引入了 useRoutes 钩子&#xff0c;使得路由配置更加灵活。本文将介绍如何在 React 应用程序中使用 useRoutes 钩子来管理路由。 安装…

春秋云境CVE-2023-7130

简介 College Notes Gallery 2.0 允许通过“/notes/login.php”中的参数‘user’进行 SQL 注入。利用这个问题可能会使攻击者有机会破坏应用程序&#xff0c;访问或修改数据. 正文 这关有我用了两种办法&#xff0c;第一种是用报错注入进行手注&#xff0c;第二种就是sqlmap…

卡特尔16pf性格测试的用途,HR招聘测评和求职面试测评

卡特尔16pf性格测试&#xff0c;由美国心理学家卡特尔创建&#xff0c;通常简称为16pf&#xff0c;也叫16种人格因素&#xff0c;卡特尔把人格特征提取出16种特性&#xff0c;每种特性的不同并共同组合成丰富各异的人群。 而这16种人格因素&#xff0c;也常常被用于企业人力资…