赞
踩
HTML 主要用于网页主体结构的搭建
CSS 主要用于页面元素美化
JavaScript 主要用于页面元素的动态处理
HTML5是什么?
HTML5是超文本标记语言(HyperText Markup Language)的第五个主要版本。这是一种专门用来创建网页的编程语言。你可以把它想象成一种特殊的“说明书”,它告诉电脑浏览器如何排列和展示网页上的文字、图片、视频、链接等各种内容。
HTML5的特点与优势
<audio>
标签)和视频(<video>
标签),无需借助外部插件(如Flash)。这意味着开发者可以直接在网页上嵌入音频和视频,用户无需安装额外软件就能观看和收听。<canvas>
标签进行动态绘图和复杂图形渲染,为游戏、数据可视化等交互式应用提供了基础。<header>
、<nav>
、<article>
、<section>
、<footer>
等,它们有助于开发者更好地组织网页内容,提升代码可读性,并有利于搜索引擎理解页面结构,对SEO(搜索引擎优化)有积极影响。总结
HTML5是构建现代网页和Web应用的关键工具,它通过一系列新特性和改进,使得网页不仅能更好地展示文本和图像,还能直接处理多媒体、创建交互式图形、实现复杂的前端逻辑,并具备更好的设备兼容性和离线能力。对于初学者来说,学习HTML5意味着掌握创建丰富、动态、响应式网页的基础技能,是进入Web开发领域的第一步。
标记语言是一种特定类型的计算机语言,它使用一系列的标签(tag)来标记文本、图像、多媒体等内容,以便指示其结构、语义、样式或行为。这些标签是预定义的关键字,通常用尖括号 <
和 >
包裹起来,用来为文档或数据赋予额外的意义和指示如何处理这些信息。与编程语言不同,标记语言不涉及复杂的程序逻辑、变量赋值、条件判断、循环结构、函数调用等概念,其重点在于描述和组织内容的层次结构以及与之相关的元数据。
双标签,又称成对标签,由一对开始标签和结束标签构成,分别表示一个元素的开始和结束。例如:
<p>HTML is a very popular front-end technology.</p>
在这个例子中:
<p>
是开始标签,用于指示一个段落(paragraph)的起始位置。</p>
是结束标签,标志着段落的结束。"HTML is a very popular front-end technology."
被称为 标签体 或 元素内容,它是被 <p>
标签所包裹的文本内容。单标签,又称自闭合标签,由一个单独的标签表示,无需配对的结束标签。单标签通常用于那些不需要包裹内容或内容为空的元素。例如:
<input type="text" name="username" />
这里:
<input>
是单标签,用于创建一个文本输入框(text input)。由于输入框本身不包含任何内部文本内容,所以它以自封闭形式表示。type="text"
和 name="username"
是 属性,它们提供了关于输入框特性和识别信息。属性总是出现在开始标签内,并以 属性名="属性值"
的格式书写。属性是标签的一部分,用于向元素添加附加信息或设置特定的行为参数。属性通常位于开始标签内,紧随标签名之后,并用等号 =
连接属性名和属性值。属性值通常被引号包围(既可以是单引号 '
也可以是双引号 "
),但某些情况下,当属性值仅包含字母、数字和连字符且无空格时,引号可以省略。例如:
<a href="http://www.xxx.com">show detail</a>
在这个 <a>
标签(用于创建超链接)的例子中:
href
是属性名,表示超链接的 指向目标(Hypertext Reference)。"http://www.xxx.com"
是属性值,指定了链接所要跳转到的具体网页地址。综上所述,标记语言如HTML通过标签、标签体和属性来构建结构化的文档,这些文档能够被浏览器等用户代理解析并呈现为可视化的网页。HTML标签定义了文档的各个组成部分及其相互关系,属性则提供了进一步的详细信息和指令,使文档具有丰富的交互性和语义表达能力。尽管HTML不具备传统编程语言的复杂逻辑控制能力,但它在网页开发中扮演着至关重要的角色,与CSS(层叠样式表)和JavaScript(脚本语言)共同构成了现代Web前端技术的基础。
1. 文档声明(Doctype)
文档声明是HTML文件的首行,用于告知浏览器当前文档所遵循的HTML规范或版本。这一声明对于浏览器正确解析和渲染页面至关重要。
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
这个声明包含了详细的DTD(Document Type Definition,文档类型定义)信息,指示文档遵循HTML 4.01 Transitional标准。其中,“-//W3C//DTD HTML 4.01 Transitional//EN”指定了DTD的名称和类型,后面的URL则是该DTD的官方地址。HTML4有多个子版本(如Strict、Transitional等),分别对应不同的严格程度和兼容性要求。
<!DOCTYPE html>
HTML5的文档声明简化为一行,只包含一个简短的声明语句,即<!DOCTYPE html>
。这种简洁的形式易于记忆和书写,同时适用于现代浏览器对HTML5标准的支持。
目前,由于HTML5提供了更强大的功能、更好的跨平台兼容性和更友好的开发者体验,已经成为Web开发领域的主流选择。因此,新开发的HTML文档通常使用HTML5的文档声明。
2. 根标签(html)
<html>
标签作为整个HTML文档的根元素,是所有其他标签的容器。一个典型的HTML文档结构始于<html>
标签,并以</html>
结束,如下所示:
- <html>
- <!-- 其他HTML内容 -->
- </html>
所有其他HTML元素,包括<head>
和<body>
,都必须嵌套在<html>
标签之内,形成文档的完整结构。
3. 头部元素(head)
<head>
标签定义了文档的头部,其中包含了一系列非可视化信息,这些信息对于浏览器和搜索引擎等解析工具来说十分重要,但并不会直接呈现在网页的可见区域内。常见的头部元素包括:
<title>
:定义网页的标题,显示在浏览器的标签页或窗口标题栏中,也是搜索引擎检索结果中的重要信息来源。<script>
:用于嵌入或链接JavaScript代码,提供网页的动态交互功能。<style>
:用于直接编写CSS样式代码,或者通过@import
导入外部样式表。<link>
:用于链接外部资源,如CSS文件、图标(favicon)、预加载资源等。<meta>
:提供元数据信息,如字符编码、网页描述、关键词、 viewport设置等,影响浏览器对文档的处理和搜索引擎的索引。例如:
- <head>
- <title>网页标题</title>
- <link rel="stylesheet" href="styles.css">
- <script src="script.js"></script>
- <meta charset="UTF-8">
- <meta name="description" content="网页描述">
- </head>
4. 主体元素(body)
<body>
标签包含了网页的所有可见内容,即用户在浏览器窗口中实际看到和交互的部分。包括文本、图片、视频、音频、表格、列表、表单、链接等各类HTML元素均应在<body>
标签内进行定义。
例如:
- <body>
- <header>
- <!-- 页面顶部导航等内容 -->
- </header>
- <main>
- <section>
- <!-- 主要内容区段 -->
- </section>
- <article>
- <!-- 文章或其他独立内容区块 -->
- </article>
- </main>
- <footer>
- <!-- 页面底部信息 -->
- </footer>
- </body>
5. 注释
HTML注释用于在源代码中插入解释性文本,对代码进行说明,方便开发者阅读和理解。注释不会被浏览器解析和显示,对网页的布局和功能没有影响。
注释的写法如下:
<!-- 这是一个HTML注释,注释内容可以是任意文本,不会显示在网页上 -->
在实际开发中,注释常用于记录代码目的、功能、作者、修改日期等信息,或者暂时屏蔽某段代码以进行调试。保持良好的注释习惯有助于代码维护和团队协作。
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>我的第一个网页</title>
- </head>
- <body>
- hello html!!!
- </body>
- </html>
标签
在HTML(HyperText Markup Language,超文本标记语言)中,标签 是构成其语法的基本单元,它们由一对尖括号 <
和 >
包裹,用来指示网页内容的结构、意义和呈现方式。标签分为两类:
/
来表示。例如:<p>这是一个段落。</p>
在这里,<p>
是开始标签,</p>
是结束标签,它们共同定义了一个段落元素。
/
结尾,但有时也可以省略斜杠,仅由一个标签符号表示。例如:<br/>
或简写为
<br>
这个标签表示一个换行符。
属性
属性 是HTML标签的一部分,它们提供额外的信息来修饰或配置标签的行为、样式或与外部资源的关联。属性总是出现在开始标签之内,并以键值对的形式存在,即由属性名和等号后紧跟的属性值构成。例如:
<a href="https://www.example.com" target="_blank">访问示例网站</a>
在这个例子中,<a>
标签有两个属性:
href
属性定义了链接的目标URL,其值为 "https://www.example.com"
。target
属性指定了链接在何处打开,其值 _blank
表示在新窗口或标签页中打开链接。文本
文本 是指在HTML双标签之间直接书写的文字内容、空格、换行以及其他可见字符。文本是网页中向用户传达信息的核心部分。例如:
<h1>欢迎来到我们的网站</h1>
这里的文本是 "欢迎来到我们的网站"
,它位于 <h1>
开始标签和相应的 </h1>
结束标签之间,表示一个一级标题。
元素
元素 是经过浏览器解析后的一个完整逻辑实体,它包括一个标签(可能是单标签或双标签对)、可能存在的属性,以及标签内部包含的所有内容(如文本、嵌套的其他元素等)。一个元素可以视为HTML文档结构和内容的基本构建块。对于双标签:
- <div class="container">
- <p>这是一段文本。</p>
- <img src="image.jpg" alt="描述性文本">
- </div>
上述代码片段中,<div>
、<p>
和 <img>
都是标签,它们各自带有属性(如 class
、src
和 alt
),并可能包含文本或其他元素。整个 <div>
标签及其内部所有内容构成了一个 div
元素;<p>
标签及其包含的文本构成了一个 p
元素;而 <img>
标签虽然没有闭合标签和内部文本,但凭借其自身及属性构成了一个完整的 img
元素。这些元素共同组成了HTML文档的结构,浏览器根据这些元素的类型和属性来决定如何渲染和展示网页内容。
1. 根标签有且只能有一个
每个HTML文档必须有一个根元素,它作为所有其他元素的顶层容器。这个根元素就是 <html>
标签。一个文档中只能有一个 <html>
标签,且必须作为文档的第一级元素,如下所示:
- <!DOCTYPE html>
- <html>
- <!-- 其他HTML内容 -->
- </html>
2. 无论是双标签还是单标签都需要正确关闭
<tag>
必须有一个对应的结束标签 </tag>
,确保它们名字相同以正确闭合。例如:<p>这是段落内容。</p>
/
符号自我闭合。例如:<br />
或者简写为
<br>
3. 标签可以嵌套但不能交叉嵌套
HTML标签可以相互嵌套,即一个标签可以作为另一个标签的内容。嵌套时,必须保持正确的层级关系,每个开始标签必须有相应的结束标签,并且嵌套顺序应为“先开后关”,即内层标签完全包含在它的外层标签之内。不允许标签交叉,例如:
- <!-- 正确嵌套 -->
- <ul>
- <li>项目一</li>
- <li>项目二</li>
- </ul>
-
- <!-- 错误的交叉嵌套(禁止) -->
- <ul>
- <li>项目一
- </ul>
- <li>项目二</li>
- </li>
- </ul>
4. 注释语法为 <!-- -->
,注意不能嵌套
在HTML中添加注释以解释代码或临时屏蔽某些代码片段,使用 <!--
开始注释,以 -->
结束注释。注释内容不会被浏览器解析和显示。注释不能嵌套,即注释内部不能再包含另一个注释:
<!-- 这是一个注释 -->
5. 属性必须有值,值必须加引号,H5中属性名和值相同时可以省略属性值
HTML标签的属性通常需要一个对应的值来指定其具体设置。属性值应当放在等号 =
后面,并用单引号 '
或双引号 "
包围。在HTML5中,如果属性名和属性值相同,可以省略属性值,仅保留属性名。例如:
- <!-- 常规写法 -->
- <input type="text" value="Hello">
-
- <!-- HTML5简化写法 -->
- <input type="text" value>
6. HTML中不严格区分字符串使用单双引号
在为HTML属性赋值时,既可以使用单引号 '
,也可以使用双引号 "
来包裹字符串值,两者在功能上是等价的。选择使用哪一种取决于个人偏好或团队编码规范,但同一属性的值必须使用同一种引号开始和结束:
- <!-- 使用单引号 -->
- <img src='image.jpg' alt='描述文字'>
-
- <!-- 使用双引号 -->
- <img src="image.jpg" alt="描述文字">
7. HTML标签不严格区分大小写,但是不能大小写混用
HTML标签名、属性名对大小写不敏感,这意味着 <p>
、<P>
、<p>
都会被浏览器识别为同一个标签。尽管如此,为了代码的一致性和可读性,建议始终使用小写。但是,不推荐在同一标签或属性名称中混合使用大小写,如 <DiV>
或 claSs
,因为这样会降低代码的清晰度和易维护性。
8. HTML中不允许自定义标签名,强行自定义则无效
HTML标准定义了一系列预设的标签,开发者必须使用这些已知标签来构建网页结构。自创的标签名(如 <myCustomTag>
)在HTML中没有意义,浏览器无法识别并按预期处理这样的标签。若需要实现特定功能或自定义组件,可以使用诸如Web Components等现代Web技术,它们允许创建自定义元素并赋予它们行为和样式。在标准HTML中,直接使用未定义的标签名将被视为无效,浏览器可能会忽略这些标签或以错误的方式解析它们。
Download Visual Studio Code - Mac, Linux, Windows
推荐插件
标题标签一般用于在页面上定义一些标题性的内容,如新闻标题,文章标题等,有h1到h6六级标题
- <body>
- <h1>一级标题</h1>
- <h2>二级标题</h2>
- <h3>三级标题</h3>
- <h4>四级标题</h4>
- <h5>五级标题</h5>
- <h6>六级标题</h6>
- </body>
段落标签一般用于定义一些在页面上要显示的大段文字,多个段落标签之间实现自动分段的效果
- <body>
- <p>
- 记者从工信部了解到,近年来我国算力产业规模快速增长,年增长率近30%,算力规模排名全球第二。
- </p>
- <p>
- 工信部统计显示,截至去年底,我国算力总规模达到180百亿亿次浮点运算/秒,存力总规模超过1000EB(1万亿GB)。
- 国家枢纽节点间的网络单向时延降低到20毫秒以内,算力核心产业规模达到1.8万亿元。中国信息通信研究院测算,
- 算力每投入1元,将带动3至4元的GDP经济增长。
- </p>
- <p>
- 近年来,我国算力基础设施发展成效显著,梯次优化的算力供给体系初步构建,算力基础设施的综合能力显著提升。
- 当前,算力正朝智能敏捷、绿色低碳、安全可靠方向发展。
- </p>
- </body>
单纯实现换行的标签是br,如果想添加分隔线,可以使用hr标签
换行标签:<br>
分割线标签:<hr>
- <body>
- 工信部统计显示,截至去年底,我国算力总规模达到180百亿亿次浮点运算/秒,存力总规模超过1000EB(1万亿GB)。
- <br>
- 国家枢纽节点间的网络单向时延降低到20毫秒以内,算力核心产业规模达到1.8万亿元。
- <hr>
- 中国信息通信研究院测算,算力每投入1元,将带动3至4元的GDP经济增长。
- </body>
有序列表
分条列项展示数据的标签, 其每一项前面的符号带有顺序特征
- <ol>
- <li>JAVA</li>
- <li>前端</li>
- <li>大数据</li>
- </ol>
无序列表
分条列项展示数据的标签, 其每一项前面的符号不带有顺序特征
- <ul>
- <li>JAVASE</li>
- <li>JAVAEE</li>
- <li>数据库</li>
- </ul>
列表和列表之前可以签到,实现某一项内容详细展示
- <ol>
- <li>
- JAVA
- <ul>
- <li>JAVASE</li>
- <li>JAVAEE</li>
- <li>数据库</li>
- </ul>
- </li>
- <li>前端</li>
- <li>大数据</li>
- </ol>
点击后带有链接跳转的标签 ,也叫作a标签
- <body>
- <!--
- href属性用于定义连接
- href中可以使用绝对路径,以/开头,始终以一个路径作为基准路径作为出发点
- href中也可以使用相对路径,不以/开头,以当前文件所在路径为出发点
- href中也可以定义完整的URL
- target用于定义打开的方式
- _blank 在新窗口中打开目标资源
- _self 在当前窗口中打开目标资源
- -->
- <a href="01html的基本结构.html" target="_blank">相对路径本地资源连接</a> <br>
- <a href="/day01-html/01html的基本结构.html" target="_self">绝对路径本地资源连接</a> <br>
- <a href="http://www.atguigu.com" target="_blank">外部资源链接</a> <br>
-
- </body>
img(重点) 图片标签,用于在页面上引入图片
<img src="img/logo.png" title="尚硅谷" alt="尚硅谷logo" />
用于在页面上引入一段声音
- <audio src="img/music.mp3" autoplay="autoplay"
- controls="controls" loop="loop" />
常规表格
- <body>
- <!-- 页面标题,居中显示 -->
- <h3 style="text-align: center;">员工技能竞赛评分表</h3>
- <!-- 创建一个表格,设置边框为1px,宽度为400px,居中显示 -->
- <table border="1px" style="width: 400px; margin: 0px auto;">
- <!-- 表格表头,包含排名、姓名和分数三个列 -->
- <tr>
- <th>排名</th>
- <th>姓名</th>
- <th>分数</th>
- </tr>
- <!-- 表格数据行,展示员工的排名、姓名和分数 -->
- <tr>
- <td>1</td>
- <td>张小明</td>
- <td>100</td>
- </tr>
- <tr>
- <td>2</td>
- <td>李小东</td>
- <td>99</td>
- </tr>
- <tr>
- <td>3</td>
- <td>王小虎</td>
- <td>98</td>
- </tr>
- </table>
- </body>
通过td的rowspan属性实现上下跨行
- <body>
- <h3 style="text-align: center;">员工技能竞赛评分表</h3> <!-- 标题居中显示 -->
- <table border="1px" style="width: 400px; margin: 0px auto;"> <!-- 创建一个居中、有边框的表格 -->
- <tr> <!-- 表格表头行开始 -->
- <th>排名</th>
- <th>姓名</th>
- <th>分数</th>
- <th>备注</th>
- </tr>
- <tr> <!-- 表格数据行开始 -->
- <td>1</td>
- <td>张小明</td>
- <td>100</td>
- <td rowspan="3"> <!-- 备注信息跨三行显示 -->
- 前三名升职加薪
- </td>
- </tr>
- <tr>
- <td>2</td>
- <td>李小东</td></td>
- <td>99</td>
- </tr>
- <tr>
- <td>3</td>
- <td>王小虎</td>
- <td>98</td>
- </tr>
- </table>
- </body>
通过td的colspan属性实现左右的跨列
- <body>
- <h3 style="text-align: center;">员工技能竞赛评分表</h3>
- <table border="1px" style="width: 400px; margin: 0px auto;"> <!-- 创建一个居中、有边框的表格 -->
- <tr>
- <th>排名</th>
- <th>姓名</th>
- <th>分数</th>
- <th>备注</th>
- </tr>
- <tr>
- <td>1</td>
- <td>张小明</td>
- <td>100</td>
- <td rowspan="6">
- 前三名升职加薪
- </td>
- </tr>
- <tr>
- <td>2</td>
- <td>李小东</td></td>
- <td>99</td>
- </tr>
- <tr>
- <td>3</td>
- <td>王小虎</td>
- <td>98</td>
- </tr>
- <!-- 下面的行展示比赛的统计信息 -->
- <tr>
- <td>总人数</td>
- <td colspan="2">2000</td>
- </tr>
- <tr>
- <td>平均分</td>
- <td colspan="2">90</td>
- </tr>
- <tr>
- <td>及格率</td>
- <td colspan="2">80%</td>
- </tr>
- </table>
- </body>
表单标签 是HTML中用于创建交互式界面的关键元素,它允许用户在网页上输入、选择或提交各种类型的数据。表单是向服务器发送数据的主要途径之一,常用于用户注册、登录、反馈、查询等场景。
1. form
标签
<form>
标签是表单的容器,定义了一个表单域,其中包含了供用户填写和交互的各种表单元素。form
标签具有以下重要属性:
action
:此属性指定表单数据提交到的服务器地址(URL)。当用户提交表单时,浏览器会将表单内所有相关数据发送到这个指定的地址进行处理。method
:此属性决定了表单数据提交的方式,有两种常见值:get
:数据以URL查询字符串的形式附加到提交地址后面。查询字符串以问号 ?
开始,多个参数间用 &
分隔。由于URL长度有限制且数据会显示在地址栏中,因此不适合提交大量或敏感信息。post
:数据以HTTP请求体的形式发送,不会在URL中显示。这种方式适用于提交大量数据或包含敏感信息的表单,因为数据不在URL中暴露,且理论上能传输更大的数据量。2. input
标签
<input>
标签是表单中最常用的元素之一,用于创建各种类型的输入字段。input
标签通过 type
属性定义其类型,常见的类型包括:
text
:创建一个单行文本输入框,用户可以在此输入文本信息。password
:创建一个密码输入框,用户输入的字符将以星号或圆点替代显示,保护密码隐私。submit
:创建一个提交按钮,点击后触发表单提交,将表单数据发送到指定的action
URL。reset
:创建一个重置按钮,点击后将表单所有输入字段恢复到初始状态(通常是清除用户已输入的内容)。此外,input
标签还具有重要的 name
属性:
name
:为表单字段指定一个名称,该名称作为提交数据的键,其对应的用户输入值作为提交数据的值。服务器端通过这些名称来识别和处理接收到的数据。- <body>
- <form action="https://www.bilibili.com/" method="get">
- 用户名 <input type="text" name="username" /> <br>
- 密 码 <input type="password" name="password" /> <br>
- <input type="submit" value="登录" />
- <input type="reset" value="重置" />
- </form>
- </body>
单行文本框,input中的type属性为"text"
个性签名:<input type="text" name="signal"/><br/>
密码框,input中的type属性为"password"
密码:<input type="password" name="secret"/><br/>
- 你的性别是:
- <input type="radio" name="sex" value="spring" />男
- <input type="radio" name="sex" value="summer" checked="checked" />女
- <body>
- 你喜欢的球队是:<br>
- <input type="checkbox" name="team" value="Brazil"/>巴西<br>
- <input type="checkbox" name="team" value="German" checked/>德国<br>
- <input type="checkbox" name="team" value="France"/>法国<br>
- <input type="checkbox" name="team" value="China" checked="checked"/>中国
- <input type="checkbox" name="team" value="Italian"/>意大利
- </body>
- 你喜欢的运动是:
- <select name="interesting">
- <option value="swimming">游泳</option>
- <option value="running">跑步</option>
- <option value="shooting" selected="selected">射击</option>
- <option value="skating">溜冰</option>
- </select>
- <button type="button">普通按钮</button>或<input type="button" value="普通按钮"/>
- <button type="reset">重置按钮</button>或<input type="reset" value="重置按钮"/>
- <button type="submit">提交按钮</button>或<input type="submit" value="提交按钮"/>
<input type="hidden" name="userId" value="2233"/>
通过表单隐藏域设置的表单项不会显示到页面上,用户看不到。但是提交表单时会一起被提交。用来设置一些需要和表单一起提交但是不希望用户看到的数据,例如:用户id等等。
自我介绍:<textarea name="desc"></textarea>
多行文本框 <textarea>
:
<textarea>
标签在HTML中用于创建一个可以输入多行文本的文本区域。用户可以在其中输入、编辑和查看多行文本内容,常用于收集用户的大段描述、评论、消息等。没有 value
属性:
<input>
)不同,<textarea>
标签并没有value
属性。这是因为<textarea>
的内容是由其标签之间的文本直接定义的,而不是通过属性指定。设置默认值:
<textarea>
设置默认显示的文本(即初始内容),只需在<textarea>
标签的开始和结束标签之间直接书写您希望显示的文本即可。例如:<textarea name="desc">我是默认显示的自我介绍内容...</textarea>
在这个例子中,当页面加载时,文本区域会自动显示“我是默认显示的自我介绍内容...”。用户可以在此基础上进行修改,或者完全删除并输入自己的内容。
头像:<input type="file" name="file"/>
<div> 标签:
<span> 标签:
代码示例分析:
- <body>
- <div style="width: 500px; height: 400px; background-color: cadetblue">
- <div
- style="
- width: 400px;
- height: 100px;
- background-color: beige;
- margin: 10px auto;
- "
- >
- <span style="color: blueviolet">页面开头部分</span>
- </div>
- <div
- style="
- width: 400px;
- height: 100px;
- background-color: blanchedalmond;
- margin: 10px auto;
- "
- >
- <span style="color: blueviolet">页面中间部分</span>
- </div>
- <div
- style="
- width: 400px;
- height: 100px;
- background-color: burlywood;
- margin: 10px auto;
- "
- >
- <span style="color: blueviolet">页面结尾部分</span>
- </div>
- </div>
- </body>
CSS是一种设计网页外观的语言,用于:
1. 设置元素颜色、字体、大小、布局等样式。
2. 通过选择器(如元素名、类名、ID)精准定位要应用样式的元素。
3. 实现样式层叠与继承,确保多个规则间的协调和简洁。
4. 将样式写入外部文件,实现模块化和复用,保持网站整体风格一致。
CSS让网页看起来美观、布局有序。
行内式:通过元素开始标签的style属性引入
样式语法为:样式名: 样式值;
- <body>
- <input type="button" value="按钮"
- style="
- display: block;
- width: 60px;
- height: 40px;
- background-color: rgb(140, 235, 100);
- color: white;
- border: 3px solid green;
- font-size: 22px;
- font-family: '隶书';
- line-height: 30px;
- border-radius: 5px; " />
- </body>
缺点
- <head>
- <meta charset="UTF-8">
- <style>
- /* 通过选择器确定样式的作用范围 */
- input {
- display: block;
- width: 80px;
- height: 40px;
- background-color: rgb(140, 235, 100);
- color: white;
- border: 3px solid green;
- font-size: 22px;
- font-family: '隶书';
- line-height: 30px;
- border-radius: 5px;
- }
- </style>
- </head>
- <body>
- <input type="button" value="按钮1"/>
- <input type="button" value="按钮2"/>
- <input type="button" value="按钮3"/>
- <input type="button" value="按钮4"/>
- </body>
- <head>
- <meta charset="UTF-8">
- <link href="css/buttons.css" rel="stylesheet" type="text/css"/>
- </head>
- <body>
- <input type="button" value="按钮1"/>
- <input type="button" value="按钮2"/>
- <input type="button" value="按钮3"/>
- <input type="button" value="按钮4"/>
- </body>
CSS选择器是CSS语言中用于指定哪些HTML元素应应用特定样式的规则。它帮助开发者精准地定位到需要设置样式的元素,而不影响其他元素。
简单解释就是:
CSS选择器就像是一把“标签钥匙”,您用它告诉浏览器:“我想把这些特定的样式应用到使用了某个特定标签的所有HTML元素上。”
元素选择器是CSS选择器的一种,是最简单的一种“标签钥匙”。它直接使用HTML标签的名字作为“钥匙”,比如input
、p
、h1
等。
举个例子:
假设您有一堆彩色的贴纸(代表CSS样式),想把它们贴到所有写着“玩具”字样的箱子(代表HTML元素)上。您会怎么做呢?
在CSS中,这就是元素选择器的工作原理:
input
,表示您想把样式应用到所有<input>
元素上。<input>
元素。对于每一个找到的<input>
元素,浏览器都会应用您在input
选择器后面大括号{}
里定义的那些样式。所以,元素选择器就是用来指定一组CSS样式应该应用到所有使用了某个特定HTML标签的元素上的一种方式。
- <head>
- <meta charset="UTF-8">
- <style>
- input {
- display: block;
- width: 80px;
- height: 40px;
- background-color: rgb(140, 235, 100);
- color: white;
- border: 3px solid green;
- font-size: 22px;
- font-family: '隶书';
- line-height: 30px;
- border-radius: 5px;
- }
- </style>
- </head>
- <body>
- <input type="button" value="按钮1"/>
- <input type="button" value="按钮2"/>
- <input type="button" value="按钮3"/>
- <input type="button" value="按钮4"/>
- <button>按钮5</button>
- </body>
元素选择器是CSS中的一种工具,用于给特定类型的HTML标签(如<input>
、<p>
、<div>
等)设置样式。它的特点是:
X {样式规则}
”,其中X
是标签名,{}
内是具体的样式设定。#id
- <head>
- <meta charset="UTF-8">
- <style>
- #btn1 {
- display: block;
- width: 80px;
- height: 40px;
- background-color: rgb(140, 235, 100);
- color: white;
- border: 3px solid green;
- font-size: 22px;
- font-family: '隶书';
- line-height: 30px;
- border-radius: 5px;
- }
- </style>
- </head>
- <body>
- <input id="btn1" type="button" value="按钮1"/>
- <input id="btn2" type="button" value="按钮2"/>
- <input id="btn3" type="button" value="按钮3"/>
- <input id="btn4" type="button" value="按钮4"/>
- <button id="btn5">按钮5</button>
- </body>
ID选择器是CSS中用于根据HTML元素的id
属性值来精确指定其样式的工具。其特点如下:
#Y {样式规则}
”,其中#Y
是ID选择器,Y
是元素的id
属性值,{}
内是具体的样式设定。id
属性值在页面中必须唯一,因此每个ID选择器只能影响一个元素的样式。这意味着ID选择器提供了极高精度的样式定位。id
属性值通常在HTML编写时就已确定,且要求在整个文档中保持唯一,这限制了其在动态调整样式或复用样式规则时的灵活性。因此,相较于类选择器等其他选择器,ID选择器的使用场景相对较少。简单来说,ID选择器是CSS中用于精确控制单个元素样式的强大工具,它通过元素的id
属性值实现一对一的样式绑定。但由于id
属性值的固定性和唯一性限制,其在需要灵活调整或复用样式时的应用不如类选择器等广泛。
.class
- <head>
- <meta charset="UTF-8">
- <style>
- .shapeClass {
- display: block;
- width: 80px;
- height: 40px;
- border-radius: 5px;
- }
- .colorClass{
- background-color: rgb(140, 235, 100);
- color: white;
- border: 3px solid green;
- }
- .fontClass {
- font-size: 22px;
- font-family: '隶书';
- line-height: 30px;
- }
-
- </style>
- </head>
- <body>
- <input class ="shapeClass colorClass fontClass"type="button" value="按钮1"/>
- <input class ="shapeClass colorClass" type="button" value="按钮2"/>
- <input class ="colorClass fontClass" type="button" value="按钮3"/>
- <input class ="fontClass" type="button" value="按钮4"/>
- <button class="shapeClass colorClass fontClass" >按钮5</button>
- </body>
Class选择器是CSS中用于根据HTML元素的class
属性值来指定其样式的工具
class
属性包含‘Z’的元素,并应用这些样式。”.Z {样式规则}
”,其中.Z
是类选择器,Z
是元素的class
属性值,{}
内是具体的样式设定。class
属性值(用空格分隔),而一个类选择器可以应用于多个具有相同class
值的元素。这意味着类选择器支持灵活的多对多关系,能够高效地批量或分组设置样式。class="shapeClass colorClass fontClass"
,则会同时继承这三个类选择器定义的所有样式。class
属性值可在HTML中自由添加、修改或删除,且允许多个元素共享相同的class
值,使得类选择器在动态调整样式、复用样式规则或实现模块化设计等方面具有极高的灵活性。因此,类选择器在CSS中被广泛应用。简单来说,Class选择器是CSS中用于灵活、高效地批量或分组设置元素样式的常用工具。它通过元素的class
属性值实现多对多的样式关联,并支持样式叠加,具有很高的灵活性和可复用性,故在实际项目中被广泛使用。
该知识点建议结合视频教程一起看 ---> CSS_浮动
W3C的解释文档 ---> CSS 布局 - position 属性
CSS的float
属性,简称为“浮动”,是一种布局技术,允许您将一个元素从正常的文档流(Document Flow)中移出,使其沿着指定的方向(通常是向左或向右)移动,并且使其周围的文本或其他内联元素环绕它。
文档流是HTML元素在网页上默认的排列方式。想象一下,当你在文档中依次写下HTML标签时,就像在一张无限大的纸上从上到下、从左到右书写文字。每个元素占据一定的空间,并且按照它们在HTML源代码中出现的顺序依次排列:
<div>
、<p>
等)通常独占一行,自上而下堆叠。<span>
、文本)则在一行内从左到右排列,直到行宽不足时换行。脱离文档流意味着某个元素不再遵循上述正常的排列规则,而是从常规布局中“浮”起来,不再占据原来在文档流中的固有位置。当元素浮动后:
float: left
或float: right
指定)移动,直到遇到其父容器的边缘或另一个浮动元素的边缘停止。浮动最初的设计目的是为了实现文字环绕图片的效果,类似于在Word文档中插入图片时,文本能够自然地绕过图片分布。在早期网页设计中,float
属性使得设计师能够轻松地将图片放在段落中,确保图片与文字和谐共存,互不影响对方的布局。
简而言之,CSS浮动是一种布局技术,它使元素脱离正常的文档流布局,按照指定方向移动,并让周围的文本和其他内联元素环绕它。这一特性最初是为了实现文字环绕图片的布局效果,但现在常被用来创建多列布局、侧边栏等内容。理解浮动意味着理解元素如何在网页上非正常顺序地排列,以及这种排列方式如何影响其他元素的布局。
该知识点建议结合视频教程一起看 ---> CSS_定位
W3C的解释文档 ---> CSS 布局 - position 属性
position 属性指定了元素的定位类型。
不设置的时候的默认值就是static,静态定位,没有定位,元素出现在该出现的位置,块级元素垂直排列,行内元素水平排列
- <head>
- <meta charset="UTF-8">
- <style>
- .innerDiv{
- width: 100px;
- height: 100px;
- }
- .d1{
- background-color: rgb(166, 247, 46);
- position: static;
- }
- .d2{
- background-color: rgb(79, 230, 124);
- }
- .d3{
- background-color: rgb(26, 165, 208);
- }
- </style>
- </head>
- <body>
- <div class="innerDiv d1">框1</div>
- <div class="innerDiv d2">框2</div>
- <div class="innerDiv d3">框3</div>
- </body>
- <head>
- <meta charset="UTF-8">
- <style>
- .innerDiv{
- width: 100px;
- height: 100px;
- }
- .d1{
- background-color: rgb(166, 247, 46);
- position: absolute;
- left: 300px;
- top: 100px;
- }
- .d2{
- background-color: rgb(79, 230, 124);
- }
- .d3{
- background-color: rgb(26, 165, 208);
- }
- </style>
- </head>
- <body>
- <div class="innerDiv d1">框1</div>
- <div class="innerDiv d2">框2</div>
- <div class="innerDiv d3">框3</div>
- </body>
- <head>
- <meta charset="UTF-8">
- <style>
- .innerDiv{
- width: 100px;
- height: 100px;
- }
- .d1{
- background-color: rgb(166, 247, 46);
- position: relative;
- left: 30px;
- top: 30px;
- }
- .d2{
- background-color: rgb(79, 230, 124);
- }
- .d3{
- background-color: rgb(26, 165, 208);
- }
- </style>
- </head>
- <body>
- <div class="innerDiv d1">框1</div>
- <div class="innerDiv d2">框2</div>
- <div class="innerDiv d3">框3</div>
- </body>
- <head>
- <meta charset="UTF-8">
- <style>
- .innerDiv{
- width: 100px;
- height: 100px;
- }
- .d1{
- background-color: rgb(166, 247, 46);
- position: fixed;
- right: 30px;
- top: 30px;
- }
- .d2{
- background-color: rgb(79, 230, 124);
- }
- .d3{
- background-color: rgb(26, 165, 208);
- }
- </style>
- </head>
- <body>
- <div class="innerDiv d1">框1</div>
- <div class="innerDiv d2">框2</div>
- <div class="innerDiv d3">框3</div>
- br*100+tab
- </body>
该知识点建议结合视频教程一起看 ---> CSS_盒子模型
CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距(margin),边框(border),填充(padding),和实际内容(content)
- <head>
- <meta charset="UTF-8">
- <style>
- .outerDiv {
- width: 800px;
- height: 300px;
- border: 1px solid green;
- background-color: rgb(230, 224, 224);
- margin: 0px auto;
- }
- .innerDiv{
- width: 100px;
- height: 100px;
- border: 1px solid blue;
- float: left;
- /* margin-top: 10px;
- margin-right: 20px;
- margin-bottom: 30px;
- margin-left: 40px; */
- margin: 10px 20px 30px 40px;
-
- }
- .d1{
- background-color: greenyellow;
- /* padding-top: 10px;
- padding-right: 20px;
- padding-bottom: 30px;
- padding-left: 40px; */
- padding: 10px 20px 30px 40px;
- }
- .d2{
- background-color: rgb(79, 230, 124);
- }
- .d3{
- background-color: rgb(26, 165, 208);
- }
- </style>
- </head>
- <body>
- <div class="outerDiv">
- <div class="innerDiv d1">框1</div>
- <div class="innerDiv d2">框2</div>
- <div class="innerDiv d3">框3</div>
- </div>
- </body>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。