CSS学习记录01

server/2024/12/2 8:17:19/

什么是CSS?

CSS指的是层叠样式表(Cascading Style Sheets), CSS描述了如何在屏幕、纸张或其他媒体上显示HTML元素, CSS可以同时控制多张网页的布局,因此节省了大量的工作。 外部样式表存储在CSS文件中。

*:也称为级联样式表。

CSS语法

CSS规则集(rule-set)由选择器和声明块组成:

选择器指向您需要设置样式的HTML元素,声明块包含一条或多条用分号分隔的声明。每条声明都包含一个CSS属性名称和一个值,以冒号分隔。  多条CSS声明用分号分隔,声明块用花括号括起来。

举例:

css">p {color: red;text-align: center;
}

p 是CSS中的选择器(指向要设置样式的HTML元素:<p>), color是属性,red是属性值, text-align是属性,center是属性值。

CSS选择器

css选择器用于”查找“(或选取)要设置样式的HTML元素。

大致可以将CSS选择器分为5类:

  • 简单选择器:(根据名称、id、类来选取元素)
  • 组合器选择器:(根据它们之间的特定关系来选取元素)
  • 伪类选择器:(根据特定状态选取元素)
  • 伪元素选择器:(选取元素的一部分并设置其样式)
  • 属性选择器:(根据属性或属性值来选取元素)

目前这里只讲解最基本的CSS选择器。

CSS元素选择器

元素选择器根据元素名称来选择HTML元素。

如下列代码所示,页面上的所有<p>元素都将居中对齐,并带有红色文本颜色:

css">p {text-align: center;color: red;
}

CSS id选择器

id选择器使用 HTML元素的id属性来选择特定元素。元素的id在页面中是唯一的,因此id选择器用于选择一个唯一的元素!        要选择具有特定id的元素,需要写一个井号(#),后跟该元素的id。

如下列代码所示,这条CSS规则将应用于 id = "text"的HTML元素:

css">#text {text-align: center;color: red;
}

注意:id名称不能以数字开头。

CSS类选择器

类选择器选择有特定class属性的HTML元素。如需选择拥有特定class的元素,需要写一个句点(.)字符,后面跟类名。

如下列代码所示,所有带有class="center"的HTML元素将为红色且居中对齐:

css">.center {text-align: center;color: red;
}

还可以指定只有特定的HTML元素会受类的影响。

如下列代码所示,只有具有class="center"的<p>元素会居中对齐:

css">p.center {text-align: center;color: red;
}

HTML元素也可以引用多个类。

如下列代码所示,<p>元素将根据class = "center" 和 class = "large" 进行样式设置:

<p class="center large">这个段落引用两个类。</p>

注意:类名不能以数字开头!

CSS通用选择器

通用选择器(*)选择页面上的所有的HTML元素。

下面的CSS规则会影响页面上的每个HTML元素:

css">* {text-align: center;color: blue;
}

css分组选择器

分组选择器选取所有具有相同样式定义的HTML元素。

例如:下列的CSS代码(h1、h2和p元素具有相同的样式定义):

css">h1 {text-align: center;color: red;
}h2 {text-align: center;color: red;
}p {text-align: center;color: red;
}

这样我们可以对选择器进行分组,来最大程度地缩减代码。如需对选择器进行分组,请用逗号来分隔每个选择器。

在这个例子中,我们对上述代码中的选择器进行分组:

css">h1, h2, p {text-align: center;color: red;
}

CSS使用

当浏览器读到样式表时,它将根据样式表中的信息来格式化HTML文档。

三种使用CSS的方法

有三种插入样式表的方法:

外部CSS,内部CSS,行内CSS

外部CSS

通过使用外部样式表,您只需要修改一个文件即可改变整个网站的外观!每张HTML页面必须在head部分的<link>元素内包含对外部样式表文件的引用。

举例:

外部样式在HTML页面<head>部分内的<link>元素中进行定义:

<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="mystyle.css">
</head>
<body><h1>This is a heading</h1>
<p>This is a paragraph.</p></body>
</html>

外部样式表可以在任何文本编辑器中编写,并且必须以.css扩展名保存。外部.css文件不应包含任何HTML标签。

例如一个外部样式表 mystyle.css 是这样的:

css">body {background-color: lightblue;
}h1 {color: navy;margin-left: 20px;
}

注意:请勿在属性值和单位之间添加空格。

内部CSS

如果一张HTML页面拥有唯一的样式,那么可以使用内部样式表。内部样式是在head部分的<style>元素中进行定义。

举例:

内部样式在HTML页面的<head>部分内的<style>元素中进行定义:

<!DOCTYPE html>
<html>
<head>
<style>
body {background-color: linen;
}h1 {color: maroon;margin-left: 40px;
} 
</style>
</head>
<body><h1>This is a heading</h1>
<p>This is a paragraph.</p></body>
</html>

行内CSS

行内样式(也称内联样式)可用于为单个元素应用的唯一的样式。如需使用行内样式,请将style属性添加到相关元素。style属性可包含任何CSS属性。

举例:

行内样式在相关元素的”style"属性中定义:

<!DOCTYPE html>
<html>
<body><h1 style="color:blue;text-align:center;">This is a heading</h1>
<p style="color:red;">This is a paragraph.</p></body>
</html>

提示:行内样式失去了样式表的许多优点。请谨慎使用此方法。

多个样式表

如果在不同样式表中为同一选择器(元素)定义了一些属性,则将使用最后读取的样式表中的值。

假设某个外部样式表为<h1>元素设定了如下样式:

css">h1 {color: navy;
}

然后,假设某个内部样式表也为<h1>元素设定了如下样式:

css">h1 {color: orange;    
}

如果内部样式是在链接到外部样式表之后定义的,则<h1>元素将是橙色:

<head>
<link rel="stylesheet" type="text/css" href="mystyle.css">
<style>
h1 {color: orange;
}
</style>
</head>

不过,如果在链接到外部样式表之前定义了内部样式,则<h1>元素将是深蓝色:

head>
<style>
h1 {color: orange;
}
</style>
<link rel="stylesheet" type="text/css" href="mystyle.css">
</head>

层叠顺序

如果为某个HTML元素指定了多个样式时,会使用哪个样式呢?

页面中的所有样式将会按照一定规则“层叠”为新的“虚拟”样式表,其中第一优先级最高:

1.行内样式(在HTML元素中)

2.外部和内部样式表(在head部分)

3.浏览器默认样式

因此,行内样式具有最高优先级,并且将覆盖外部和内部样式以及浏览器默认样式。

CSS注释

注释用于解释代码,用来说明代码的作用。浏览器在解析时会忽视注释。

位于<style>元素内的CSS注释,以/*开始,以*/结束:

举例:

css">/* 这是一条单行注释 */
p {color: red;
}

您可以在代码中的任何位置添加注释,注释能够横跨多行:

css">/* 这是
一条多行的
注释 */ p {color: red;
}


http://www.ppmy.cn/server/146656.html

相关文章

一条select语句的执行流程

select的工作原理 套接字(socket)&#xff1a; 是一个编程接口&#xff0c;允许位于不同主机&#xff08;甚至同一主机上的不同进程&#xff09;之间的进程进行双向通信 套接字可以用来发送和接收数据&#xff0c;实现不同计算机或进程之间的网络通信 在网络分层模型中&…

1.2 算法和算法评价

1.2.1 算法的基本概念 算法&#xff1a;对特定问题求解步骤的一种描述&#xff0c;它是指令的有限序列&#xff0c;其中的每条指令表示一个或多个操作。 算法的五个重要特性 “好”的算法的五个目标 1.2.2 算法效率的度量 一、时间复杂度 算法的时间复杂度是指一个算法每行…

MySQL、Oracle、SQL Server 和 PostgreSQL 的分页查询

在不同的数据库中&#xff0c;分页查询是常见的操作&#xff0c;用于从大量数据中获取部分数据集。不同的数据库有不同的分页实现方式。下面是 MySQL、Oracle、SQL Server 和 PostgreSQL 的分页查询语法介绍。 1. MySQL 分页 在 MySQL 中&#xff0c;可以使用 LIMIT 和 OFFSE…

开源 - Ideal库 - Excel帮助类,设计思路(一)

今天开始和大家分享关于Excel最长常用操作封装。 01、起因 市面上有很多Excel操作库&#xff0c;这些库设计之初的目标是提供对Excel的各种操作功能&#xff0c;包括数据、样式、公式、图表等等。而对于我们平时开发来说&#xff0c;大多时候并不需要那么多强大的功能&#xf…

java 接口防抖

防抖&#xff1a;防止重复提交 在Web系统中&#xff0c;表单提交是一个非常常见的功能&#xff0c;如果不加控制&#xff0c;容易因为用户的误操作或网络延迟导致同一请求被发送多次&#xff0c;进而生成重复的数据记录。要针对用户的误操作&#xff0c;前端通常会实现按钮的l…

【西瓜书】支持向量机(SVM)

支持向量机&#xff08;Support Vector Machine&#xff0c;简称SVM&#xff09;。 超平面 分类学习最基本的想法就是基于训练集合D在样本空间中找到一个划分超平面&#xff0c;将不同类别的样本分开。 但能将训练样本分开的划分超平面可能有很多&#xff0c;应该努力去找到哪…

当新能源遇见低空经济:无人机在光伏领域的创新应用

随着全球能源结构的转型和技术的不断进步&#xff0c;新能源行业已成为推动经济社会发展的重要力量。其中&#xff0c;低空经济作为新兴的战略性产业&#xff0c;正深刻改变着人类社会的出行方式和产业链格局。在这一背景下&#xff0c;无人机与光伏产业的结合&#xff0c;不仅…

.net core 创建linux服务,并实现服务的自我更新

目录 创建服务创建另一个服务&#xff0c;用于执行更新操作给你的用户配置一些systemctl命令权限 创建服务 /etc/systemd/system下新建服务配置文件&#xff1a;yourapp.service&#xff0c;内容如下&#xff1a; [Unit] Descriptionyourapp Afternetwork.target[Service] Ty…