HTML笔记整理


    学了一点最基本的HTML,写个博客记录一下,也方便以后自己复习。欢迎指正~

标签和属性

<!DOCTYPE html>

    (HTML5的)文档申明,不区分大小写。

<html lang="zh">
<!-- balabala……顺便,这是注释 -->
</html>

    这是HTML的根标签。lang(language的缩写)是html根标签的一个属性。属性可以在标签中设置,和标签或其他属性名用空格隔开,是一个名值对结构(名 = 值)。就lang而言,其属性值"zh"表示中文,"en"表示英文。

    <head>和<body>是根标签的两个子标签

<head>
    <meta charset="utf-8">
    <title>Volumtuous</title>
</head>

    其中,<meta>标签可以设置网页的元数据。所谓元数据(Metadata)可以理解为确定网页基本属性的数据。在这里使用charset属性,来设置网页的字符集,避免乱码(一般用utf-8)。
    <title>标签,顾名思义,用于确定网页的标题,它会出现在浏览器的标签栏上:
在这里插入图片描述
    <head>标签中大多进行一些网页本身的设置,其内容一般不在页面上显示,真正显示在页面上的内容写在<body>标签中。

<body>
    <h1>我的<font color="red" size="18">第一个</font>标题</h1>
    <h2>我的第二个标题</h2>
    <h3>我的第三个标题</h3>
    <h4>我的第四个标题</h4>
    <p>我的第一个段落。</p>
    <p>我的第二个段落。</p>
    <p>我的第三个段落。</p>
    <p>我的第四个段落。</p>
</body>

h&p

    <hn>标签用于写网页的n级标题,最多6级,但一般只用1~3.
    这里可以在h和p标签中设置一些文字的样式,比如字体颜色、字体大小等。但不推荐在HTML中实现这些功能,表现的部分交给CSS完成。
    <p>标签用来写一个段落。

    标签一般成对出现,但也有单独出现的自结束标签(“/” 可加可不加),如:<img />、<input />等。

meta标签和实体

meta标签

    meta用于设置网页的元数据,即网页与生俱来的属性。例如,之前提到的charset:设置网页的字符集。
    可以自己设置元数据,用name + content组合拳:
    name:指定数据的名称
    content:指定数据的内容

<meta name="keywords" content="Volumtuous,导航,HTML">   
<meta name="description" content="这是一个很菜的网站!">

    用keywords设置网页的关键词,便于搜索引擎分类查找,可以同时指定多个关键字,英文逗号隔开。
    description:网站的自我介绍,显示在搜索引擎的搜索结果。
    比如CSDN:
CSDN主页源码截取

百度CSDN
    还有一些其他的meta标签,例如:

<meta http-equiv="refresh" content="3;url=http://course.zju.edu.cn/">

    可以将网页重定向到新的网站,3秒后转到一个神奇的网站。

实体

    在HTML中,多个空格默认会被解析为一个空格,因此,以下两个是等效的。

<p>真   棒!</p>
<p>真 棒!</p>

真棒!
    那如果我就要打好几个空格怎么办呢?类似地,如果我需要输入小于号,大于号等等,也都会存在这个问题。
    这时候就需要用到“实体”,我把他理解为一种“转义字符”。例如,空格的实体是“&nbsp;”;小于的实体是“&lt;”;大于的实体是“&gt;”;版权符号©是“&copy;”等等,可以在这里(来自w3school)中查询。

<p>真   棒!</p>
<p>真 棒!</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;棒!</p>
<p>&lt;h1&gt;&nbsp;&lt;/h1&gt;</p>
<p>&copy;</p>
<p>&lt;!-- 这不是一个注释 --&gt;</p>

实体合集

语义化标签

  • HTML注重的是结构和语义,而不是样式。

块元素(block element)

    在页面中独占一行的元素称为块元素。所以h标签是一个块元素。在p标签中的内容表示一个段落,也独占一行,所以p标签也是一个块元素。
    <hgroup>标签用来给标题分组,可以将一组相关的标题放在一个group中。

<hgroup>
	<h1>hao</h1>
	<h2>henyoujingshen</h2>
</hgroup>

    <blockquote> 表示引用,是块元素,独占一行。

<p>鲁迅曾经说过:</p>
<blockquote>
    这句话我没说过!
</blockquote>

选自鲁迅《我没说过》

行内元素(inline element)

    有些标签不会独占一行,这种标签叫行内元素。例如:

<p><em></em>棒啊!</p>
<p><strong>真棒!</strong></p>
<p><mark>针不戳</mark></p>

的运行结果是
inline_element

    可以直观地看到,三个属性分别对应了斜体、加粗和高亮。但这些并不是HTML所关心的内容,就语义而言,使用 <em>>标签来表示强调的文本;使用 <strong>标签来表示重要文本;使用 <mark> 标签来表示标注的,或突出显示的文本。
    同样表示引用,<q>标签就是一个行内元素,不独占一行:

子曰:<q>qwq</q>

dbq!

布局标签(结构化语义标签)

  • <header>表示网页的头部;
  • <main>表示网页的主体部分(一个页面中唯一);
  • <footer>表示网页的底部。

    即一个网页可以被分为 上、中、下 三部分。

  • <nav> abbr.navigator导航
  • <aside> 表示和主题相关的其他内容(侧边栏)
  • <article> 表示一个独立的文章
  • <section> 表示一个独立的区块。以上都不合适时,就可以用section;其他

    以上都只表示语义,在没有CSS的情况下,显示效果都是一样的。而且是H5新增的,用得不多。

最常用的两个:
    <div> 块,没有任何语义,就是用来表示一个区块。目前来讲,div还是最主要的布局元素。
    <span> 行内元素,也没有任何语义,一般用于在网页中选中文字,和div一样是主要使用的布局元素。

关于规范

    网页中一般用块元素对页面进行布局,行内元素主要用于包裹文字。一般情况下会在块元素中放行内元素,而不会相反。
    块元素中基本上什么都能放,除了p中不能嵌套块元素。

    但实际上,浏览器在解析代码时会修整不规范的内容,包括:

  • 标签写在根元素外部
  • p元素中出现块元素
  • 根元素中出现了除head和body以外的子元素
  • 漏写结束标签 / 开始标签
  • … …

    在存放到内存时,这些不规范操作会被纠正,但直接查看到的网页源码不会有改动,可以F12在element中看修整后的代码。
    以p标签中出现块元素(h标签)为例:

<p><h1>我就要在p里面!</h1></p>

运行结果:
那你好霸道啊
源码
源码
而在控制台中已被纠正:
F12
    但这不意味着就能乱写,修正不一定符合预期,可能出现潜在的问题。

List(列表)

分类:

  • 无序列表 - <ul>
  • 有序列表 - <ol>
  • 定义列表 - <dl> - 使用<dd>对内容进行解释
<ul>
	<li>aaa</li>
	<li>bbb</li>
	<li>ccc</li>
</ul>
    <!-- · -->

<ol>
	<li>铅笔</li>
	<li>尺子</li>
	<li>橡皮</li>
</ol>
	<!-- 1 2 3 -->

<dl>
	<dt>结构布局</dt>
	<dd>用HTML实现</dd>
</dl>

运行效果
list
    可以看到,最直观的区别就是列表的样式不同,但就如之前讲到的,样式不是HTML所关心的内容。事实上,在开发过程中,1 2 3 和 · 为了显示的统一都会去掉。
    ul和ol区别不大,dl用得相对较少,ul用得最多。另外,列表之间还可以互相嵌套:

<ul>
	<li>aa
		<ul>
			<li>aa
				<ul>
					<li>aa</li>
				</ul>
			</li>
		</ul>
	</li>
</ul>

list嵌套

超链接

    利用超链接可以跳转到一个新的网页。超链接是行内元素,但它可以嵌套任何元素,除了它自己。

<a href="http://course.zju.edu.cn/">超链接1</a>

    href是他的一个属性,属性值指定跳转目标的路径。这个路径可以是绝对路径(如上);也可以是相对路径,当我们需要跳转到一个服务器内部时,一般会使用相对路径。
    此外,href的属性值还可以是某一个标签的id(每一个标签都可以添加一个id属性,id是元素的唯一标识),在id前加上#就可以。比如,我在最后一个标签上加了一个id=“bottom”,那么就可以通过

<a href="#bottom">To Bottom</a>

实现跳转到页面底部。类似地,我们可以跳转到任意标签的位置。特殊地,href="#"可以回到顶部。

    但如果目标位置没有标签怎么办?
    事实上,超链接只是<a>标签的一种特殊用法。<a>标签的名字叫“锚”(anchor)。这个名字很生动地体现了下面这种用法:

<a id="top"></a>
<a href="#bottom">To Bottom</a></p>
<p>lorem</p>
<a href="#top">To Top</a>
<a id="bottom"></a>

即,在<a>标签上加id,以标记一个位置,就好比下了一个锚点,访问某个id就转到了相应的位置。这样我们就可以跳转到页面的任意位置。

另外,还有target属性,可以指定超链接打开的位置。

  • _self 在当前页面中打开超链接(default)
  • _blank 在一个新的页面中打开超链接
<!-- 试试这个! -->
<a href="javascript:;">狂按有惊喜!</a>

替换元素

图片标签

    引入一个外部的图片,是一个替换元素,介于块元素和行内元素之间,具有两种元素的特点,但他不独占一行。有以下几个常用属性:

  • src属性
        目标图片的路径,同样可以是绝对路径或相对路径。
  • alt属性
        图片内容的描述,默认情况下不会显示,但有些浏览器会在图片无法加载时显示,主要作用是给搜索引擎看(即,根据alt中的内容识别图片)。如果不写,则不会被搜索引擎找到。
  • width,height属性
        顾名思义。如果两个只改了一个,则会等比缩放;同时改变,则按改的来。所以很少同时改。PC端不建议修改图片大小:小改大,失真;大改小,浪费内存(让美工裁)。但是。移动端经常缩放,一般大图缩小。
<img src=".\DATA\IMG\doge.jpg" alt="gougou" width="240">
	<!-- 这里用了相对路径 -->

狗狗!

图片格式

  • jpeg(abbr. jpg)
    - 支持的颜色较多,不支持透明,不支持动图
    - 一般用来显示照片
    - 可以压缩

  • gif
    - 支持的颜色较少,支持简单透明,支持动图
    - 适合颜色单一的图片,动图

  • png
    - 支持的颜色丰富,支持复杂透明,不支持动图
    - 专为网页而生

  • webp
    - 谷歌专门用来表示网页中图片的一种格式
    - 支持颜色丰富,支持复杂透明,支持动图,而且文件特别小
    - 致命缺点:兼容性差

  • base64
    - 将图片用base64进行编码,这样可以直接将图片转换为字符,通过字符的形式引入图片
    - 磁力链接就是类似原理
    - 一般只有需要和网页一起加载的图片才会用base64
    (网页会向服务器请求引入外部图片等,导致这些图片显示出来会有延时,而base64没有延时,和网页一起出现)

原则:效果一样用小的,效果不同用好的。

内联框架

    作用和img非常像,用于向当前页面中引入一个其他页面,属性:

  • src 引入网页的路径
  • frameborder 边框有无
  • width height 一样
<iframe src="https://www.csdn.net/" width="900" height="600" frameborder="1"></iframe>

内联框架

音视频

    <audio>标签 用于引入一个外部的音频文件;
    <video>标签 用于引入一个外部的视频文件。
    音视频类似,有以下几个常用属性:

  • controls 添加后允许用户控制播放,不需要属性值
  • autoplay(大部分浏览器都不会自动对音乐进行播放)自动播放,也不需要属性值
  • loop 循环播放,同样没有属性值
<audio src=".\DATA\audio\trash_no_3.mp3" controls></audio>

    除了通过src,还可以用过source指定路径。将audio写成代码块:

<audio controls>
	Sorry, your browser doesn't support this media, please upgrade it!
	<!-- 这里的文本内容可以被不支持audio的浏览器看到,支持的浏览器会直接去看source里的src -->
	<source src="DATA/audio/Trash_no_3.mp3">
	<!-- 还可以在这里加其他格式的音频,解决兼容性问题 -->
	<!-- 可以在这里加embed(见下),前面支持的就不会走到这里,写了这个就不用sorry了 -->
</audio>

<embed>标签(不推荐)
    用于在辣鸡浏览器(如IE8)中植入音视频。必须指定width和height,而且自动播放,而且还要在type中指定文件格式。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值