常用的浏览器 + IE + 火狐 + 谷歌 + 苹果 + 欧朋 - 浏览器是网页显示、运行的平台。常用的浏览器有 IE、火狐(Firefox)、谷歌(Chrome)、Safari和Opera等。平时称为五大浏览器。
浏览器内核(渲染引擎) + 负责读取网页内容,整理讯息,计算网页的显示方式并显示页面
+ 目前国内一般浏览器都会采用 Webkit/Blink 内核,如 360、UC、QQ、搜狗等。三、web标准:
浏览器不同,它们显示页面或者排版就有些许差异
遵循 Web 标准除了可以让不同的开发人员写出的页面更标准、更统一外,还有以下优点: 1.让 Web 的发展前景更广阔。 2.内容能被更广泛的设备访问。 3.更容易被搜寻引擎搜索。 4.降低网站流量费用。 5.使网站更易于维护。 6.提高页面浏览速度。
主要包括 《结构Structure》 、《表现(Presentation)》和《行为(Behavior)》三个方面。
Web 标准提出的最佳体验方案:结构、样式、行为相分离。
简单理解:结构写到 HTML 文件中, 表现写到 CSS 文件中, 行为写到 JavaScript 文件中
HTML 指的是超文本标记语言 (Hyper Text Markup Language) ,它是用来描述网页的一种语言。
HTML 不是一种编程语言,而是一种标记语言 (markup language)。
标记语言是一套标记标签 (markup tag)。
HTML 标签是由尖括号包围的关键词,例如 <html>。HTML标签关系可以是嵌套关系,也可以是并列关系
HTML中单标签和双标签的分类
单标签:只有一个标签。
常见的单标签
<hr />
标签:
<hr />
标签用于创建一个水平分割线,通常用于分隔内容或定义主题的变化。<br />
标签:
<br />
标签用于插入一个换行符,使得内容能在下一行继续。<meta />
标签:
<meta />
标签提供了有关页面的元信息,如字符集、页面描述、关键字和作者信息。它还可以用于控制浏览器行为,如设置页面的刷新率。<img />
标签:
<img />
标签用于嵌入图像。它有多个属性,如 src
(图像源的URL)、alt
(替代文本,用于图像无法显示时)、height
和 width
(用于指定图像的尺寸)。<link />
标签:
<link />
标签用于链接外部资源,如样式表。它通常位于<head>
区域内,并且拥有如 href
(资源的URL)、rel
(资源与当前文档的关系)和 type
(资源的MIME类型)等属性。<input />
标签:
<input />
标签是表单中非常重要的元素,用于收集用户输入。它有多种类型,如文本、密码、单选按钮、复选框等,通过type
属性来定义。双标签:有开始和结束标签
<html></html>
: HTML文档的根元素,所有其他元素都嵌套在其中。<head></head>
: 包含文档的元信息,如元数据、链接到CSS文件和JavaScript文件。<title></title>
: 定义文档的标题,显示在浏览器的标题栏中。<body></body>
: 包含文档的所有内容,如文本、图像、视频等。<h1></h1>
到<h6></h6>
: 定义六个级别的标题,<h1>
是最高级别(最重要),<h6>
是最低级别(最不重要)。<p></p>
: 定义段落。<pre></pre>
: 定义预格式化文本,保留文本中的空格和换行。<code></code>
: 定义单行代码。<em></em>
: 强调文本。<strong></strong>
: 强烈强调文本,通常显示为加粗。<i></i>
: 斜体文本。<b></b>
: 粗体文本。<u></u>
: 下划线文本。<mark></mark>
: 高亮文本。<div></div>
: 块级元素,用于组织内容和应用样式。<span></span>
: 内联元素,用于组织内容和应用样式。<a></a>
: 定义超链接。<ul></ul>
: 定义无序列表。<ol></ol>
: 定义有序列表。<li></li>
: 定义列表项。<dl></dl>
: 定义描述列表。<dt></dt>
: 定义描述术语。<dd></dd>
: 定义描述定义。<table></table>
: 定义表格。<thead></thead>
: 定义表头。<tbody></tbody>
: 定义表体。<th></th>
: 定义表头单元格。<tr></tr>
: 定义表格行。<td></td>
: 定义表格数据。<form></form>
: 定义表单。<label></label>
: 定义输入标签。<input></input>
: 定义输入字段。<select></select>
: 定义下拉列表。<option></option>
: 定义下拉列表中的选项。<button></button>
: 定义按钮。<textarea></textarea>
: 定义多行文本输入字段。<video></video>
: 定义视频。<script></script>
: 定义客户端JavaScript。<iframe></iframe>
: 定义内联框架,可以嵌套其他文档。每个网页都会有一个基本的结构标签(也称为骨架标签),页面内容也是在这些基本标签上书写。
每个HTML文档通常都遵循一个基本的结构,包括以下几个主要的标签组成,通常被称为HTML的骨架。下面是一个简单的示例来展示这些基本结构标签的用法:
<!DOCTYPE html> <!-- 声明文档类型,告诉浏览器这是一个HTML5文档 -->
<html lang="zh-CN"> <!-- 根元素,所有其他HTML元素都嵌套在这里 -->
<head> <!-- 包含页面的元信息,如元数据、CSS链接和JavaScript链接 -->
<meta charset="UTF-8"> <!-- 定义文档字符集 -->
<meta name="viewport" content="width=device-width, initial-scale=1"> <!-- 使页面具有响应式特点 -->
<title>我的第一个网页</title> <!-- 定义页面标题 -->
<link rel="stylesheet" href="styles.css"> <!-- 链接外部CSS样式表 -->
<script src="script.js"></script> <!-- 链接外部JavaScript文件 -->
</head>
<body> <!-- 包含页面的所有可见内容 -->
</body>
</html>
在上述代码中:
<!DOCTYPE html>
是文档类型声明,它告诉浏览器这是一个HTML5文档。
<html>
标签是所有其他HTML元素的根元素。
<head>
标签包含了文档的元信息,如字符集声明、页面标题、以及链接到外部CSS和JavaScript文件的标签。
<body>
标签包含了页面的所有可见内容,如头部、导航菜单、主要内容区和底部。在这个例子中,我们还使用了一些其他的结构和内容标签,如 <header>
, <nav>
, <main>
, <section>
, 和 <footer>
,来组织页面的不同部分。
lang 语言种类
字符集:
charset
属性是用于指定文档字符集的。它应该被设置在<meta>
标签内,通常放置在<head>
区域的顶部。这个基本结构为你创建的每个页面提供了一个清晰、组织良好的框架,你可以在此基础上添加更多内容和样式,以完成你的网页设计。
在HTML中,标签之间的关系通常可以归纳为包含关系和并列关系。下面是对这两种关系的解释和示例:
包含关系也被称为父子关系。在这种关系中,一个标签(父标签)包含另一个或多个标签(子标签)。子标签被嵌套在父标签中。例如,在您提供的代码中,<head>
标签是 <title>
标签的父标签,而 <title>
标签是 <head>
标签的子标签。其他的包含关系示例如下:
<html>
<body>
<div>
<p></p>
<p></p>
</div>
<div>
<img />
</div>
</body>
</html>
在上面的示例中,<html>
是 <body>
的父标签,<body>
是两个 <div>
标签的父标签,第一个 <div>
是两个 <p>
标签的父标签,而第二个 <div>
是 <img>
标签的父标签。
并列关系是指在同一级别上的标签,它们共享同一个父标签。这些标签被称为兄弟标签(或同级标签)。例如:
<body>
<div></div>
<div></div>
<img />
</body>
在上面的示例中,两个 <div>
标签和一个 <img>
标签是兄弟标签,因为它们都是 <body>
标签的直接子标签。
这两种关系是理解和组织HTML文档结构的基础,它们帮助开发人员清楚地理解标签之间的层级和关联,也便于通过CSS和JavaScript对页面元素进行样式设计和交互处理。
标题标签 <h1>
- <h6>
(重要)
<h1> 我是一级标题 </h1>
特点:
<h1>标题一共六级选,</h1>
<h2>文字加粗一行显。</h2>
<h3>由大到小依次减,</h3>
<h4>从重到轻随之变。</h4>
<h5>语法规范书写后,</h5>
<h6>具体效果刷新见。</h6>
<p> 我是一个段落标签 </p>
特点:
<br />
<br />
是个单标签。<br />
标签只是简单地开始新的一行,与段落不同,段落之间会插入一些垂直的间距。<b></b>
,斜体:<i></i>
,下划线:<u></u>
<div> 这是头部 </div>
<span> 今日价格 </span>
特点
:
<div>
标签用来布局,但是现在一行只能放一个<div>
。大盒子<span>
标签用来布局,一行上可以多个 <span>
。小盒子<img src="图像URL" />
src
是<img>
标签的必须属性,它用于指定图像文件的路径和文件名。图像标签的其他属性:
属性名 | 属性值 | 描述 |
---|---|---|
src | 图片路径 | 图片路径,是必须属性 |
alt | 文本 | 提供图像不可见时的文本 |
width | 像素 | 指定图像的宽度 |
height | 像素 | 指定图像的高度 |
broder | 像素 | 设置图像边框的粗细 |
title | 文本 | 提示文本,鼠标放到图片上弹出的文本提示 |
图像标签注意点:
<a href="跳转目标" target="目标窗口的弹出方式"> 文本或图像 </a>
href
:用于指定链接目标的url地址target
:用于指定链接页面的打开方式 _self
默认值 _blank
新窗口打开#
:空链接链接分类:
<!-- 这是一个注释 -->
在 HTML 页面中,一些特殊的符号很难或者不方便直接使用,此时我们就可以使用下面的字符来替代。
特殊字符 | 描述 | 字符的代码 |
---|---|---|
< | 空格符 | |
< | 小于号 | < |
> | 大鱼号 | > |
& | 和号 | & |
¥ | 人民币 | ¥ |
© | 版权 | © |
® | 注册商标 | ® |
° | 摄氏度 | ° |
± | 正负号 | ± |
× | 乘号 | × |
÷ | 除号 | ÷ |
² | 平方2 | ² |
³ | 立方3 | ³ |
重点记住:空格 、大于号、 小于号 这三个, 其余的使用很少。
HTML表格用于显示行和列数据。表格由<table>
元素创建,其中包括若干行(由<tr>
元素创建),每行包括若干列(由<td>
元素创建)。另外,还可以使用<th>
元素创建表头单元格,这些单元格通常用于显示列的标题。下面是HTML表格中使用的主要标签和属性的详细介绍及示例:
<table>
标签:用于创建表格。
<table border="1">
<!-- 表格内容 -->
</table>
<tr>
标签:用于创建表格行。
<tr>
<!-- 表格列内容 -->
</tr>
<td>
标签:用于创建表格数据单元格。
<td>数据</td>
<th>
标签:用于创建表格头单元格。
<th>标题</th>
colspan
属性:用于指定单元格应横跨的列数。
<td colspan="2">数据</td>
rowspan
属性:用于指定单元格应纵跨的行数。
<td rowspan="2">数据</td>
<thead>
标签:用于组合表格头部内容。
<thead>
<!-- 表头行和列 -->
</thead>
<tbody>
标签:用于组合表格主体内容。
<tbody>
<!-- 主体行和列 -->
</tbody>
<tfoot>
标签:用于组合表格底部内容。
<tfoot>
<!-- 底部行和列 -->
</tfoot>
下面是一个包括了跨行、跨列和合并单元格的完整HTML表格示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Table Example</title>
</head>
<body>
<table border="1">
<thead>
<tr>
<th colspan="3">表格标题</th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="2">跨两行</td>
<td>数据1</td>
<td>数据2</td>
</tr>
<tr>
<td colspan="2">跨两列</td>
</tr>
<tr>
<td>数据3</td>
<td>数据4</td>
<td>数据5</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="3">表格底部</td>
</tr>
</tfoot>
</table>
</body>
</html>
在这个示例中,我们创建了一个表格,其中包括表头、主体和底部。我们使用colspan
属性使表头和底部的单元格横跨三列,使用rowspan
属性使一个单元格纵跨两行。同时,我们在主体的一行中使用colspan
属性使一个单元格横跨两列。
实例代码:课程表
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<title>test</title>
</head>
<body>
<h1 style="text-align: center;color: red;">Test</h1>
<div>
<table border="1" style="align-items: center;margin: auto;">
<thead>
<tr>
<th colspan="8">课程表</th> <!-- 使"课程表"字样横跨所有列 -->
</tr>
<tr>
<th>节次</th>
<th>星期一</th>
<th>星期二</th>
<th>星期三</th>
<th>星期四</th>
<th>星期五</th>
<th>星期六</th>
<th>星期天</th>
</tr>
</thead>
<tbody>
<tr>
<td>第一节</td>
<td>A</td>
<td>B</td>
<TD>C</TD>
<TD>D</TD>
<TD>E</TD>
<td>F</td>
<td>G</td>
</tr>
<tr>
<td>第一节</td>
<td>A</td>
<td>B</td>
<TD>C</TD>
<TD>D</TD>
<TD>E</TD>
<td>F</td>
<td>G</td>
</tr><tr>
<td>第一节</td>
<td>A</td>
<td>B</td>
<TD>C</TD>
<TD>D</TD>
<TD>E</TD>
<td>F</td>
<td>G</td>
</tr><tr>
<td>第一节</td>
<td>A</td>
<td>B</td>
<TD>C</TD>
<TD>D</TD>
<TD>E</TD>
<td>F</td>
<td>G</td>
</tr><tr>
<td>第一节</td>
<td>A</td>
<td>B</td>
<TD>C</TD>
<TD>D</TD>
<TD>E</TD>
<td>F</td>
<td>G</td>
</tr><tr>
<td>第一节</td>
<td>A</td>
<td>B</td>
<TD>C</TD>
<TD>D</TD>
<TD>E</TD>
<td>F</td>
<td>G</td>
</tr><tr>
<td>第一节</td>
<td>A</td>
<td>B</td>
<TD>C</TD>
<TD>D</TD>
<TD>E</TD>
<td>F</td>
<td>G</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>
课程表 | |||||||
---|---|---|---|---|---|---|---|
节次 | 星期一 | 星期二 | 星期三 | 星期四 | 星期五 | 星期六 | 星期天 |
第一节 | A | B | C | D | E | F | G |
第一节 | A | B | C | D | E | F | G |
第一节 | A | B | C | D | E | F | G |
第一节 | A | B | C | D | E | F | G |
第一节 | A | B | C | D | E | F | G |
第一节 | A | B | C | D | E | F | G |
第一节 | A | B | C | D | E | F | G |
块级元素:
行内元素:
行内块元素:
属性 | 效果 | 使用效率 |
---|---|---|
display: block | 转换成块级元素 | 较多 |
display: inline-block | 转化为行内块元素 | 较多 |
display: inline | 转化成行内元素 | 极少 |
HTML嵌套规范注意点
居中方法总结
CSS 是层叠样式表 ( Cascading Style Sheets ) 的简称.
有时我们也会称之为 CSS 样式表或级联样式表。
CSS 是也是一种标记语言
CSS 主要用于设置 HTML 页面中的文本内容(字体、大小、对齐方式等)、图片的外形(宽高、边框样式、边距等)以及版面的布局和外观显示样式。
CSS 让我们的网页更加丰富多彩,布局更加灵活自如。简单理解:CSS 可以美化 HTML , 让 HTML 更漂亮, 让页面布局更简单。
CSS 最大价值: 由 HTML 专注去做结构呈现,样式交给 CSS,即 结构 ( HTML ) 与样式( CSS ) 相分离
CSS的应用方式
Hello world!
<p style="color:red"> Hello world! </p>
文档级样式表:将一系列样式规则罗列在HTML文档开头,处于内的之间,它可以改变外部样式表中定义的一个或多个规则,创建一个个性化的文档,适用于单个HTML文件。
外部样式表:将样式定义放置于分离的文档中,在各个需要应用该样式表的HTML通过在内的标签引入这个分离文档,例如。每次打开页面都需要下载这个表格,所以要尽量减小样式表的容量。
注意:三种样式表作用域不同,同时存在时的页面处理原则为:
1.使用 HTML 时,需要遵从一定的规范,CSS 也是如此。要想熟练地使用 CSS 对网页进行修饰,首先需要了解CSS 样式规则。
2.CSS 规则由两个主要的部分构成:选择器以及一条或多条声明。
选择器通常是您需要改变样式的 HTML 元素。
CSS声明总是以分号 ; 结束,声明总以大括号 {} 括起来:
p {
color:red;text-align:center;}
为了让CSS可读性更强,你可以每行只描述一个属性:
p
{
color:red;
text-align:center;
}
注释是用来解释你的代码,并且可以随意编辑它,浏览器会忽略它。
CSS注释以 /* 开始, 以 */ 结束, 实例如下:
/*这是个注释*/
p
{
text-align:center;
/*这是另一个注释*/
color:black;
font-family:arial;
}
选择器(选择符)就是根据不同需求把不同的标签选出来这就是选择器的作用。 简单来说,就是选择标签用的。
h1 { /*h1是选择器,选择h1标签*/
color: red; /* color是标签,red是值*/
font-size: 25px;
}
这里的意思是:找到所有的 h1 标签。 选择器(选对人) 设置这些标签的样式,比如颜色为红色(做对事)。
基础选择器又包括:标签选择器、类选择器、id 选择器和通配符选择器
标签选择器:
标签选择器(元素选择器)是指用 HTML 标签名称作为选择器,按标签名称分类,为页面中某一类标签指定统一的 CSS 样式。
/*如上*/
h1 {
color: red;
font-size: 20px;
}
如果想要差异化选择不同的标签,单独选一个或者某几个标签,可以使用类选择器.
语法:
.类名 {
属性1: 属性值1;
...
}
结构需要用class属性来调用 class 类的意思
<div class="类名"> 变红色 </div>
1.如果想要差异化选择不同的标签,单独选一个或者某几个标签,可以使用类选择器。
2.类选择器在 HTML 中以 class 属性表示,在 CSS 中,类选择器以一个点“.”号显示。
3.类选择器使用“.”(英文点号)进行标识,后面紧跟类名(自定义,我们自己命名的)。
4.可以理解为给这个标签起了一个名字,来表示。
5.长名称或词组可以使用中横线来为选择器命名。
6.不要使用纯数字、中文等命名,尽量使用英文字母来表示。
多类名选择器是CSS中的一个强大功能,它允许你为HTML元素指定多个类名,并按照这些类名来应用样式。当一个元素具有多个类名时,它会继承所有相关类的样式。如果同一个样式属性在多个类中被定义,那么最后一个类的属性值会被应用。
语法:
在HTML中,你可以通过空格分隔每个类名,为元素指定多个类名:
<div class="class1 class2 class3">...</div>
在CSS中,你可以通过以下方式选择具有多个类名的元素:
/* 选择同时具有 class1 和 class2 的元素 */
.class1.class2 {
/* styles */
}
/* 或者,你可以为每个类分别定义样式 */
.class1 {
/* styles */
}
.class2 {
/* styles */
}
示例:
HTML代码
<div class="box highlighted">这是一个同时具有 box 和 highlighted 类名的元素。</div>
CSS代码
.box {
width: 200px;
height: 200px;
border: 1px solid black;
}
.highlighted {
background-color: yellow;
}
在上面的例子中,<div>
元素同时具有box
和highlighted
两个类名。所以,它将获得box
类定义的边框样式,以及highlighted
类定义的背景颜色样式。
id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式。
HTML 元素以 id 属性来设置 id 选择器,CSS 中 id 选择器以“#" 来定义。
语法:
HTML代码
<div id="i_Test">Hello World</div>
CSS代码
#id名 {
属性1: 属性值1;
...
}
注意:id 属性只能在每个 HTML 文档中出现一次
id选择器和类选择器的区别:
通配符选择器不需要调用, 自动就给所有的元素使用样式
* {
属性1: 属性值1;
...
}
* {
margin: 0;
padding: 0;
}
序号选择器 | 意义 | 用法 |
---|---|---|
:first-child | 选择其父元素的第一个子元素 | css ul > li:first-child { color: red; } |
:last-child | 选择其父元素的最后一个子元素 | css ul > li:last-child { color: blue; } |
:nth-child(n) | 选择其父元素的第 n 个子元素 | css ul > li:nth-child(2) { color: green; } |
:nth-last-child(n) | 选择其父元素的倒数第 n 个子元素 | css ul > li:nth-last-child(2) { color: purple; } |
:only-child | 选择其父元素只有一个子元素的元素 | css ul > li:only-child { font-weight: bold; } |
:first-of-type | 选择指定类型的第一个子元素 | css p:first-of-type { text-decoration: underline; } |
:last-of-type | 选择指定类型的最后一个子元素 | css p:last-of-type { text-decoration: overline; } |
:nth-of-type(n) | 选择指定类型的第 n 个子元素 | css p:nth-of-type(2) { font-style: italic; } |
:nth-last-of-type(n) | 选择指定类型的倒数第 n 个子元素 | css p:nth-last-of-type(2) { background-color: yellow; } |
:only-of-type | 选择指定类型且父元素只有一个该类型子元素的元素 | css p:only-of-type { text-align: center; } |
序号选择器的用法通常涉及到父元素和子元素的关系。通过这些选择器,你可以非常具体地定位到某个元素,无论是基于它在父元素中的位置还是它的类型。在上述的用法示例中,你可以看到如何使用每个序号选择器来应用特定的样式。
基础选择器 | 作用 | 特点 | 使用情况 | 用法 |
---|---|---|---|---|
标签选择器 | 可以选出所有相同的标签,比如 p | 不能差异化选择 | 较多 | p{color: red;} |
类选择器 | 选出具有指定类的元素,比如 .intro | 可差异化选择元素 | 较多 | .intro{font-size: 20px;} |
ID选择器 | 选出具有指定ID的元素,比如 #unique | 选择唯一的元素 | 较少 | #unique{border: 1px solid;} |
属性选择器 | 根据元素的属性和值来选择元素 | 灵活且具体 | 较少 | [type="text"]{background-color: blue;} |
通配符选择器 | 选出所有元素 | 选择范围广泛 | 较少 | *{margin: 0; padding: 0;} |
后代选择器 | 选出某元素的所有后代元素 | 结构化选择 | 较多 | article p{color: green;} |
子元素选择器 | 选出某元素的直接子元素 | 结构化且具体 | 较多 | ul>li{list-style: none;} |
伪类选择器 | 根据元素的特定状态来选择元素,比如:hover | 状态化选择 | 较多 | a:hover{color: purple;} |
伪元素选择器 | 创建元素的某个部分的样式,比如 ::before | 创建虚拟元素 | 较少 | p::before{content: "Read this: ";} |
分组选择器 | 将多个选择器分组,应用相同的样式 | 合并样式 | 较多 | h1, h2, h3 {color: blue;} |
否定选择器 | 选出不匹配指定选择器的所有元素 | 反向选择 | 较少 | :not(p){font-style: italic;} |
CSS 伪类和伪元素允许你根据元素的特定状态或位置应用样式,而无需添加额外的类或 ID。
伪类 | 意义 | 用法 |
---|---|---|
:link | 选择所有未被访问的链接 | css a:link { color: blue; } |
:visited | 选择所有被访问过的链接 | css a:visited { color: purple; } |
:hover | 选择鼠标指针浮动在上面的元素 | css a:hover { color: red; } |
:active | 选择活动链接,鼠标点击未松开状态 | css a:active { color: green; } |
:focus | 选择获得焦点的元素 | css input:focus { border-color: red; } |
注意书写伪类的顺序应该是::link => :visited => :hover => :active,若是单个标签使用多个伪类不按照这个熟悉写会无效。
示例
CSS代码
/* 将超链接的下划线去除,更改颜色 */
a{
text-decoration: none;
color: #000000;
}
/* :hover 触碰到效果 */
a:hover{
color: #FF0000;
}
/* :active 点击不松开效果 */
a:active{
color: #0000FF;
}
/* text-shadow 文本阴影效果
三个数字分别为:水平阴影的位置 垂直阴影的位置 模糊的距离
十六进制表示:阴影的颜色
*/
.p1{
text-shadow: 3px 3px 2px #000000 ;
}
完整HTML代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
/* 将超链接的下划线去除,更改颜色 */
a{
text-decoration: none;
color: #000000;
}
/* :hover 触碰到效果 */
a:hover{
color: #FF0000;
}
/* :active 点击不松开效果 */
a:active{
color: #0000FF;
}
/* text-shadow 文本阴影效果
三个数字分别为:水平阴影的位置 垂直阴影的位置 模糊的距离
十六进制表示:阴影的颜色
*/
.p1{
text-shadow: 3px 3px 2px #000000 ;
}
</style>
</head>
<body>
<p>
<a href="https://www.example.com/">Example</a>
</p>
<p>
<a href="#">长路's宠物</a>
</p>
<p>
<a href="#">布丁布丁</a>
</p>
<p class="p1">
<a href="#">$9999.99</a>
</p>
</body>
</html>
在上述 HTML 代码中,我们在<style>
标签内定义了几个基本伪类选择器的样式规则,并在<body>
标签内提供了相应的 HTML 元素来演示这些伪类选择器的效果。具体来说,我们为<a>
标签和<input>
标签分别应用了不同的伪类选择器样式。
伪类选择器 | 描述 | 参考代码 |
---|---|---|
:empty |
选择空标签(空格不算空标签) | :empty { border: 2px solid red; } |
:focus |
选择当前获得焦点的表单元素 | :focus { border-color: green; } |
:enabled |
选择当前有效的表单元素 | :enabled { background-color: lightgreen; } |
:disabled |
选择当前无效的表单元素 | :disabled { background-color: lightgray; } |
:checked |
选择当前已经勾选的单选按钮或者复选框 | :checked { border: 2px solid blue; } |
:root |
选择根元素(即可看做标签) | :root { --main-bg-color: pink; background-color: var(--main-bg-color); } |
示例
CSS代码
div {
width: 50px;
height: 50px;
border: 1px solid red;
display: inline-block;
}
/* 空元素:背景元素为蓝色 */
div:empty {
background-color: blue;
}
/* 获得焦点元素:背景颜色为橙色 */
input:focus {
background-color: orange;
}
/* 有效的表单:设置长宽 */
input[type='text']:enabled {
width: 70px;
height: 20px;
}
/* 无效的表单(disabled):背景颜色为蓝色 */
input:disabled {
background-color: blue;
}
/* 勾选选中:字体颜色为红色 */
input[type='radio']:checked+span {
color: red;
}
/* :root(选择根元素,相当于html标签):令字体为20px */
:root {
font-size: 20px;
}
完整HTML代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div {
width: 50px;
height: 50px;
border: 1px solid red;
display: inline-block;
}
/* 空元素:背景元素为蓝色 */
div:empty {
background-color: blue;
}
/* 获得焦点元素:背景颜色为橙色 */
input:focus {
background-color: orange;
}
/* 有效的表单:设置长宽 */
input[type='text']:enabled {
width: 70px;
height: 20px;
}
/* 无效的表单(disabled):背景颜色为蓝色 */
input:disabled {
background-color: blue;
}
/* 勾选选中:字体颜色为红色 */
input[type='radio']:checked+span {
color: red;
}
/* :root(选择根元素,相当于html标签):令字体为20px */
:root {
font-size: 20px;
}
</style>
</head>
<body>
<div></div>
<div><span>123</span></div>
<div></div>
<div>123</div>
<div></div>
<!-- 标签部分 -->
<p>
<input type="text">
<input type="text">
<input type="text" disabled>
<input type="text" disabled>
<input type="text">
</p>
<!-- 单选框选中 -->
<p>
<input type="radio" name="exercise"><span>跑步</span>
<input type="radio" name="exercise"><span>篮球</span>
<input type="radio" name="exercise"><span>足球</span>
<input type="radio" name="exercise"><span>音乐</span>
</p>
</body>
</html>
CSS3新增了"伪元素"特性,顾名思义就是表示虚拟动态创建的元素。
伪元素 | 意义 | 用法 |
---|---|---|
::first-line | 选择元素的第一行 | p::first-line { font-weight: bold; } |
::first-letter | 选择元素的第一个字母 | p::first-letter { font-size: 2em; } |
::before | 在元素之前插入内容 | p::before { content: "Important: "; } |
::after | 在元素之后插入内容 | p::after { content: "."; } |
::selection | 应用被用户选中的部分(一般使用于文字,即使用鼠标圈选的部分) | ::selection {color: red;} |
伪类选择器和伪元素为开发者提供了强大的功能,使他们能够在不增加额外标记的情况下应用复杂的样式。通过理解和利用这些伪类和伪元素,可以极大地提高CSS的表现力和可维护性。
说明:虚拟创建的内容都会被添加到指定元素的内部。
应用:可以在列表项前面添加小图标。
示例
CSS代码
/* 选择元素的第一行 */
p::first-line {
font-weight: bold;
}
/* 选择元素的第一个字母 */
p::first-letter {
font-size: 2em;
}
/* 在元素之前插入内容 */
p::before {
content: "Important: ";
}
/* 在元素之后插入内容 */
p::after {
content: ".";
}
完整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>
<style>
/* 选择元素的第一行 */
p::first-line {
font-weight: bold;
background-color: lightblue; /* 新增背景颜色 */
color: darkblue; /* 新增文本颜色 */
}
/* 选择元素的第一个字母 */
p::first-letter {
font-size: 2em;
border: 2px solid red; /* 新增边框 */
}
/* 在元素之前插入内容 */
p::before {
content: "Important: ";
color: green; /* 新增文本颜色 */
}
/* 在元素之后插入内容 */
p::after {
content: ".";
font-size: 3em; /* 新增字体大小 */
}
</style>
</head>
<body>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla volutpat libero vitae velit facilisis, sit amet luctus elit vulputate. Vivamus vestibulum id magna a tincidunt.</p>
</body>
</html>
在上述代码中,我们使用了四种伪元素选择器 ::first-line
, ::first-letter
, ::before
, 和 ::after
。每种伪元素选择器都能够为元素应用特定的样式或插入新的内容。这些伪元素选择器为开发者提供了更多的样式控制选项,能够帮助创建富有创意和功能的网页设计。
示例1:::before与::after使用
<html>
<style>
/* a标签前虚拟动态创建☆ */
a::before {
content: '☆';
}
/* a标签后虚拟动态创建☆ */
a::after {
content: '❀';
}
</style>
<body>
<a href="#">点我试试</a>
<a href="#">点我试试</a>
<a href="#">点我试试</a>
<a href="#">点我试试</a>
</body>
</html>
CSS 使用 font-size 属性定义字体大小。
语法:
p {
font-size: 20px;
}
1.px(像素)大小是我们网页的最常用的单位
2.谷歌浏览器默认的文字大小为16px
3.不同浏览器可能默认显示的字号大小不一致,我们尽量给一个明确值大小,不要默认大小
4.可以给 body 指定整个页面文字的大小
CSS 使用 font-weight 属性设置文本字体的粗细。
语法:
p {
font-weight: bold;
}
属性值 | 描述 |
---|---|
normal | 默认值(不加粗) |
bold | 定义粗体(加粗的) |
100-900 | 400 等同于 normal,而700等同于bold(这两个后面不跟单位) |
CSS 使用 font-style 属性设置文本的风格。
p {
font-style: normal;
}
属性值 | 描述 |
---|---|
normal | 默认值(不加粗) |
italic | 浏览器会显示斜体的字体样式 |
body {
font: font-style font-weight font-size/line-height font-family;}
使用 font 属性时,必须按上面语法格式中的顺序书写,不能更换顺序,并且各个属性间以空格隔开 不需要设置的属性可以省略(取默认值),但必须保留 font-size 和 font-family 属性,否则 font 属性将不起作用
属性 | 表示 | 注意点 |
---|---|---|
font-size | 字号 | 通常是px像素单位,要带上单位,也可以使用 em, rem, % 等其他单位 |
font-family | 字体 | 通常包括多个字体名称,作为备选方案。例如: “Helvetica, Arial, sans-serif” |
font-weight | 字重 | 常用值有 normal, bold, bolder, lighter 或 100 到 900 之间的数字 |
font-style | 字体样式 | 常用值有 normal, italic, oblique |
line-height | 行高 | 可以是无单位的数字,也可以是具有单位的值,例如 px, em, % 等 |
text-align | 文本对齐 | 常用值有 left, right, center, justify |
text-decoration | 文本装饰 | 常用值有 none, underline, overline, line-through |
text-transform | 文本转换 | 常用值有 uppercase, lowercase, capitalize |
color | 颜色 | 可以是颜色名称、十六进制代码、rgb 值等多种表达方式 |
letter-spacing | 字母间距 | 通常使用 px, em 等单位,也可以设置为 normal 表示默认间距 |
word-spacing | 单词间距 | 通常使用 px, em 等单位,也可以设置为 normal 表示默认间距 |
属性值 | 描述 |
---|---|
normal | 默认值(不加粗) |
italic | 浏览器会显示斜体的字体样式 |
body {
font: font-style font-weight font-size/line-height font-family;}
使用 font 属性时,必须按上面语法格式中的顺序书写,不能更换顺序,并且各个属性间以空格隔开 不需要设置的属性可以省略(取默认值),但必须保留 font-size 和 font-family 属性,否则 font 属性将不起作用
属性 | 表示 | 注意点 |
---|---|---|
font-size | 字号 | 通常是px像素单位,要带上单位,也可以使用 em, rem, % 等其他单位 |
font-family | 字体 | 通常包括多个字体名称,作为备选方案。例如: “Helvetica, Arial, sans-serif” |
font-weight | 字重 | 常用值有 normal, bold, bolder, lighter 或 100 到 900 之间的数字 |
font-style | 字体样式 | 常用值有 normal, italic, oblique |
line-height | 行高 | 可以是无单位的数字,也可以是具有单位的值,例如 px, em, % 等 |
text-align | 文本对齐 | 常用值有 left, right, center, justify |
text-decoration | 文本装饰 | 常用值有 none, underline, overline, line-through |
text-transform | 文本转换 | 常用值有 uppercase, lowercase, capitalize |
color | 颜色 | 可以是颜色名称、十六进制代码、rgb 值等多种表达方式 |
letter-spacing | 字母间距 | 通常使用 px, em 等单位,也可以设置为 normal 表示默认间距 |
word-spacing | 单词间距 | 通常使用 px, em 等单位,也可以设置为 normal 表示默认间距 |
更多【css-HTML-CSS知识速查】相关视频教程:www.yxfzedu.com