MDN扫盲班开课啦!(1)

2024-04-28 04:08
文章标签 扫盲 开课 mdn

本文主要是介绍MDN扫盲班开课啦!(1),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

大家好,我是梅巴哥er。从最近的经历来看,目前面临两大困境,一是知识面不足,基础不够扎实,二是实操能力还有所不足,对知识应用不够熟练。

针对第二点,已经开始了从页面布局到JS等多方面的练习。

为了解决第一点的问题,特意给自己开一个扫盲班,阅读MDN官方文档,拓宽知识面,补充基础知识。

从html开始阅读,并在阅读中记录自己的知识盲区,查漏补缺。同时,为了更好的掌握知识点,需要在记录时,给出代码demo,增加使用的能力。


MDNhtml官网:https://developer.mozilla.org/zh-CN/docs/Glossary/HTML

MDNhtml标签:https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element


空标签

标签中不需要包含文本,这些标签称为空标签,如 <img>

<img src="" alt="">
<br />
<hr />
<input />

HTML 文件通常会以 .htm 或 .html 为扩展名。

发布网站
  • 要花钱的

    • 买服务器和域名
  • 免费的

    • GitHub pages
    • Google App Engine
    • 这里有GitHub pages发布网站的讲解:https://developer.mozilla.org/zh-CN/docs/Learn/Getting_started_with_the_web/Publishing_your_website

在浏览器里输入一个网址到页面呈现,中间发生了什么?
  • 浏览器在域名系统(DNS)服务器上找出存放网页的服务器的实际地址(找出商店的位置)。
  • 浏览器发送 HTTP 请求信息到服务器来请拷贝一份网页到客户端(你走到商店并下订单)。这条消息,包括其他所有在客户端和服务器之间传递的数据都是通过互联网使用 TCP/IP 协议传输的。
  • 服务器同意客户端的请求后,会返回一个“200 OK”信息,意味着“你可以查看这个网页,给你~”,然后开始将网页的文件以数据包的形式传输到浏览器(商店给你商品,你将商品带回家)。
  • 浏览器将数据包聚集成完整的网页然后将网页呈现给你(商品到了你的门口 —— 新东西,好棒!)。

DNS

DNS: 域名系统服务器像是一本网站通讯录。当你在浏览器内输入一个网址时,浏览器获取网页之前将会查看域名系统。浏览器需要找到存放你想要的网页的服务器,才能发送 HTTP 请求到正确的地方。

真正的网址看上去并不像你输入到地址框中的那样美好且容易记忆。它们是一串数字,像 63.245.217.105。这叫做 IP 地址,它代表了一个互联网上独特的位置。IP并不容易记住,这就是DNS被发明的原因。


语义化标签
  • header : 页眉

  • nav:导航栏

    • 包含页面主导航功能。其中不应包含二级链接等内容。
  • main

    • 主内容。主内容中还可以有各种子内容区段,可用articlesectiondiv等元素表示。
    • 存放每个页面独有的内容。每个页面上只能用一次main,且直接位于body中。
    • 最好不要把它嵌套进其它元素。
  • article:包围的内容即一篇文章,与页面其它部分无关(比如一篇博文)。

  • section

    • <article> 类似,但 <section> 更适用于组织页面使其按功能(比如迷你地图、一组文章标题和摘要)分块。
    • 一般的最佳用法是:以 标题作为开头;也可以把一篇 <article> 分成若干部分并分别置于不同的 <section> 中,也可以把一个区段 <section> 分成若干部分并分别置于不同的 <article> 中,取决于上下文。
  • aside

    • 侧边栏,经常嵌套在main中。
    • 包含一些间接信息(术语条目、作者简介、相关链接,等等)。
    • 在与主内容又关联时使用
  • footer:页脚。

示例:我们用语义化标签,写一个这样的静态页面
在这里插入图片描述
demo代码:

<!--demo.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><link rel="stylesheet" href="demo.css">
</head>
<body><header>聆听电子天籁之音</header><nav><ul><li>主页</li><li>作品</li><li>项目</li><li>联系我们</li></ul><form action=""><input type="search" name="q" placeholder="要搜索的内容"><input type="button" value="搜索"></form></nav><main><article><h2>火星演唱会火热售票中</h2><br><p>这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊</p><br><h3>九九八十一 传唱经典</h3><br><p>这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊</p><br><p>这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊</p><br><h3>达拉崩吧 生僻字</h3><br><p>这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊</p><br><p>这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊这里有好多的字啊</p><br></article><aside><h2>相关链接</h2><ul><li><a href="javascript:;">言和</a> </li><li><a href="javascript:;">乐正绫</a></li><li><a href="javascript:;">初音未来</a></li><li><a href="javascript:;">三无Marblue</a></li><li><a href="javascript:;">二次元欢迎你</a></li></ul></aside></main><footer>© 2050 某某保留所有权利</footer>
</body>
</html>
/*demo.csss*/
* {padding: 0;margin: 0;
}body {background-color: rgb(169, 169, 169);line-height: 1.5em;
}header, nav, main, footer {width: 758px;margin: auto;
}header {height: 72px;font-size: 30px;text-align: center;line-height: 72px;font-weight: 700;color: #fff;
}nav {height: 50px;background-color: rgb(102, 204, 255);
}nav ul {float: left;list-style-type: none;width: 468px;height: 100%;
}nav ul li {display: inline-block;margin: 0 33px;text-align: center;line-height: 50px;
}nav form {float: right;margin-right: 30px;width: 222px;height: 100%;text-align: center;line-height: 50px;
}nav form input:nth-child(1) {width: 150px;padding-left: 10px;box-sizing: border-box;border: none;outline: none;border-radius: 4px;
}nav form input:nth-child(2) {width: 60px;height: 24px;background-color: rgb(51, 51, 51);color: #fff;border: none;margin-left: 5px;
}main {height: auto;margin-top: 10px;overflow: hidden;
}main article {float: left;width: 552px;height: auto;background-color: #fff;padding: 5px;padding-top: 20px;box-sizing: border-box;
}main article h2 {text-align: center;line-height: 1.5em;
}main aside {float: right;width: 180px;height: 733px;background-color: rgb(102, 204, 255);/* overflow: hidden; *//* text-align: center; */
}main aside h2 {text-align: center;line-height: 3em;
}main aside ul {width: 100%;margin-left: 40px;
}main aside ul li {margin: 10px 0;
}footer {height: 56px;background-color: #fff;line-height: 56px;margin-top: 10px;box-sizing: border-box;padding-left: 5px;
}

规划网站:画草图

以上面我们写的<<聆听电子天籁之音>>的demo页面为例:

图片发不上来了,可以参考这篇文章。点击查看即可。

检查你的html页面是否通过了W3C标准

打开https://validator.w3.org/,把自己的网页地址输入到Address栏,并点击Check。如果有不符合的地方,会给出提示。

或者传一个文件,或者传一些html代码。都可以检测。

如果没有错误了,会给出这样的提示:

在这里插入图片描述

img标签的src文件名和alt描述
  • 搜索引擎会读取图像的文件名并把它们计入SEO。所以应该给图片取一个描述性的文件名,而不是乱取名字。
  • src引入的图片,不推荐用src="https://www.example.com/images/dinosaur.jpg"这种形式。因为需要经过DNS解析,加重浏览器负担,还存在一些安全隐患。
  • alt的描述,必须带上。

video和audio
  • source标签来引入资源。同时最好带上type属性。浏览器会通过检查type属性来迅速跳过那些不支持的格式。如果不写type,浏览器会尝试加载每个source文件,知道找到一个能正确播放的格式,这样会浪费大量时间和资源。比如,<source src="rabbit320.mp4" type="video/mp4">

  • 不要打开自动播放autoplay和循环播放loop功能,因为用户大概率会不喜欢。autoplay = "false" loop="false"

  • 初始化静音功能muted。值是布尔值,默认false,也就是不静音。

  • 用来缓冲角大文件的属性preload

    • 值是"none",不缓冲
    • "auto":页面加载后缓存媒体文件。
    • "metadata":仅缓冲文件的元数据。
  • 给音频加字幕文件track标签

<video controls><source src="example.mp4" type="video/mp4"><source src="example.webm" type="video/webm"><track kind="subtitles" src="subtitles_en.vtt" srclang="en">
</video>
<!--
kind属性有3个值,表示是哪种类型的字幕:subtitles(翻译字幕), captions(同步翻译对白), timed descriptions(文字转为音频)src中的文件格式是.vttsrclang属性是告诉浏览器用哪种语言来编写kind的字幕类型。en表示英语。-->

沙盒

一个允许包含在其里的代码以适当的方式执行或者用于测试,但不能对其他代码库(意外或恶意)造成任何损害的容器称为沙盒。

SVG

SVG是用于描述矢量图像的XML语言。


ps : meta viewport

在 HTML 文件中的 <head>标签里, 你将会找到这一行代码 <meta name="viewport" content="width=device-width">: 这行代码会强制地让手机浏览器采用它们真实可视窗口的宽度来加载网页(有些手机浏览器会提供不真实的可视窗口宽度, 然后加载比浏览器真实可视窗口的宽度大的宽度的网页,然后再缩小加载的页面,这样的做法对响应式图片或其他设计,没有任何帮助)。

响应式图片
<img srcset="elva-fairy-320w.jpg 320w,elva-fairy-480w.jpg 480w,elva-fairy-800w.jpg 800w"sizes="(max-width: 320px) 280px,(max-width: 480px) 440px,800px"src="elva-fairy-800w.jpg" alt="Elva dressed as a fairy"><!--
srcset:定义了一个图像集。里面包含图片名和真实宽度。320w就相当于320px,但是这里不用px做单位。sizes:定义了对应媒体条件和图片显示尺寸。
-->

突显图片主题内容

实际上就是把<picture>当做一个图片切换器,在不同的视宽上,显示出适合的图片。

<!--需要美术设计的:-->
<picture><source media="(max-width: 799px)" srcset="elva-480w-close-portrait.jpg"><source media="(min-width: 800px)" srcset="elva-800w.jpg"><img src="elva-800w.jpg" alt="Chris standing up holding his daughter Elva">
</picture>
<!--不需要美术设计的且能满足老式浏览器需求的-->
<picture><source type="image/svg+xml" srcset="pyramid.svg"><source type="image/webp" srcset="pyramid.webp"><img src="pyramid.png" alt="regular pyramid built from four equilateral triangles">
</picture>

iframe

一个很有用的嵌入页面的元素。

<!--把下面的代码放入编辑器中,并用浏览器打开,查看效果-->
<!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>iframe {border: 1px solid black;width: 300px;}.output {background: #eee;}</style>
</head>
<body><header>下面添加一个iframe,来看看效果:</header><iframe id="inlineFrameExample"title="Inline Frame Example"width="300"height="200"src="https://www.openstreetmap.org/export/embed.html?bbox=-0.004017949104309083%2C51.47612752641776%2C0.00030577182769775396%2C51.478569861898606&layer=mapnik"></iframe><footer>F12打开控制台,查看一下代码,是不是发现了一个 iframe元素?</footer>
</body>
</html>

在这里插入图片描述
有一个很经典的面试题,就是说说iframe的缺点。比如不利于seo,阻止了页面点击和加载事件,安全性问题等。但是仍然是一种常用的嵌入式元素。


通过继续学习,后续会持续更新补充。


以上。

这篇关于MDN扫盲班开课啦!(1)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/942302

相关文章

EEPROM 扫盲

随笔记录 1. 介绍 EEPROM,即电可擦可编程只读存储器。它是一种非易失性存储器,允许在不施加高电压的情况下进行擦除和重新编程操作。 2、特点 非易失性 即使在电源关闭后,存储在 EEPROM 中的数据也不会丢失。这使得它非常适合用于存储需要长期保存的配置信息、校准数据等。可擦写性 可以通过特定的编程方法对其进行擦除和重新编程,这为设备的参数调整和升级提供了便利。字节级可寻址 能够

JavaWeb开发编码系列(一)—— 编码问题前奏--扫盲贴

1、UNICODE,GBK,UTF-8区别 原文: http://www.cnblogs.com/cy163/archive/2007/05/31/766886.html 2、析Unicode和UTF-8 原文:http://blog.csdn.net/lesterjames/article/details/491619 http://www.blogjava.net

【统一身份认证】——概念扫盲

文章目录 一、为什么要有统一身份认证二、什么是统一身份认证三、统一身份认证的实现方案 一、为什么要有统一身份认证 随着企业业务系统的增多,每个系统都有一个用户名和密码,那么员工需要记住所有系统的用户名和密码,员工输错密码的可能性就会大大增加。如果员工信息发生变化,那么每个系统都要随着改变,对于员工以及员工管理人员来说是及其不方便的。在这个时候,我们就需要使用一套统一的员工信息,

JavaEE 第17节 网络通信知识扫盲

文章目录 前言一、网络通信的概念二、局域网&广域网   局域网(LAN,Local Area Network)   广域网 三、IP地址与端口号   1、IP地址   2、端口号 四、网络协议   1、概念&作用   2、协议分层(重要) 前言 此篇博客用于讲解网络编程中基础、必要的知识,所以即使是小白相信认真看也是能懂的。 文中涉及的一些概念、专有名词也不用深究具体的实现方式

通知:《自然语言及语音处理设计开发工程师》即将开课!

自然语言及语音处理设计开发工程师:未来职业的黄金选择 下面我们来看看证书颁发的背景:​ 为进一步贯彻落实中共中央印发《关于深化人才发展体制机制改革的意见》和国务院印发《关于“十四五”数字经济发展规划》等有关工作的部署要求,深入实施人才强国战略和创新驱动发展战略,加强全国数字化人才队伍建设,持续推进人工智能从业人员能力培养和评价,工业和信息化部电子工业标准化研究院牵头研制的SJ/T11805

GPS扫盲

GPS模块参数主要有接收灵敏度、定位时间、位置精度、功耗、时间精度等。根据不同的GPS芯片有不同的性能差异,在各项参数上都有差别,所以选择一款性能好的GPS模块,需要参照详细的各个GPS模块参数来选择。 以下是我们公司采用ublox芯片的GPS模块HT-1009U的详细参数:   模块性能 芯片 ublox UBX-G7020-KT 频率 L1, 1575.42MHz

【转载】DDR扫盲——关于Prefetch与Burst的深入讨论

DDR扫盲——关于Prefetch与Burst的深入讨论 1赞 发表于 2017/8/15 13:17:55 阅读(12692) 评论(1) 学习DDR有一段时间了,期间看了好多的资料(部分公司的培训资料、几十篇的博文,Micron的Datasheet,JESD79规范等)。但是有一个问题,想了好久(很多资料都没有说明白),至今才算搞明白,所以写一篇文章和大家分享一下。 如题,接下来要讨论

《AI人工智能证书》专项培训马上开课了!

由工业和信息化部电子工业标准化研究院颁发的《计算机视觉设计开发工程师》和《自然语言及语音处理设计开发工程师》专项证书培训课程马上开课啦! 证书颁发的背景:​ 为进一步贯彻落实中共中央印发《关于深化人才发展体制机制改革的意见》和国务院印发《关于“十四五”数字经济发展规划》等有关工作的部署要求,深入实施人才强国战略和创新驱动发展战略,加强全国数字化人才队伍建设,持续推进人工智能从业人员能力培养

EtherCAT扫盲,都是知识点

1. 什么是EtherCAT EtherCAT,全称Ethernet for Control Automation Technology,字面意思就是用于控制自动化技术的以太网。它是一种基于以太网的实时工业通信协议,简单说,就是让机器们通过网线互相聊天的高级方式。 EtherCAT 是最快的工业以太网技术,同时它提供纳秒级精确的同步。相对于设定了相同循环时间的其他总线系统,Ethe

大模型扫盲系列——大模型实用技术介绍_大模型底层技术是哪些

Gemma模型架构和参数计算 近期,大模型相关的技术和应用层出不穷,各个方向的论文百花齐放,底层的核心技术是大家公认的精华部分。本文从技术的角度聚焦大模型的实战经验,总结大模型从业者关注的具体方向以及相关发展,帮助打算参与到大模型工作的人高效上手相关工作。 基座模型参数 在动手实践之初,首要任务便是选取一款市场上表现卓越的基座模型,为各种任务打下坚实的基础。在这个领域,OpenAI的Chat