CSS基础+基本选择器和复合选择器(如果想知道CSS的基础+基本选择器和复合选择器知识点,那么只看这一篇就足够了!)

本文主要是介绍CSS基础+基本选择器和复合选择器(如果想知道CSS的基础+基本选择器和复合选择器知识点,那么只看这一篇就足够了!),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        前言:在我们学习完了html之后,我们就要开始学习三大件中的第二件—CSS,CSS 可以控制多重网页的样式和布局,也就是将我们写好的html代码加上一层华丽的衣裳,使网页变得更加精美。


✨✨✨这里是秋刀鱼不做梦的BLOG

✨✨✨想要了解更多内容可以访问我的主页秋刀鱼不做梦-CSDN博客

那么废话不多说,先让我们看一下这篇文章讲解的内容:

目录

1.CSS的编写位置

        (1)行内样式

        (2)内部样式

        (3)外部样式

补充:

2.CSS语法规范

3.CSS选择器的介绍

        (1)CSS基本选择器

        【1】通配选择器

        【2】元素选择器

        【3】类选择器

        【4】ID选择器

        (2)CSS复合选择器

        【1】交集选择器

        【2】并集选择器

        【3】后代选择器

        【3】子代选择器

        【4】兄弟选择器

        【5】属性选择器


1.CSS的编写位置

        在html中,我们可以将CSS的代码写在三个位置,分别是:行内、内部和外部。

        (1)行内样式

行内样式就是将CSS代码写在标签的 style 属性中:

例如:

<h1 style="color:red;font-size:60px;">我要开始学习CSS</h1>

我们在style属性中编写想要添加样式的代码,这就是行内样式的方法编写CSS代码。

注意:

1. style 属性的值不能随便写,写要符合 CSS 语法规范,是 名:值; 的形式。
2. 行内样式表,只能控制当前标签的样式,对其他标签无效。

存在的问题:

书写繁琐、样式不能复用、并且没有体现出:结构与样式分离 的思想,不推荐大量使用,只
有对当前元素添加简单样式时,才偶尔使用

       

        (2)内部样式

内部样式就是将CSS代码写在html 页面内部,将所有的 CSS 代码提取出来,单独放在 <style> 标签中(style在head标签中)。

例如:

<!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 {color: red;font-size: 60px;}</style>
</head>
<body><h1>我要开始学习CSS</h1>
</body>
</html>

我们将所以的CSS代码都放在了style中,使html代码和css代码有了很好的分离。

注意:

1. <style> 标签理论上可以放在 HTML 文档的任何地方,但一般都放在<head> 标签
中。
2. 此种写法:样式可以复用、代码结构清晰。

存在的问题:

1. 并没有实现:结构与样式完全分离。
2. 多个HTML 页面无法复用样式。

        

        (3)外部样式

外部样式就是将CSS代码单独写在的.css 文件中,随后在 HTML 文件中引入使用。

例如:

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><link rel="stylesheet" href="./2024.4.12.css">
</head>
<body><h1>我要开始学习CSS</h1>
</body>
</html>

css代码:

h1 {color: red;font-size: 60px;
}

我们将css的代码单独写在了.css的文件中,这样使html代码和css代码彻底分离。

注意:

1. <link> 标签要写在<head> 标签中。
2. <link> 标签属性说明:

        href :引入的文档来自于哪里。
        rel :( relation :关系)说明引入的文档与当前文档之间的关系。
3. 外部样式的优势:样式可以复用、结构清晰、可触发浏览器的缓存机制,提高访问速
度 ,实现了结构与样式的完全分离。
4.
实际开发中,几乎都使用外部样式,这是最推荐的使用方式!

补充:

        在上面的三种书写方式中其优先级规则为:行内样式 > 内部样式 = 外部样式 ,如果重复书写一样的属性后面的会覆盖前面的样式。

这样我们就了解了css代码的编写位置,并且知道了外部样式是最推荐编写的!

2.CSS语法规范

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

选择器:找到要添加样式的元素。
声明块:设置具体的样式(声明块是由一个或多个声明组成的),声明的格式为: 属性名: 属性值;

用一张图来表示为:

而CSS 语法规范的两部分构成也是我们重点要学习的重点。

这样我们也就知道了CSS的构成和学习CSS要学习什么。

3.CSS选择器的介绍

        首先我们先来学习CSS中的选择器。

        (1)CSS基本选择器

CSS基本选择器有四个,它们分别是:通配选择器、元素选择器、类选择器、id 选择器。

        

        【1】通配选择器

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

语法:

* {
属性名: 属性值;
}

举例:

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

        【2】元素选择器

作用:为页面中 某种元素 统一设置样式。

语法:

标签名 {
属性名: 属性值;
}

举例:

/* 选中所有p元素 */
p {
color: blue;
font-size: 60px;
}

        【3】类选择器

作用:根据元素的class 值,来选中某些元素。

语法:

.类名 {
属性名: 属性值;
}

举例:

/* 选中所有class值为answer的元素 */
.answer {
color: blue;
}

注意:

 1. 元素的class 属性值不带. ,但CSS 的类选择器要带. 。
2. class 值,是我们自定义的,按照标准:不要使用纯数字、不要使用中文、尽量使用
英文与数字的组合,若由多个单词组成,使用- 做连接,例如: left-menu ,且命名
要有意义,做到 “见名知意”。
3. 一个元素不能写多个class 属性,错误示例:
 <h1 class="speak" class="big">你好啊</h1>

4. 一个元素的class 属性,能写多个值,要用空格隔开,例如:<h1 class="speak big">你好啊</h1>

        【4】ID选择器

作用:根据元素的id 属性值,来精准的选中某个元素。

语法:

#id值 {
属性名: 属性值;
}

举例:

/* 选中id值为earthy的那个元素 */
#earthy {
color: red;
font-size: 60px;
}

注意:

1. id 属性值:尽量由字母、数字、下划线( _ )、短杠( - )组成,最好以字母开头、不要包含空
格、区分大小写。
2. 一个元素只能拥有一个id 属性,多个元素的id 属性值不能相同。
3. 一个元素可以同时拥有id 和class 属性。

以上就是所有的基本选择器的介绍了!

        (2)CSS复合选择器

让我们先看一下CSS中的复合选择器有哪些:

CSS中的复合选择器有:交集选择器、并集选择器、后代选择器、子代选择器、兄弟选择器、属性选择器。

        【1】交集选择器

作用:选中同时符合多个条件的元素。

语法:

选择器1选择器2选择器3...选择器n {}

举例:

/* 选中:类名包含rich和beauty的元素 */
.rich.beauty {
color: green;
}

交集选择器就是将基本选择器进行组合,使选择的标签更加精准明确。

注意:

1. 有标签名,标签名必须写在前面。
2. id 选择器、通配选择器,理论上可以作为交集的条件,但实际应用中几乎不用 —— 因为没有意义。
3. 交集选择器中不可能出现两个元素选择器,因为一个元素,不可能即是p 元素又是span 元
素。

        【2】并集选择器

作用:选中多个选择器对应的元素

语法:

选择器1, 选择器2, 选择器3, ... 选择器n {}

举例:

/* 选中id为peiqi,或类名为rich,或类名为beauty的元素 */
#peiqi,
.rich,
.beauty {
font-size: 40px;
background-color: skyblue;
width: 200px;
}

并集选择器使选择的范围更加的宽泛,使添加声明更加的灵活。

注意:

1. 并集选择器,我们一般竖着写,这样可以使代码更加清晰。
2. 任何形式的选择器,都可以作为并集选择器的一部分 。

        【3】后代选择器

在学习后代选择器之前,让我们先了解一下html元素之间的关系,而html元素之间的关系大致分为:①父元素、②子元素、③祖先元素、④后代元素、⑤兄弟元素。

1. 父元素:直接包裹某个元素的元素,就是该元素的父元素。

2. 子元素:被父元素直接包含的元素。

3. 祖先元素:父亲的父亲......,一直往外找,都是祖先。

4. 后代元素:儿子的儿子......,一直往里找,都是后代。

5. 兄弟元素:具有相同父元素的元素,互为兄弟元素。

那么知道了html元素之间的关系之后,我们来学习后代选择器:

作用:选中指定元素中,符合要求的后代元素。

语法:

选择器1 选择器2 选择器3 ...... 选择器n {} 

举例:

/* 选中类名为subject元素中的所有li */
.subject li {
color: blue;
}
/* 选中类名为subject元素中的所有类名为front-end的li */
.subject li.front-end {
color: blue;
}

从上面的代码中我们可以看到,我们使用空格来表示其后代,当然也可以使用空格来表示其后代的后代。

注意:

1. 后代选择器,最终选择的是后代,不选中祖先。
2. 儿子、孙子、重孙子,都算是后代。
3. 结构一定要符合之前讲的HTML 嵌套要求,例如:不能p 中写h1 ~ h6 。

        【3】子代选择器

作用:选中指定元素中,符合要求的子元素。

语法:

选择器1 > 选择器2 > 选择器3 > ...... 选择器n {}

举例:

/* div中的子代a元素 */
div>a {
color: red;
}
/* 类名为persons的元素中的子代a元素 */
.persons>a{
color: red;
}

注意:

1. 子代选择器,最终选择的是子代,不是父级。
2. 子、孙子、重孙子、重重孙子 ...... 统称后代!,但是子就是指其第一代儿子。

        【4】兄弟选择器

相邻兄弟选择器:

        作用:选中指定元素后,符合条件的相邻兄弟元素。

语法:

选择器1+选择器2 {}

举例:

/* 选中div后相邻的兄弟p元素 */
div+p {
color:red;
}

通用兄弟选择器:

        作用:选中指定元素后,符合条件的所有兄弟元素

语法:

选择器1~选择器2 {}

举例:

/* 选中div后的所有的兄弟p元素 */
div~p {
color:red;
}

注意:

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

        【5】属性选择器

作用:选中属性值符合一定要求的元素

语法:

1. [属性名] 选中具有某个属性的元素。
2. [属性名="值"] 选中包含某个属性,且属性值等于指定值的元素。
3. [属性名^="值"] 选中包含某个属性,且属性值以指定的值开头的元素。
4. [属性名$="值"] 选中包含某个属性,且属性值以指定的值结尾的元素。
5. [属性名*=“值”] 选择包含某个属性,属性值包含指定值的元素。

举例:

/* 选中具有title属性的元素 */
div[title]{color:red;}/* 选中title属性值为xiaoyu的元素 */
div[title="xiaoyu"]{color:red;}/* 选中title属性值以x开头的元素 */
div[title^="x"]{color:red;}/* 选中title属性值以u结尾的元素 */
div[title$="u"]{color:red;}/* 选中title属性值包含g的元素 */
div[title*="a"]{color:red;}

这样我们就把所有的复合选择器学习完了!


以上就是这篇文章的全部内容了~~~

这篇关于CSS基础+基本选择器和复合选择器(如果想知道CSS的基础+基本选择器和复合选择器知识点,那么只看这一篇就足够了!)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/900854

相关文章

嵌入式软件工程师应聘知识点

嵌入式软件工程师应聘 修改浏览权限 | 删除 数据结构(C语言)部分常考的知识点: 1、局部变量能、全局变量和静态变量 2、堆和栈 3、Const、volatile、define、typedef的用途 4、链表(比如链表的插入、删除和排序) 5、排序(考查冒泡法的较多) 6、可重入函数 、malloc函数 7、指针(常考函数指针,函数指针,数组指针,指针数组和

RedHat运维-Linux文本操作基础-AWK进阶

你不用整理,跟着敲一遍,有个印象,然后把它保存到本地,以后要用再去看,如果有了新东西,你自个再添加。这是我参考牛客上的shell编程专项题,只不过换成了问答的方式而已。不用背,就算是我自己亲自敲,我现在好多也记不住。 1. 输出nowcoder.txt文件第5行的内容 2. 输出nowcoder.txt文件第6行的内容 3. 输出nowcoder.txt文件第7行的内容 4. 输出nowcode

Vim使用基础篇

本文内容大部分来自 vimtutor,自带的教程的总结。在终端输入vimtutor 即可进入教程。 先总结一下,然后再分别介绍正常模式,插入模式,和可视模式三种模式下的命令。 目录 看完以后的汇总 1.正常模式(Normal模式) 1.移动光标 2.删除 3.【:】输入符 4.撤销 5.替换 6.重复命令【. ; ,】 7.复制粘贴 8.缩进 2.插入模式 INSERT

零基础STM32单片机编程入门(一)初识STM32单片机

文章目录 一.概要二.单片机型号命名规则三.STM32F103系统架构四.STM32F103C8T6单片机启动流程五.STM32F103C8T6单片机主要外设资源六.编程过程中芯片数据手册的作用1.单片机外设资源情况2.STM32单片机内部框图3.STM32单片机管脚图4.STM32单片机每个管脚可配功能5.单片机功耗数据6.FALSH编程时间,擦写次数7.I/O高低电平电压表格8.外设接口

vue, 左右布局宽,可拖动改变

1:建立一个draggableMixin.js  混入的方式使用 2:代码如下draggableMixin.js  export default {data() {return {leftWidth: 330,isDragging: false,startX: 0,startWidth: 0,};},methods: {startDragging(e) {this.isDragging = tr

数据库期末复习知识点

A卷 1. 选择题(30') 2. 判断范式(10') 判断到第三范式 3. 程序填空(20') 4. 分析填空(15') 5. 写SQL(25') 5'一题 恶性 B卷 1. 单选(30') 2. 填空 (20') 3. 程序填空(20') 4. 写SQL(30') 知识点 第一章 数据库管理系统(DBMS)  主要功能 数据定义功能 (DDL, 数据定义语

ps基础入门

1.基础      1.1新建文件      1.2创建指定形状      1.4移动工具          1.41移动画布中的任意元素          1.42移动画布          1.43修改画布大小          1.44修改图像大小      1.5框选工具      1.6矩形工具      1.7图层          1.71图层颜色修改          1

vue项目集成CanvasEditor实现Word在线编辑器

CanvasEditor实现Word在线编辑器 官网文档:https://hufe.club/canvas-editor-docs/guide/schema.html 源码地址:https://github.com/Hufe921/canvas-editor 前提声明: 由于CanvasEditor目前不支持vue、react 等框架开箱即用版,所以需要我们去Git下载源码,拿到其中两个主

React+TS前台项目实战(十七)-- 全局常用组件Dropdown封装

文章目录 前言Dropdown组件1. 功能分析2. 代码+详细注释3. 使用方式4. 效果展示 总结 前言 今天这篇主要讲全局Dropdown组件封装,可根据UI设计师要求自定义修改。 Dropdown组件 1. 功能分析 (1)通过position属性,可以控制下拉选项的位置 (2)通过传入width属性, 可以自定义下拉选项的宽度 (3)通过传入classN

js+css二级导航

效果 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Con