当前位置: 首页 > news >正文

HTML 01 【基础语法学习】

并不规范的学习笔记,只是供边学边记录。

1 参考手册

HTML标签参考手册https://www.runoob.com/tags/html-reference.html

href

在HTML中,href是超链接(Hypertext Reference)的缩写。它的读音可以分为两个部分:href

2 分割符

hr 元素可用于分隔内容。

<p>这是一个段落。</p>
<hr>
<p>这是一个段落。</p>
<hr>
<p>这是一个段落。</p>

3 HTML 提示 - 如何查看源代码

“你是否看过一些网页然后惊叹它是如何实现的。

如果您想找到其中的奥秘,只需要单击右键,然后选择"查看源文件"(IE)或"查看页面源代码"(Firefox),其他浏览器的做法也是类似的。这么做会打开一个包含页面 HTML 代码的窗口。”

4 文本格式化

HTML文本格式化https://www.runoob.com/html/html-formatting.html

5 HTML 链接

HTML 链接(Anchor)是网页之间跳转的核心部分。

HTML 使用链接与网络上的另一个文档相连。

HTML中的链接是一种用于在不同网页之间导航的元素。

链接通常用于将一个网页与另一个网页或资源(如文档、图像、音频文件等)相关联。

链接允许用户在浏览网页时单击文本或图像来跳转到其他位置,从而实现网页之间的互联。

HTML 链接 通过 <a> 标签创建,通常用于将用户从一个页面导航到另一个页面、从一个部分跳转到页面中的另一个部分、下载文件、打开电子邮件应用程序或执行 JavaScript 函数等。

基本语法

<a href="URL">链接文本</a>
  • <a> 标签:定义了一个超链接(anchor)。它是 HTML 中用来创建可点击链接的主要标签。
  • href 属性:指定目标 URL,当点击链接时,浏览器将导航到此 URL。

以下实例演示来如何在 HTML 文档中创建链接:

实例

<a href="/index.html">本文本</a> 是一个指向本网站中的一个页面的链接。</p><p><a href="https://www.microsoft.com/">本文本</a> 是一个指向万维网上的页面的链接。</p>

6 HTML 链接属性

HTML链接属性https://www.runoob.com/html/html-links.html

"链接文本" 不必一定是文本。图片或其他 HTML 元素都可以成为链接

文本链接:最常见的链接类型是文本链接,它使用 <a> 元素将一段文本转化为可点击的链接,例如:

<a href="https://www.example.com">访问示例网站</a>

图像链接:您还可以使用图像作为链接。在这种情况下,<a> 元素包围着 <img> 元素。例如:

<a href="https://www.example.com"><img src="example.jpg" alt="示例图片">
</a>

锚点链接:除了链接到其他网页外,您还可以在同一页面内创建内部链接,这称为锚点链接。要创建锚点链接,需要在目标位置使用 <a> 元素定义一个标记,并使用#符号引用该标记。例如:

<a href="#section2">跳转到第二部分</a>
<!-- 在页面中的某个位置 -->
<a name="section2"></a>

下载链接:如果您希望链接用于下载文件而不是导航到另一个网页,可以使用 download 属性。例如:

<a href="document.pdf" download>下载文档</a>

7 HTML 表格

HTML 表格 | 菜鸟教程https://www.runoob.com/html/html-tables.html

8 我错误百出的第一个HTML

 

<head><h1><i>BIG TXT<i></h1>
<div><p>hello</p><hr /><p>hi</p>
</div></head>
<body><code>printf ( " hello world ")</code>
<a href="https://cn.bing.com/hp/?mkt=zh-CN" target="_blank" title="click to Bing">Bing</a>
<img src="https://ts3.tc.mm.bing.net/th/id/OIP-C.KqqriZXgjKK7FfDUjUtVkQHaHS?rs=1&pid=ImgDetMain&o=7&rm=3" alt="cat" style="float: inline-end;"></img>
<table><tbody><tr><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td></tr></tbody><colgroup><col><col><col></colgroup>
</table>
</body>

无法显示表格。

你提供的 HTML 代码中,body内容无法正常显示,核心原因是HTML 结构存在根本性错误,导致浏览器解析时无法识别正确的文档结构,进而忽略或错误渲染body内的内容。以下是具体问题分析和修复方案:

一、核心错误:文档结构混乱(最关键原因)

HTML 有严格的文档结构规范,正确的基本结构应为:<!DOCTYPE html>(文档声明)→ <html>(根标签)→ 子标签<head>(头部信息)和<body>(主体内容)。

而你的代码存在 2 个致命结构问题:

  1. body标签被错误嵌套在head标签内你的代码开头是 <head>...</head>,但在<head>闭合前,直接写了<body>标签 —— 浏览器解析时会认为<body><head>的子元素,而<head>标签的作用是存放元数据(如标题、样式、脚本),不会渲染其内部的<body>内容,导致body被 “隐藏”。

  2. 缺少根标签<html><head><body>必须是根标签<html>的直接子元素,缺少<html>会让浏览器无法识别文档的 “主体区域”,进一步破坏渲染逻辑。

二、其他次要问题(影响显示细节)

除了核心结构错误,代码中还有 2 个细节问题,即使修复结构后也可能导致显示异常:

  1. <i>标签未闭合标题中的 <i>BIG TXT<i> 第二个<i>应为闭合标签 </i>,未闭合会导致后续文本(如hellohi)都被错误设置为斜体,影响样式。

  2. 表格无内容且结构顺序不当表格的<colgroup>标签应放在<tbody>之前(规范要求列定义在内容之前),且<td>内无内容,会显示为 “空表格边框”(若后续添加内容需调整顺序)。

三、修复后的完整代码(可正常显示)

<!DOCTYPE html> <!-- 声明HTML文档类型,确保浏览器正常解析 -->
<html> <!-- 根标签,所有内容必须包裹在html内 --><head> <!-- 头部区域:存放标题、样式、脚本等(不渲染可见内容) --><meta charset="UTF-8"> <!-- 声明字符编码,避免中文乱码(可选但推荐) --><title>页面标题</title> <!-- 浏览器标签栏显示的标题(可选但推荐) --><h1><i>BIG TXT</i></h1> <!-- 修复<i>标签闭合(注:h1通常放body,此处仅为修正原结构) --></head><body> <!-- 主体区域:所有可见内容(文本、图片、链接等)放在这里 --><div><p>hello</p><hr /> <!-- 水平分隔线 --><p>hi</p></div><code>printf ( " hello world ")</code> <!-- 代码片段(默认等宽字体) --><!-- 超链接:点击跳转到必应,新窗口打开 --><a href="https://cn.bing.com/hp/?mkt=zh-CN" target="_blank" title="click to Bing">Bing</a><!-- 图片:float:inline-end 使图片右对齐,alt为图片加载失败时的提示文本 --><img src="https://ts3.tc.mm.bing.net/th/id/OIP-C.KqqriZXgjKK7FfDUjUtVkQHaHS?rs=1&pid=ImgDetMain&o=7&rm=3" alt="cat" style="float: inline-end;"><!-- 表格:调整colgroup顺序到tbody前,添加示例内容方便查看 --><table border="1"> <!-- 添加border=1显示表格边框(可选,方便调试) --><colgroup> <!-- 列定义放在tbody之前(规范要求) --><col><col><col></colgroup><tbody><tr><td>行1列1</td><td>行1列2</td><td>行1列3</td></tr><tr><td>行2列1</td><td>行2列2</td><td>行2列3</td></tr></tbody></table></body>
</html>

四、修复后效果说明

  1. 可见内容hellohi文本、水平分隔线、代码片段、Bing 超链接、猫咪图片、带内容的表格都会正常显示。
  2. 样式细节:图片会右对齐(float:inline-end),表格显示边框(border="1",方便查看,可删除),超链接点击后在新窗口打开(target="_blank")。

总结

HTML 显示异常的排查优先级:先检查文档结构(是否有<html><head><body>的正确嵌套)→ 再检查标签是否闭合 → 最后检查样式 / 内容问题。只要遵循 “根标签→头部→主体” 的层级规范,大部分显示问题都能解决。

9 body就是页面,head就是小窗口?

你的理解很形象,抓住了 <head> 和 <body> 最核心的 “功能分工” 差异!不过为了更准确地对应 HTML 规范,我们可以把这个比喻再细化一点,避免后续写代码时混淆:

更精准的比喻:把整个网页看作 “一份报纸”

HTML 标签对应报纸的部分核心作用(为什么这么比喻)能否被用户直接看到?
<head>报纸的 “中缝 / 版权页”存放 “幕后信息”:比如报纸的报名(对应网页标题,显示在浏览器标签栏)、排版规则(CSS 样式)、引用的工具(JS 脚本)、作者信息等 —— 这些内容是为了让报纸(网页)能正常呈现,但读者不会直接在 “正文区域” 看到它们。❌ 不能(仅作用于幕后,不参与页面渲染)
<body>报纸的 “正文 + 图片 + 广告区”存放所有 “用户能直接看到、摸到的内容”:比如文章文字(对应网页的 <p>)、照片(对应 <img>)、按钮(对应 <button>)、链接(对应 <a>)—— 用户打开网页后看到的所有内容,都在 <body> 里。✅ 能(网页的 “可视化区域”)

补充:为什么你的原代码里 <body> 没显示?

结合这个比喻就能更清楚:你原代码把 <body> 写在了 <head> 里面(相当于把 “报纸正文” 塞到了 “版权页” 里),而浏览器的规则是 “只渲染 <body> 里的内容,忽略 <head> 里的可视化内容”—— 所以哪怕 <body> 里有文字、图片,也会因为 “放错了地方” 而被浏览器 “藏起来”。

----------------------------------------------

只要记住:所有想让用户看到的内容,都必须放进 <body>;所有 “幕后配置信息”,都放进 <head>,网页就能正常显示了。

10 HTML 区块

HTML 区块 | 菜鸟教程https://www.runoob.com/html/html-blocks.html

HTML <div> 元素

HTML <div> 元素是块级元素,它可用于组合其他 HTML 元素的容器。

<div> 元素没有特定的含义。除此之外,由于它属于块级元素,浏览器会在其前后显示折行。

如果与 CSS 一同使用,<div> 元素可用于对大的内容块设置样式属性。

<div> 元素的另一个常见的用途是文档布局。它取代了使用表格定义布局的老式方法。使用 <table> 元素进行文档布局不是表格的正确用法。<table> 元素的作用是显示表格化的数据。


HTML <span> 元素

HTML <span> 元素是内联元素,可用作文本的容器

<span> 元素也没有特定的含义。

当与 CSS 一同使用时,<span> 元素可用于为部分文本设置样式属性。

11 为什么要有id?

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>菜鸟教程(runoob.com)</title> 
</head>
<body><div id="container" style="width:500px"><div id="header" style="background-color:#FFA500;">
<h1 style="margin-bottom:0;">主要的网页标题</h1></div><div id="menu" style="background-color:#FFD700;height:200px;width:100px;float:left;">
<b>菜单</b><br>
HTML<br>
CSS<br>
JavaScript</div><div id="content" style="background-color:#EEEEEE;height:200px;width:400px;float:left;">
内容在这里</div><div id="footer" style="background-color:#FFA500;clear:both;text-align:center;">
版权 © runoob.com</div></div></body>
</html>

在你提供的这段 HTML 代码中,id 看似只是给 <div> 加了个 “名字”(比如 headermenu),但实际上是 HTML 中核心的 “元素标识工具”,它的作用贯穿 “代码可读性”“样式控制”“交互逻辑” 三个关键场景,具体原因可以拆解为以下 4 点:

1. 最基础:给元素 “起名字”,让代码更易读(对开发者友好)

你这段代码是一个简单的网页布局(标题栏 + 菜单 + 内容区 + 版权栏),如果没有 id,代码会变成:

<!-- 没有id的情况 -->
<div style="width:500px"><div style="background-color:#FFA500;">...</div> <!-- 这是标题栏?菜单? --><div style="background-color:#FFD700;">...</div> <!-- 这又是啥? -->...
</div>

此时开发者需要逐行看 style 或内容才能判断每个 <div> 的作用,效率很低。

而加上 id="header"「标题栏」、id="menu"「菜单」、id="footer"「版权栏」后,光看 id 就能立刻定位元素的功能—— 哪怕代码量变大(比如几百行 HTML),也能快速找到 “我要改的标题栏在哪”“菜单的容器是哪个”,极大降低了代码的维护成本。

2. 核心作用 1:精准控制样式(配合 CSS)

你当前的代码用了 “行内样式”(style="..."),但实际开发中,我们更习惯把样式写在单独的 CSS 里(或 <head> 的 <style> 标签中)。此时 id 就成了 “精准定位元素” 的钥匙。

比如想单独修改 “菜单” 的背景色,用 id 就能直接定位到它,不会影响其他元素:

<head><style>/* #+id名:精准选中id为menu的元素 */#menu {background-color: #FFD700; /* 菜单背景色 */height: 200px;width: 100px;}/* 单独修改版权栏的文字颜色 */#footer {color: white; /* 版权文字变白色 */}</style>
</head>
<body><div id="menu">菜单...</div> <!-- 会被上面的CSS选中 --><div id="footer">版权...</div> <!-- 会被上面的CSS选中 -->
</body>

如果没有 id,想单独改某个 <div> 的样式会非常麻烦(可能需要写复杂的选择器,还容易误改其他元素)。

3. 核心作用 2:实现交互逻辑(配合 JavaScript)

如果想给网页加 “动态效果”(比如点击菜单显示隐藏内容、点击标题栏跳转),就必须用 JavaScript—— 而 JavaScript 要操作某个元素,前提是 “找到它”,id 就是最快捷的 “查找方式”。

比如想实现 “点击版权栏弹出提示”,用 id 就能轻松做到:

<script>// 通过id快速找到footer元素const footer = document.getElementById("footer");// 给footer加点击事件footer.onclick = function() {alert("这是菜鸟教程的版权信息~");};
</script>
<body><div id="footer">版权 © runoob.com</div> <!-- 点击会弹提示 -->
</body>

如果没有 id,JavaScript 要找到目标元素会很繁琐(比如需要通过 “标签名 + 层级” 查找,代码变复杂且容易出错)。

4. 特殊场景:实现页面内跳转

如果网页很长(比如一篇万字文章),想点击某个链接直接跳转到页面内的 “某一部分”,也需要用 id 来实现 “锚点跳转”。

比如你的代码中,想加一个 “回到顶部” 的链接,就可以给标题栏加 id,然后通过链接定位到它:

<body><!-- 锚点链接:href="#header" 表示跳转到id为header的元素 --><a href="#header">回到顶部</a><div id="header">主要的网页标题</div> <!-- 跳转目标 --><div id="menu">菜单...</div><div id="content">很长很长的内容...</div> <!-- 假设内容很多,页面会滚动 -->
</body>

点击 “回到顶部” 后,页面会直接滚动到 id="header" 的标题栏位置,这是没有 id 很难实现的功能。

总结:id 的本质是 “元素的唯一身份证”

HTML 中每个元素的 id 必须是唯一的(比如不能有两个 <div id="menu">),就像每个人的身份证号唯一一样 —— 通过这个 “唯一标识”,开发者能快速读懂代码、CSS 能精准控制样式、JavaScript 能轻松操作元素。

你当前的代码虽然用行内样式能运行,但如果后续要改样式、加交互,id 就会成为必不可少的 “工具”,这也是为什么实际开发中几乎每个关键元素(如头部、导航、内容区)都会加 id 的原因。

12 HTML 速查列表

HTML 速查列表 | 菜鸟教程https://www.runoob.com/html/html-quicklist.html

13 HTML 标签简写及全称

HTML 标签简写及全称 | 菜鸟教程https://www.runoob.com/html/html-tag-name.html

14 HTML 总结 、后续学习路线

HTML 总结 | 菜鸟教程https://www.runoob.com/html/html-summary.html

http://www.dtcms.com/a/474962.html

相关文章:

  • 从UI设计师到“电影魔术师”:After Effects中的FUI(科幻电影界面)设计工作流
  • 如何修改PPT输出图片的分辨率,提高清晰度
  • 做便民网站都需要提供什么电商网站前端模板
  • 菏泽市城乡和建设局网站wordpress主题简
  • 多屏合一网站建设网络运营者不得泄露
  • 控制台字符动画-小球弹跳
  • 轻松Linux-11.线程(上)
  • 使用 MQ 解决分布式事务一致性问题
  • 中国石化工程建设公司网站保山市建设厅官方网站
  • 电子商务网站建设需要哪些步骤聚成网站建设
  • 前端开发指南,前端开发需要学什么
  • 一个网站设计的费用搭建影视网站违法
  • 深入解析 YOLO v2
  • 网站建设开票计量单位网站建设宣传素材
  • wordpress插件怎么使用兰州搜索引擎优化
  • Mysql初阶第七讲:Mysql复合查询
  • 代码随想录 101.对称二叉树
  • 深圳网站建设哪家比较专业大学城网站开发公司
  • 制作静态链接库并使用
  • 西方设计网站vs2010网站开发与发布
  • 网站维护工作的基本内容施工企业质量管理体系认证几年
  • 网站建设教程pdf下载企业官网网页设计
  • 重启MySQL,为何重启后MySQL数据“回滚”了?
  • 非洲购物网站排名文创产品设计包括哪些方面
  • Linux 文件内容查看与编辑
  • 2022 CSP-J复赛题
  • 【cubeide】IIC通信
  • python学习之访问模式和文件定位操作
  • CTF攻防世界WEB精选基础入门:simple_php
  • CodexField 热度登顶:内容资产化赛道的加速信号