首页 > 其他分享 >Study Notes 之 回顾 HTML 基础

Study Notes 之 回顾 HTML 基础

时间:2022-11-10 22:34:10浏览次数:77  
标签:编码 网页 标签 Study 我们 HTML Notes 图片


LZ-Says:终于明白了鸡大说的,技术,沉淀,所谓的孤寂以及背后的坚持。比心,祝好~



Study Notes 之 回顾 HTML 基础_HTML


前言

搞前段也搞了有一段日子,感觉嘛,还好。

还是有很多的属性,有点蒙,写起来还是不能行云流水。

大佬说过,这个没有任何捷径可选,唯有多练,多练。

Today,简单整理总结一下,算是为之前的部分前段,做个回顾。

只有根基打牢固,后续的骚技巧才能玩的嗨皮。LZ 一开始明白,却没有理解。

而今,为了未来,打好基础,加油~!!!

一、HTML 基础部分

东西很基础,如有不对,请指正,3 Q~

  • 首先来说,什么是 HTML?
    身边常见的例子,网页,就是 HTML,当然这里面还包含着例如 PHP、JSP 等等,LZ 这里统称网页无可厚非吧。那么来看一下确定术语吧。
    HTML(Hypertext Markup Language):超文本标记语言
  • 那么,一个网页又是由什么组成?
    我们看到的最实际的网页,往往包含了很多内容,网页跳转连接、图片、文字描述、各种好看好玩的效果。嗯,我们表面看到的是这些。而实际中,网页(HTML)则主要由三个部分组成分别为:
  • 结构: HTML 用于描述页面的结构;
  • 表现: CSS 控制页面中元素的样式;
  • 行为: JS (Java Script)响应用户操作。
  • 既然说了网页的组成,那么它标准格式又是什么?
<html><!-- 根标签,有且只有一个 -->
<head><!-- 设置头部信息(帮助浏览器解析网页),不会在网页中直接显示 -->
<title>网页标题</title>
</head>

<body><!-- 此处包含用户可见内容 -->
<!-- 用户可见内容 -->
</body>
</html>
  • 再说说我们一般都会在代码中写一些注释,那么在 HTML 中注释又是什么样呢?
<!-- 
注释内容不会显示在网页,在源代码中会显示
一般主要对代码进行描述,方便后续阅读维护
-->
  • 小伙伴都知道,在我们实际开发中总会遇到各种版本,而每个版本一样却又不一样。以 Android 为例,5.0 开启的后续版本都需要我们开发者进行兼容,那么相对来说,HTML 目前使用较为广泛的版本又是哪儿些?
    HTML 4、XHTML 以及 HTML 5(常用)
  • 在我们开发时,都需要指定某种规则,或者告知程序需要按照某种规则进行解码,以 Android 为例,Gradle 这个估计大部分都被坑过吧。而 HTML 中,又该如何指定当前使用的 HTML 版本呢?我们下面以最常见的 HTML 5 为例,我们只需要在根标签上添加如下声明即可:
<!DOCTYPE HTML>
  • 上面说到我们都需要指定某种规则,或者依据某种规则告知程序我们希望做的事情,那么 HTML 也为我们提供了俩种解析模式:
  • 标准模式: (Standards Mode)
  • 怪异模式: Quirks Mode
    在正常模式下解析时,当然我们的网页对用户显示正确内容,而怪异模式,则会在解析过程中出现一些不可预期的行为,最终导致的用户体验性较差。So,我们必须在页面中编写正确的 Doctype,也就是告诉网页应该按照何种规则解析我们的网页。
  • 有时候,尤其在初学者时,常常会出现乱码原因,那么为什么会出现乱码呢?
    总结来讲,出现乱码的根本原因是因为编码和解码此阿勇的字符集不同导致。
    首先,由于计算机底层只能识别二进制文件,即使我们通过 Java 也好,还是其他语言编写的代码也好,最终都变成了机器可识别的二进制文件。
    刚刚也说过,编码和解码,那么他俩又是什么?
  • 编码:依据某种规则将字符转换为二进制编码;
  • 解码:依据某种规则将二进制编码转换为字符;
    二者之间简单来讲就是一个转换的过程,通过将我们编写的编码成二进制文件使机器可正确识别并执行我们预期操作,随后将二进制编码解码输出。
  • 那么关于这个 HTML 乱码问题,又该如何解决?
    第一种方式: 说白了,出现的问题就是因为二者不一致,那么只要将编码和解码规则指定为同一个即可嘛。例如编码采用 GB-2312,那对应的解码也采用 GB-2312 不久好了么。
    第二种方式: 其实就是在第一种方式的基础完善而已,即编码和解码采用国际通用规则,也就是 UTF-8 即可。
  • 小伙伴说了,你叨叨半天,那么具体该如何操作呢?
...
<head>
<meta charset="UTF-8"/>
...
<head>
...
  • 小伙伴说了,这个 meta 又是什么鬼呢?它能干嘛?
    这里简单讲述下:meta 标签主要作用便是设置网页的一些元数据,例如网页的字符集、关键字、简介等。
  • 小伙伴又说了,能给我演示几种关于 meta 的使用么?
    meta 可设置网页关键字,方便搜索引擎搜索,好的关键字也利于提升搜索引擎排名。
<meta name="keyworks" content="贺,大,宝"/>

也可以指定网页描述:

<meta name="descripiton" content="测试网页描述"/>

还可以设置请求的重定向:

<meta http-equiv="refresh" content="请求时间(秒);请求目标路径"/>

- 小伙伴说,刚刚你说的字符集能大概说下不?

为了方便,LZ 这里直接截取 W3C School 为我们整理的部分内容。

Study Notes 之 回顾 HTML 基础_搜索引擎_02


简单理解,就是不同国家自身独特的规则以及世界通用规则的区别。

二、HTML 常用标签

标签可细分为:

  • 成对标签;
  • 自结束标签。

按照字面意思来讲,成对标签,一对一对的,例如:p /p。而自结束标签则单身狗,一人吃饱全家不饿,例如换行符 br/。

  • 标题标签:标题一共有 6 个。h1 最大,h6 最小。对于搜索引擎来讲,h1 重要性仅次于 title,搜索引擎检索完 title,会立即查看 h1 中的内容,So,h1 也算影响搜索引擎排名因素之一。
<body>
<h1>一级标题</h1>
<h2>二级标题</h2>
<h3>三级标题</h3>
<h4>四级标题</h4>
<h5>五级标题</h5>
<h6>六级标题</h6>
</body>

显示效果如下:

Study Notes 之 回顾 HTML 基础_搜索引擎_03

  • 段落标签:描述一个段落文字内容。独占一行且行与行之间具有默认边距。
<p>我是 p 标签,我代表段落</p>

显示效果如下:

Study Notes 之 回顾 HTML 基础_html_04

  • 换行符,自结束标签,代表换下一行。
<p>
锄禾日当午,汗滴禾下土。<br>
谁知盘中餐,粒粒皆辛苦。
</p>

显示效果如下:

Study Notes 之 回顾 HTML 基础_搜索引擎_05

  • 水平线标签,hr
<hr/>

演示效果:

Study Notes 之 回顾 HTML 基础_HTML_06

  • 图片标签:img 主要俩个属性为:
  • src:图片地址;
  • alt:主要用于图片异常时,对图片的描述占位。其次的作用是为例便于搜索引擎识别不同类型的图片,如不设置则搜索引擎不会对此图片进行检索搜录。
<img alt="HLQ_Struggle" src="https://avatar.csdnimg.cn/E/8/D/1_u012400885.jpg"/>

显示效果如下:

Study Notes 之 回顾 HTML 基础_HTML_07


上图显示图片太大,我们将其宽度设置下,使其变小:

Study Notes 之 回顾 HTML 基础_搜索引擎_08


这个时候,高度也发生变化。

所以,这里需要记住一点:如果单独设置宽或者高,则会自动调整图片比例。

那么下面尝试同时测试宽高看下效果:

Study Notes 之 回顾 HTML 基础_html_09


路径分为俩种:相对路径以及绝对路径。

简单描述下:相对路径,相对于某个项目下某某图片。当项目地址发生改变时并不影响图片使用。而绝对路径,例如:/user/hlq/img.png ,当我将图片移动其他目录下,再使用此地址,则发现图片应用不到了。

一般在实际开发中,我们都会指定图片的相对路径,而不是绝对路径。
这里简单说下图片的格式,图片的格式一般有如下几种:

  • jpeg(jpg): 支持的颜色较多且可压缩,但是不支持透明,一般使用此格式来缓存照片。
  • gif: 支持颜色较少,支持动态图。
  • png: 支持颜色较多且支持复杂的透明。
  • webp: 图片较小,兼容性会有些问题。
  • .9png: 可伸缩性图片,也是按照指定规则进行拉伸。
  • 超链接标签:a 标签,可以从一个页面跳转另一个页面。
<a href="javascript:void(0)">This is HLQ-Blog.</a>

显示效果如下:

Study Notes 之 回顾 HTML 基础_搜索引擎_10


很明显看到,当鼠标浮上时,页面左下角会显示出当前链接的地址。

a 标签中有几个关键属性,我们一起来看下。

target 规定打开页面的位置,关键属性如下:

  1. _self:默认在当前窗口打开
  2. _blank:在新页面打开网页
  3. 可以设置一个内联框架 name 属性,在指定的内联框架打开此页面

href:跳转目标。设置 # 跳转当前页面顶部

  1. ​www.xxx.com​​:跳转指定网址;
  2. #ID:跳转指定 ID 处;
  3. mailto:打开本地默认邮箱;
  • center 居中标签,将包裹的内容居中。
  • 内联框架 iframe:将某个网址内嵌当前网页。不推荐使用,搜索引擎不会检索。
<iframe src="javascript:void(0)"></iframe>

显示效果如下:

Study Notes 之 回顾 HTML 基础_搜索引擎_11

特殊字符

假设我们有个需求,要在网页中输出如下内容:

a<b>c

很 easy,是不是?来个代码。

<p>
a<b>c
</p>

来个效果图:

Study Notes 之 回顾 HTML 基础_搜索引擎_12


咦,字母 b 以及大小与的符号哪儿去了呢?

这里解释下,< b > 在 HTML 代表加粗,直接这样写,浏览器会将其识别为一个标签解析,那么我们如果想要正确显示需求怎么办?

别着急,我们先来看下 HTML 中有用的字符实体,也就是特殊字符,

Study Notes 之 回顾 HTML 基础_html_13


So,针对如上需求,我们简单修改下代码:

<p>
a<b>c
</p>

查看最后效果:

Study Notes 之 回顾 HTML 基础_HTML_14


最后我们再列举一个特殊字符:

<p>
我是 HLQ_Struggle
</p>

<p>
我是   HLQ_Struggle
</p>

在上面的代码中,我们为其中的一段话中间加了几个空格,而为另一行文字则是使用标记符号,也就是实体名称。

那么,他俩之间的效果又是什么样的呢?一起来看。

Study Notes 之 回顾 HTML 基础_特殊字符_15


ummm,为什么会这样呢?

简单说下,即使你在 HTML 中打了 n 个空格,在浏览器解析过程中,依旧会被认为只有一个空格。那么在某些变态需求中需要我们输出多个空格时,直接采用实体名称即可。

HTML 规范

  • 凡事,都讲究个规矩,那么在 HTML 的规矩又是什么呢?
    HTML 规范,严格意义应该是 XHTML 规范。
  • HTML 不区分大小写,但是一般都小写;
  • HTML 中注释不能嵌套;
  • HTML 标签必须结构完整,要么成对出现,要么自结束标签;
  • HTML 会自动修正我们编写过程中遇到的一些问题,例如成对标签,只写一个,浏览器会自动为你修复结束标签,但是很扯犊子的那就 Says GoodBye;
  • HTML 标签可以嵌套,但是不能交叉嵌套;
  • HTML 标签属性必须有值且必须加引号;

End

感谢各位观看,如有不正请指出,欢迎沟通交流~

个人公众号

不定期发布博文,最近有点忙,感谢老铁理解,欢迎关注~


Study Notes 之 回顾 HTML 基础_搜索引擎_16

标签:编码,网页,标签,Study,我们,HTML,Notes,图片
From: https://blog.51cto.com/u_13346181/5842267

相关文章

  • 学习笔记 之 聊聊 HTML 那些标签(三)
    LZ-Says:找到你了,却转了身。。。表单<form>简述表单是一种用于从用户收集输入数据的HTML机制,可以理解为表单是一个包含表单元素的区域,表单元素是允许用户在表单中输入......
  • Android Study之图解配置adb
    LZ-Says:话说中午看到苹果将要发布所谓的中国红,,,心里顿时有些小恶心,,,丫的,,,期待好久,,,就是这个结果,,,还是怀念乔帮主的时代啊~身为一名Android开发,ADB这个东西不可避免都会用到,当你如......
  • 算法 Notes|LeetCode 26. 删除排序数组中的重复项 - easy
    历史LeetCode刷题文章:​​算法Notes|LeetCode349.两个数组的交集-easy​​​​算法Notes|LeetCode14.最长公共前缀-easy​​​​算法Notes|LeetCode1.两数之和......
  • AS Notes|记录日常开发遇到的 AS 问题(不断更新。。。
    theme:channing-cyan我们走过了青春,却离别在了秋季。。。先放一张目前AndroidStudio版本图:占楼,看了下掘金之前草稿箱出现图片丢失情况,先发文,后续慢慢更新…1、Git显示......
  • Android Study 将DB打包APK
    LZ-Say:最近天有点凉了,小风嗖嗖的~各位注意身体~还记得项目中有相关城市以及区县联动显示,之前老版本是将这些内容保存文本,之后读取,转化,显示。挺麻烦的,所以打算直接弄成数据库......
  • Android Study 之学(kao)习(bei)官方关于64k异常处理 ^_^
    LZ-Says:在外面呆了一年又一年,似乎都快忘记当初出来的目的,不过,幸好,不忘初心~给家里买点东西,家里开心,我也开心~这就够了。前言随着APP的一次又一次迭代,APP的体积也越来越大,这......
  • Android Study 之冷启动优化(解决启动短暂白屏or黑屏)
    LZ-Says:话说真正负责项目后才发现,想要软件越来越好,就要从细节抓问题,去解决问题,这样我们的软件才会越来越好~前言今天下班路上闲的无聊随便点了几个app,包括正在负责的几个项......
  • Android Study之总结使用ListView时需要去除相关效果的属性
    LZ-Says:各种忙啊。。。话说虽然之前推出一个RecyclerView替代了ListView以及GirdView,但是ListView依旧是ListView,掌握点相关知识多少还是有点用处的。使用ListView时,不免......
  • Android Study 之 极光推送使用心得以及记录
    LZ-says:啧啧,最近风起云淡,快过年喽~~~又是一件纠结的事儿。。。前言最近项目遇到推送,与后台贱人于一合计,果断采用了极光推送。在使用过程中,有爽有不爽,特意再次记录下。使用记......
  • html屏蔽右键、禁止复制与禁止查看源代码的几种方法
    方法一:左右键屏蔽先来一种最简单的方法,它直接在body属性定义了oncontextmenu,使得右键的值为false,起到了屏蔽右键的效果。<bodyoncontextmenu=self.event.returnValue=f......