前端学习 HTML基础
Posted 猛男Banana君
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端学习 HTML基础相关的知识,希望对你有一定的参考价值。
目录
引言
这篇笔记会整理出html中最基础的知识点,比较适合小白(因为我也刚从小白变成菜鸟(●’◡’●)
初识Web
网页:主要是由文字、图像和超链接等元素构成,当然除了这些元素,网页中还可以包括音频、视频以及Flash等。
浏览器:是网页显示、运行的平台。
浏览器内核(排版引擎、解释引擎、渲染引擎):负责读取网页内容,整理讯息,计算网页的显示方式并显示页面。
Web标准
结构标准:用于对网页元素进行整理和分类(HTML)
表现标准:用于设置网页元素的版式、颜色、大小等外观属性(CSS)
行为标准:用于对网页模型的定义及交互的编写(javascript)
Web标准的优点
易于维护:只需更改CSS文件,就可以改变整站的样式。
页面响应快:HTML文档体积变小,响应时间短。
可访问性:语义化的HTML(结构和表现相分离的HTML)。编写的网页文件,更容易被屏幕阅读器识别。
设备兼容性:不同的样式表可以让网页在不同的设备上呈现不同的样式。
搜索引擎:语义化的HTML能更容易被搜索引擎解析,提升排名。
初识HTML
HTML:超文本标记语言
超文本的含义
1、超越文本限制 ,因为它可以加入图片、声音、动画、多媒体等内容。
2、超级链接文本,可以从一个文件跳转到另一个文件,与世界各地主机的文件连接。
HTML基本骨架
<!-- 页面中最大的标签 根标签 -->
<html>
<!-- 头部标签 -->
<head>
<!-- 标题标签 -->
<title></title>
</head>
<!-- 文档的主体 -->
<body>
</body>
</html>
HTML元素标签分类
1、常规元素(双标签)
<标签名> 内容 </标签名> 比如<body>
我是文字</body>
2、空元素(单标签)
<标签名/> 比如 <br/>
或<br>
标题HTML标签关系
嵌套关系:父子级包含关系
并列关系:兄弟级并列关系
如果两个标签之间的关系是嵌套关系,子元素最好缩进一个tab键的身位。如果是并列关系,最好上下对齐。
文档类型
用来说明你用的XHTML或者HTML是什么版本。<!DOCTYPE html>
告诉浏览器按照HTML5标准解析页面。
页面语言
lang指定该html标签内容所用的语言。
<html lang="en">
en 定义语言为英语 zh-CN定义语言为中文。
lang的作用:
1、根据根据lang属性来设定不同语言的css样式,或者字体。
2、告诉搜索引擎做精确的识别。
3、让语法检查程序做语言识别。
4、帮助翻译工具做识别。
5、帮助网页阅读程序做识别。
HTML常用标签
1、 排版标签:主要和css搭配使用,显示网页结构的标签,是网页布局最常用的标签。
标题标签h(h1~h6)
段落标签p:可以把 HTML 文档分割为若干段落
水平线标签hr
换行标签br
div和span标签:没有语义,是网页布局最主要的2个盒子
2、排版标签
b和strong 文字以粗体显示
i和em 文字以斜体显示
s和del 文字以加删除线显示
u和ins 文字以加下划线显示
3、标签属性(行内式)
使用HTML制作网页时,如果想让HTML标签提供更多的信息,可以使用HTML标签的属性加以设置。
<标签名 属性1="属性值1" 属性2="属性值2" …> 内容 </标签名>
<手机 颜色="黑色" 大小="5寸"> </手机>
4、图像标签img
属性 | 属性值 |
---|---|
src | URL(图像路径) |
alt | 文本(图像不能显示时的替换文本) |
title | 文本(鼠标悬停时显示的内容) |
width | 像素(设置图像的宽度) |
height | 像素(设置图像的高度) |
border | 数字(设置图像边框的宽度) |
PS:
a、标签可以拥有多个属性,必须写在开始标签中,位于标签名后面。
b、属性之间不分先后顺序,标签名与属性、属性与属性之间均以空格分开。
c、采取键值对的格式,即key="value"的格式。
<img src="mnd.jpg" width="300" height="300" border="6" title="帅哥靓照" />
5、链接标签(重点)
<a href="跳转目标" target="目标窗口的弹出方式">文本或图像</a>
target="_self" <!--默认窗口弹出方式,不跳转>
target="_blank" <!--新窗口弹出>
属性 | 作用 |
---|---|
href | 用于指定链接目标的url地址,(必须属性)当为标签应用href属性时,它就具有了超链接的功能 |
target | 用于指定链接页面的打开方式,其取值有_self和_blank两种,其中_self为默认值(原窗口),_blank为在新窗口中打开方式。 |
src 和 href 的区别
src 是引入资源的,href 是跳转url的。
1、src用于替换当前元素,href用于在当前文档和引用资源之间确立联系。
2、src是source的缩写,指向外部资源的位置,指向的内容将会嵌入到文档中当前标签所在位置;在请求src资源时会将其指向的资源下载并应用到文档内,例如js脚本,img图片和frame等元素。当浏览器解析到该元素时,会暂停其他资源的下载和处理,直到将该资源加载、编译、执行完毕,图片和框架等元素也如此,类似于将所指向资源嵌入当前标签内。这也是为什么将js脚本放在底部而不是头部。
3、href是Hypertext Reference的缩写,指向网络资源所在位置,建立和当前元素(锚点)或当前文档(链接)之间的链接。如果在文档中添加那么浏览器会识别该文档为css文件,就会并行下载资源并且不会停止对当前文档的处理。这也是为什么建议使用link方式来加载css,而不是使用@import方式。
PS:
a、外部链接 需要添加 http:// www.baidu.com
b、内部链接 直接链接内部页面名称即可。比如<a href="index.html">
。
c、如果当时没有确定链接目标时,通常将链接标签的href属性值定义为"#"(即href="#"),表示该链接暂时为一个空链接。
d、不仅可以创建文本超链接,在网页中各种网页元素,如图像、表格、音频、视频等都可以添加超链接。
6、注释标签
<!-- 注释语句 -->
快捷键:
整行注释:ctrl+/
局部注释:alt+shift+a
什么是XHTML
XHTML 指可扩展超文本标签语言。
1、XHTML 的目标是取代 HTML。
2、XHTML 与 HTML 4.01 几乎是相同的。
3、XHTML 是更严格更纯净的 HTML 版本。
4、XHTML 是作为一种 XML 应用被重新定义的 HTML,是严格版本的HTML。例如它要求标签必须小写,标签必须被正确关闭,标签顺序必须正确排列,对于属性都必须使用双引号等。
5、XHTML 是一个 W3C 标准。
HTML写法注意
1、尽可能少的使用无语义的标签div和span。
2、在语义不明显时,既可以使用div或者p时,尽量用p, 因为p在默认情况下有上下间距,对兼容特殊终端有利。
3、不要使用纯样式标签,如:b、font、u等,改用CSS设置。
4、需要强调的文本,可以包含在strong或者em标签中(浏览器预设样式,能用CSS指定就不用他们),strong默认样式是加粗(不要用b),em是斜体(不用i)。
5、使用表格时,标题要用caption,表头用thead,主体部分用tbody包围,尾部用tfoot包围。表头和一般单元格要区分开,表头用th,单元格用td。
6、表单域要用fieldset标签包起来,并用legend标签说明表单的用途。
7、每个input标签对应的说明文本都需要使用label标签,并且通过为input设置id属性,在lable标签中设置for来让说明文本和相对应的input关联起来。
表格
简介
表格现在还是较为常用的一种标签,但不是用来布局,常见显示、展示表格式数据。因为它可以让数据显示的非常的规整,可读性非常好。
写法
<table>
<tr>
<td>单元格内的文字</td>
...
</tr>
...
</table>
基本标签介绍
1、table、tr、td,他们是创建表格的基本标签,缺一不可。
2、table用于定义一个表格标签。
3、tr标签用于定义表格中的行,必须嵌套在 table标签中。
4、td 用于定义表格中的单元格,必须嵌套在<tr></tr>
标签中。
5、字母 td 指表格数据,即数据单元格的内容,表格最合适的地方就是用来存储数据的。td像一个容器,可以容纳所有的元素。
表头单元格标签th:一般表头单元格位于表格的第一行或第一列,并且文本加粗居中,只需用表头标签<th></th>
替代相应的单元格标签<td></td>
即可。
表格属性
属性 | 含义 |
---|---|
border | 设置表格的边框(默认border="0"无边框) |
cellspacing | 设置单元格与单元格边框之间的空白间距 |
cellpadding | 设置单元格内容与单元格边框之间的空白间距 |
width | 设置表格的宽度 |
height | 设置表格的高度 |
align | 设置表格在网页中的水平对齐方式 |
一般情况下,border、cellspacing、cellpadding为0。
合并单元格
合并的顺序我们按照“先上后下,先左后右”的顺序 ,合并完之后需要删除多余的单元格。
跨行合并:rowspan=“合并单元格的个数”
跨列合并:colspan=“合并单元格的个数”
表格划分结构
对于比较复杂的表格,表格的结构也就相对的复杂了,所以又将表格分割成三个部分:题头、正文和脚注。而这三部分分别用:thead,tbody,tfoot来标注, 这样更好的分清表格结构。
PS:
a、<thead></thead>
:用于定义表格的头部。用来放标题之类的东西。<thead>
内部必须拥有<tr>
标签!
b、<tbody></tbody>
:用于定义表格的主体。放数据本体 。
c、<tfoot></tfoot>
放表格的脚注之类。
d、以上标签都是放到table标签中。
列表
简介
容器里面装载着结构,样式一致的文字或图表的一种形式,叫列表。列表最大的特点就是整齐 、整洁、 有序,跟表格类似,但是它可组合自由度会更高。
无序列表
<ul></ul>
中只能嵌套<li></li>
,直接在<ul></ul>
标签中输入其他标签或者文字的做法是不被允许的。
<li>与</li>
之间相当于一个容器,可以容纳所有元素。
<ul>
<li>列表项1</li>
<li>列表项2</li>
<li>列表项3</li>
......
</ul>
有序列表
<ol type="A">
<li>列表项1</li>
<li>列表二</li>
<li>列表三</li>
</ol>
自定义列表
<dl>
<dt>名词1</dt>
<dd>名词1解释1</dd>
<dd>名词1解释2</dd>
...
<dt>名词2</dt>
<dd>名词2解释1</dd>
<dd>名词2解释2</dd>
...
</dl>
表单
简介
在HTML中,一个完整的表单通常由表单控件(也称为表单元素)、提示信息和表单域3个部分构成。表单目的是为了收集用户信息。
表单控件
包含了具体的表单功能项,如单行文本输入框、密码输入框、复选框、提交按钮、重置按钮等。
提示信息
一个表单中通常还需要包含一些说明性的文字,提示用户进行填写和操作。
标题表单域
它相当于一个容器,用来容纳所有的表单控件和提示信息,可以通过他定义处理表单数据所用程序的url地址,以及数据提交到服务器的方法。如果不定义表单域,表单中的数据就无法传送到后台服务器。
input控件
<input type="属性值" value="你好">
常用属性:
属性 | 属性值+描述 |
---|---|
type | text(单行文本输入框) |
type | password(密码输入框) |
type | radio(单选按钮) |
type | checkbox(复选框) |
type | button(普通按钮) |
type | submit(提交按钮) |
type | reset(重置按钮) |
type | image(图像形式的提交按钮) |
type | file(文件域) |
name | 用户自定义(控件的名称) |
value | 用户自定义(input控件中的默认文本值) |
size | 正整数(input控件在页面中的显示宽度) |
checked | checked(定义选择控件默认被选中的项) |
maxlength | 正整数(控件允许输入的最多字符数) |
用户名: <input type="text" />
密 码:<input type="password" />
value属性:
value是设置默认的文本值。有些表单想刚打开页面就默认显示几个文字,就可以通过这个value 来设置。
<input type="text" name="username" value="请输入用户名">
name属性:
name是表单的名字, 这样,后台可以通过这个name属性找到这个表单。 页面中的表单很多,name主要作用就是用于区别不同的表单。
name属性后面的值由用户自行决定。
<input type="radio" name="sex"/>
checked属性:
<input type="radio" name="sex" value="男" checked="checked"/>
<input type="radio" name="sex" value="女"/>
label标签
1、label 标签为 input 元素定义标注(标签)。
2、label标签主要目的是为了提高用户体验。为用户提高最优秀的服务。
3、作用:用于绑定一个表单元素, 当点击label标签的时候, 被绑定的表单元素就会获得输入焦点。
⭐那么,如何绑定元素呢???
第一种用法就是用label标签直接包含input表单, 适合单个表单选择。
第二种用法 for 属性规定 label 与哪个表单元素绑定(通过id)。
<label>
<input type="radio" name="usename" value="请输入用户名">
</label>
<label for="sex">男</label>
<input type="radio" name="sex" id="sex">
select下拉列表
如果有多个选项让用户选择,为了节约空间,我们可以使用select控件定义下拉列表。
<select>
<option>选项1</option>
<option>选项2</option>
<option>选项3</option>
...
</select>
form表单域
form表单域将用户信息传递给服务器。
<form action="url地址" method="提交方式" name="表单名称">
</form>
以上是关于前端学习 HTML基础的主要内容,如果未能解决你的问题,请参考以下文章
VS Code配置snippets代码片段快速生成html模板,提高前端编写效率