<电子幽灵>前端第一件:HTML基础笔记上

HTML基础笔记(上)

介绍

费曼学习法最重要的部分,即把知识教给一个完全不懂的孩子——或者小白。
为了更好的自我学习,也为了让第一次接触某个知识范畴的同学快速入门,我会把我的学习笔记整理成电子幽灵系列。
提示:文章的是以解释-代码块-解释的结构呈现的。当你看到代码块并准备复制复现的时候,最好先保证自己看过了代码块前后的解释。

本篇笔记主要来源于对 菜鸟教程:HTML教程的学习。

约定规范

这部分内容虽然并不是现行标准所硬性规定的,但为了保证开发的规则统一,以便于项目管理,同时减少后续标准更新时习惯新标准所用到的额外学习开销,建议先记在心里,并且在后续阅读时常回来看。

  1. < !DOCTYPE html >,html只能全部小写
  2. 如果出现开始标签,必须在后面出现对应的结束标签,无论需不需要。
  3. 空标签可以用自闭合标签来代替结束标签。
  4. 标签一律小写。
  5. 属性一律小写,属性值可以不小写

HTML介绍

如果要类比的话,HTML可以说是计算机领域的"魔法书(页)"。通过编程语言(类比成咒语?),让网页上显示出想要显示的文字、图像,乃至不同HTML之间的联系。

当前最新的标准被称为HTML5。

学习HTML简单之处在于,只要使用浏览器,就会有各种各样的现成HTML实例在等着你。任何一个网页,若想知道它背后的HTML文件,只需要按下F12打开开发人员工具即可;如果想要直接查看页面源代码,也是可以直接在右键选项中打开源代码文件。

同样的,如果想要知道自己写出的HTML文件的实现效果,也只需要把文件在浏览器中打开即可。或者很多其他笔记本也支持HTML语言,比如Markdown。

如果想在VSCode中实时浏览自己所写的HTML的实际效果,可以下载扩展Live Preview。

HTML基础

html文件的后缀是.html或者.htm。二者并没有区别。

在VSCode当中,如果新建了一个.html文件,并在文件中打下一个英文字符"!",并选择第一个缩写(直接按下Tab键)就可以唤起用中文编写的.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>
</head>
<body>
  
</body>
</html>

html标签、元素与属性

  1. < !DOCTYPE html >:表示html协议的版本。约定规范1
  2. < html >< /html >标签:表示整个html文档。
  3. < head >< /head >标签:包含了文档的元信息,相当于正式内容的修饰部分,比如作者、描述、关键词、字符集、标题、样式表、脚本等。给后面的正文内容做铺垫。
  4. < body >< /body >标签:包含了文档的正文内容。

上面的几个都是 html标签

所有html对象又是由标签(即尖头括号以及其中包裹的东西)包起来的。不同的标签有时可以用嵌套关系;

标签经常成对出现,即分为开始(开放)标签和在最开始加一个“/”的结束(闭合)标签。约定规范2

有一种标签不含有任何内容,即成为空标签。空标签也有开始标签和结束标签,不过通常也可以把他们写在同一个对应的"自闭合标签"当中。自闭合标签里也可以添加属性。 约定规范3 约定规范4

元素 一词和有时标签几乎同义,但是元素包含开始和结束标签,以及标签中间包含的元素内容。

对于元素而言,可以额外设置 属性。

属性可以为元素增加额外信息,一般写在开始标签中。格式为name=“value”,以键值对的形式存在。约定规范5

注:属性值必须包含在引号之内。如果属性值本身有双引号,则要把整个属性值用单引号包裹。

常用属性
属性描述
class为html元素定义一个或多个类名(classname)(类名从样式文件引入)
id定义元素的唯一id
style规定元素的行内样式(inline style)
title描述了元素的额外信息 (作为工具条使用)

HTMLbody段基础标签表

<!--该段代码部分由AI Fitten Code生成并已经过验证-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Hello World</title>
</head>
<body>
    <h1>第一大标题</h1>
    <h2>第二大标题</h2>
    <h3>第三大标题</h3>
    <h4>第四大标题</h4>
    <h5>第五大标题</h5>
    <h6>第六大标题</h6>
    <a herf="https://www.runoob.com">这是一段链接</a>
    <p>这是一个段落</p>
    <p>这是另一个段落</p>
    <ul>
        <li>列表1</li>
        <li>列表2</li>
        <li>列表3</li>
    </ul>
    <ol>
        <li>列表1</li>
        <li>列表2</li>
        <li>列表3</li>
    </ol>
    <img src="https://www.runoob.com/images/logo.png" alt="RUNOOB" />

    <table border="1">
        <tr>
            <th>姓名</th>
            <th>性别</th>
            <th>年龄</th>
        </tr>
        <tr>
            <td>张三</td>
            <td></td>
            <td>20</td>
        </tr>
        <tr>
            <td></td>
            <td>25</td>
        </tr>
    </table>
</body>
</html>

前端家族大概都是相通的,就像编程语言也有同样的基础逻辑一样。触类旁通大概就是如此。

基础常用标签

(排列顺序:上述代码从上到下依次出现)

标签解释常用属性
!–注释
h1~h6第一~第六大标题
a链接href:表明链接指向的URL
p段落
ul无序列表
li列表的一行(占一个序号)
ol有序列表
img图片src:表明图片的来源URL
width:指定图片宽度
height:指定图片高度
alt:图片的替代文本
(当图片无法显示,或者为视力障碍者朗读网页时,会显示alt内容)
table表格border:表格是否拥有边框(值只能为"1"或"")
tr表格的一行
th表格的表头单元格
td普通表格内容
页面装饰类基础常用标签
<!--该段代码部分由AI Fitten Code生成并已经过验证-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Hello World</title>
</head>
<body>
<hr />
<h1>Hello World</h1>
<p>Welcome to my website!</p>
<p>This is a <br></br>simple HTML page<br></br> with a heading and a paragraph.</p>
<hr />
</body>
</html>
标签解释常用属性
hr添加水平分割线
br手动换行

值得注意的是,浏览器几乎会忽略源代码所有的排版 。代码中的所有换行和缩进会被分别省略为一个空格。

文本装饰类基础常用标签
<!--该段代码由AI Fitten Code生成并已经过验证-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Hello World</title>
</head>
<body>
    <p>这是电脑自动输出的文字</p>
<br />
    <b>这是加粗字体</b>
<br />
    <i>这是斜体字体</i>
<hr />
    <u>这是下划线字体</u>
<br />
    <small>这是小号字体</small>
<br />
    <mark>这是标记字体</mark>
<br />
    <p>这是<sub>下标字体</sub></p>
<br />
    <p>这是<sup>上标字体</sup></p>
<br />
    <strong>这是强调字体</strong>
<br />
    <em>这是强调字体</em>
<br />
    <del>这是删除</del>
<br />
    <ins>这是插入</ins>
<br />
    <cite>用于某个艺术作品的标题</cite>
<br />
    <q>这是短引用</q>
<br />
    <abbr>这是缩写</abbr>
<br />
    <address>这是地址</address>
<br />
    <blockquote>这是引用文本</blockquote>
<br />
    <pre>这是预格式化文本</pre>
</body>
</html>
标签解释常用属性
b字体加粗
i斜体
u字体加下划线
small小号字体
mark高亮标记字体
sub下标字体
sup上标字体
strong加粗字体,用于强调
em斜体,用于强调
del文本加删除线
ins字体加下划线,用于表示插入文本
cite用于某个艺术作品的标题
q为内容加上引号,表示引用
abbr用于表示这段文字是某个缩写title:该缩写的全称是什么
address表示文档/文章作者的联系方式href:联系方式是什么
blockquote表示接下来的文本块是另一个文档的引用cite:引用源URL是什么
pre用预格式化文本

上面的表格和代码可以相互对照,逐渐在实际运用中实现对body内常用对象的熟悉和运用,HTML就算入门了。当然,这些还不够,之后的文章会对一些重要的标签进行详细补充。

尽管魔法的世界没有现实科技,现实世界里没有魔法,但是魔法和科技的理念都是相同的:借助人类所能掌控的力量,让更多人从中获益,进而达到促进社会乃至文明发展的目的。

  • 27
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是一个简单的HTML5 Canvas幽灵动画代码: ```html <!DOCTYPE html> <html> <head> <title>Canvas Ghost Animation</title> <style> canvas { border: 1px solid black; margin: 20px; } </style> </head> <body> <canvas id="myCanvas" width="400" height="400"></canvas> <script> var canvas = document.getElementById("myCanvas"); var ctx = canvas.getContext("2d"); // 设置幽灵的初始位置和速度 var x = canvas.width / 2; var y = canvas.height / 2; var dx = 2; var dy = -2; // 绘制幽灵 function drawGhost() { ctx.beginPath(); ctx.arc(x, y, 20, 0, Math.PI * 2); ctx.fillStyle = "#ffffff"; ctx.fill(); ctx.closePath(); ctx.beginPath(); ctx.rect(x - 20, y, 40, 40); ctx.fillStyle = "#ffffff"; ctx.fill(); ctx.closePath(); ctx.beginPath(); ctx.arc(x, y + 40, 20, Math.PI, Math.PI * 2); ctx.fillStyle = "#ffffff"; ctx.fill(); ctx.closePath(); } // 动画循环 function animate() { // 清除画布 ctx.clearRect(0, 0, canvas.width, canvas.height); // 绘制幽灵 drawGhost(); // 更新位置 x += dx; y += dy; // 碰到边界时改变方向 if (x + dx > canvas.width - 20 || x + dx < 20) { dx = -dx; } if (y + dy > canvas.height - 20 || y + dy < 20) { dy = -dy; } } // 每隔10毫秒执行一次动画循环 setInterval(animate, 10); </script> </body> </html> ``` 在这个代码中,我们使用了HTML5的`<canvas>`标签来绘制图形。我们通过`canvas.getContext("2d")`获取到一个2D绘图上下文,然后使用绘图上下文的方法来绘制幽灵。 我们使用`setInterval`函数来循环执行动画,每隔10毫秒执行一次`animate`函数。在`animate`函数中,我们首先清除画布,然后绘制幽灵。接着更新幽灵的位置,如果碰到边界则改变方向。最后,循环执行动画直到页面关闭。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

靈镌sama

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值