HTML学习笔记

HTML

HTML不是编程语言,是一种超文本标记语言。“超文本”是指页面内可以包含图片、链接、音乐、程序等非文字因素。

扩展名为.htm或者.html。
记事本里面是纯文本,写代码都要用纯文本。

B/S架构

即浏览器/服务器模式。是网页的架构。

优点:不需要安装;不需要更新;跨平台。

使用的语言:HTML(结构)描述页面结构,css(表现)控制页面元素样式,JavaScript(行为)响应用户操作。

URL,即网址。

蒂姆.伯纳斯-李发明了万维网。万维网联盟W3C,制定网页开发标准。

浏览器是用来渲染网页并呈现出来的工具。

HTML文档

html文档学习网址:https://www.3school.com.cn。

<html>:用来包含html文档的所有元素。

<head>:包含在头部的内容,不会被显示出来。通常包含页面编码,作者,页面描述,js的导入,css的导入等。

<meta charset="utf-8">:声明文档编码方式。

<title>:声明文档标题,会显示在浏览器的选项卡中。搜索之后的超链接显示的是title里面的内容。

<body>:包含所有想要显示在浏览器的元素。

HTML元素

html元素:由一个开始标签,一个结束标签,以及中间的内容组成。标签可嵌套使用。eg,<p>内容</p>。也有的元素只有一个标签,叫自结束标签,eg,<img />。

块级元素(block element):独占一行空间,用来布局页面段落,列表,导航菜单,脚注等结构。不能嵌套在行内元素中。

行内元素(inline element):与其他的元素共享一行空间,一般被嵌套在块级元素内,作为段落的一部分出现。

注意:一般块元素里面什么都可以放,但是p元素里面不能放块元素。行内元素内不放块元素,但是<a>元素里面可以嵌套除它自身外的任何元素。浏览器在解析网页时,会自动对网页中不符合规范的内容进行修正。

空元素:只包含单个标签,通常用在文档中插入部分内容。eg,img。

替代元素:基于块元素和行内元素之间,具有两种特点。脱离了CSS的范畴,它们的表现不依赖于CSS,有:<img>, <object>, <video>, <textare>, <input>, <audio>, <canvas>等。

HTML属性

核心属性:
id:唯一标识
class:标识一类元素
style:样式
title:描述信息

HTML语法

空白(空格):无论多少空白,浏览器都解释为一个空白

实体:正确显示预留字要用&开头,;结尾来表示。空格:&nbsp;  ,<:&lt; ,":&quot; ,&:&amp; ,>:&gt; ,':&apos;

注释:<!--注释-->,注释不能嵌套。

文档声明(doctype):用来告诉浏览器当前的网页版本。HTML5的是<!doctype html>或<!Doctype HTML>,放在网页代码的最开头。

字符编码:编码(李立超->110000110110),解码(110000110110->李立超)。

字符集(charset)编码和解码所采用的规则,ASCII美国,ISO88591欧洲,GB2312中国,GBK上一编码扩展,UTF-8万国码。如果编码和解码采用的字符集不同就会出现乱码问题。

<meta>:设置网页字符集,<meta charset="utf-8">,放在head里面。

meta主要用于设置网页中的一些元数据,name指定数据的名称,content指定数据的内容。eg.name="keywords",keywords表示网站的关键字;description用于指定网站描述,会显示在搜索之后的结果里面。

<meta http-equiv="refresh" content="3;url=https://www.mozilla.org">

表示将页面重定向到另一个网站,content是指3秒后跳转。

HTML标签

所有带表现形式的标签都不推荐使用。

段落:(块)<p></p>

标题:(块)<h1></h1>,<h2></h2>......<h6>。h1仅次于title,一般h1只会有一个。

标题组:(块)<hgroup>,可以将一组相关标题同时放到hgroup中。

引用:(块)<blockquote>,表示一个长引用。
(行内)<q>,短引用。

换行<br>,换下一行。

强调:(行内)<em> 意为强调,语音语调的加重,突出文章重点;<strong> 意为强调,重要内容;<b> 加粗;<i> 斜体;<u> 下划线。

列表有序列表ol(数字),子元素li,序号默认从1开始。无序列表ul(点),子元素li。定义列表dl,子元素dt,标题,表示定义的内容,子元素dd,列表项,对定义内容进行解释说明。

注:列表之间可以互相嵌套。

超链接:(行内)<a>,可以从当前文档到任意其他文档,也可以链接到文档的某个特定部分,里面可以嵌套除它自身外的任何元素。

例:

<a href="http://www.baidu.com" target="black">百度一下</a> 

href表示跳转的目的地,可以取ID值,用于锚点跳转,可以取URL,也可以使用path定位文件,一般会使用相对路径,相对路径会使用./(表示当前文件所在的目录)或者../(当前文件所在目录的上一级目录)开头,也可以省略不写,若什么都没写,默认写的是./;可以取email;可以将href的属性设置为#,点击之后可以跳转到当前页面的顶部,也可以将#作为超链接的占位符(可以用“javascript:;”,这样没有任何作用),属性设置为#+目标元素id值,可以去文档任意部位,或者底部,即最后一个标签的位置,这个时候要加一个id属性(区分大小写,字母开头),做唯一标识。

target属性,规定在何处打开链接文档,默认为_self,在当前页面中打开超链接;_blank,在新的页面中打开超链接;_parent,在父窗口打开超链接;_top,在当前页面整个窗口打开超链接。

图片:(替换)<img>代表图片,用于向当前页面引入外部图片。

<img src= " images/phone.jpg " alt= "图片找不到了…" width= ”200px" >

src表示图片URL地址,必须有的;alt表示替换图片的文本内容,图片的描述,可以根据描述来搜索图片,不写alt则不能搜索,默认情况下不显示,当url地址出错时,有些浏览器将会显示alt的内容;width设置图片的宽度,单位px(像素),若宽度和高度中只改了宽度,会等比例改变高度,只改了高度效果一样;height设置图片的高度,单位px。

图片格式

jpeg(jpg)支持颜色丰富,不支持透明效果,不支持动图,一般用来显示照片;

gif支持颜色比较少,支持简单透明,支持动图,一般用于颜色单一的图片和动图;

png支持颜色丰富,支持复杂透明,不支持动图,一般用于颜色丰富,复杂透明的图片(专为网页而生);

webp,这种格式是谷歌新推出的专门用来表示网页中的图片的一种格式,它具备其他图片格式的所有优点,而且文件还特别的小,缺点是兼容性不好;

base64,将图片使用base64编码,这样可以将图片转换为字符,通过字符的形式来引入图片,一般都是一些需要和网页一起加载的图片才会使用base64。

PSD是一种有多个图层的图片格式。

选择图片的原则:效果一样用小的,效果不一样用效果好的。

内联框架<iframe>,有结束符,用于向当前页面中引入一个其他页面,src属性指定要引入的网页路径(网址),frameborder属性用来指定内联框架的边缘。

音频<audio>,用来向页面中引入一个外部的音频文件,音频文件引入时,默认情况下不允许用户自己控制播放停止。

src属性用来指定文件路径;属性controls,是否允许用户控制播放;autoplay属性,音频是否自动播放,设置了则自动播放,但是目前的大部分浏览器都不会自动对音乐进行播放;loop属性,音乐是否循环播放。除了通过src来指定外部文件路径,还可以用<source>标签指定。

<audio>
对不起,您的浏览器不支持播放音频!请升级浏览器!
<source src="audio.mp3"> 
<source src="audio.ogg"> 
<embed src="audio.mp3" type="audio/mp3" width="300" height="50">
</audio>

注:一般浏览器支持mp3格式,但是当个别浏览器只支持ogg时,ogg就会生效;当浏览器(ie8)不支持时,会使用embed里面的音频,其中type是指定文件类型,大类/小类(特定文件类型);当audio都不支持时,就会显示那段文字(从而提示报错)。

视频<video>,也是一般使用source引入文件,使用方式和音频类似,文件类型有mp4,webm,当ie8不兼容时,使用embed标签。

注:一般视频和音频会占用很大内存,因此租用服务器会比较昂贵,为此可以将视频上传到网站上,然后引用网站上的视频。

表格<table>代表表格,通过二维数据表示数据,通常配合<thead>表头,包含了<tr><td>,<tfoot>表脚,包含对表的总结信息,<tbody>表格的表体,包含很多<tr>,<caption>表格的标题信息,<tr>表格的行,包含<td><th>元素,<td>用来包含数据的单元格,<th>用于表头。

表格属性colspan跨列数;rowspan跨行数;width宽度,当宽度太窄无法显示单元格内容时,在页面显示的时候会适当的调整;<colgroup>定义一个表中的一组列,只能作为table的子元素,位于<caption>元素后,其他元素之前;<col>定义一个表中的列,并用于在所有公共单元上定义通用语义,经常作为<colgroup>元素的子元素,其中span跨列数,即规定有几列可以作为同一列。

表格的样式border-spacing指定边框之间的距离,border-collapse设置边框的合并,在设置完合并后距离就不会生效。如果表格中没有使用tbody而是直接使用tr,那么浏览器会自动创建一个tbody将所有的tr放在里面,因此,tr不是table的子元素。在td中默认情况下是垂直居中的,可以通过vertical-align来修改,middle是居中。在其他元素需要垂直居中时,可以将元素设置为单元格(display:table-cell),然后用vertical-align属性来居中。

布局元素:(块)<div>,没有语义,表示一个区块,目前div是主要的布局元素。(行内)<span>,没有语义,一般在网页中选中文字。

html5新增标签:
<header>:一种具有引导和导航作用的结构元素,通常用来放置整个页面或页面内的一个内容区块的标题,但也可以包含搜索表单或logo。
<main>:表示网页的主体部分,一个页面只有一个main。
<footer>:作为其上层父级内容区块或是一个根区块的脚注。 footer通常包括其相关区块的脚注信息,如作者,相关阅读链接以及版权信息等。与header类似,一个页面中也未限定footer元素的个数。
<nav>:一个可以用作页面导航的链接组,其中导航元素链接到其他页面或当前页面的其他部分。
<aside>:用来表示当前页面或文章的附属信息部分,它可以包含当前页面或主要内容相关的引用,侧边栏,广告,导航条,以及其他类型的有别于主要内容的部分。
<article>:代表文档,页面或应用程序中独立的,完整的,可以独自被外部引用的内容,也可以嵌套使用。可以是文章,贴子,评论,插件等。
<section>:类似于<div>,可以替换。
<address>:用来在文档中呈现联系信息,包括文档作者或文档维护者名字,他们的网站链接,电子邮箱,真实地址,电话号码,以及跟文档相关的联系人的所有联系信息。
<figure>,<figcaption>:figure元素是一种元素的组合,带有可选标题, figure元素用来表示网页上一块独立内容,将其从网页上移除后不会对网页上的其他内容产生任何影响, figure元素所表示的内容可以是图片,统计图或代码示例,也可以是音频插件,视频插件,统计表格等。 figcaption元素表示figure元素的标题,它从属于figure元素,必须书写在figure元素内部。一个figure元素内最多只允许放置一个figcaption元素,但是允许放置多个其他元素。
<details>,<summary>:details元素是一种用于标识该元素内部的子元素可以被展开,收缩显示的元素。details元素内并不仅限于放置文字,也可以放置表单,插件或对于一个统计图提供的详细数据表格。其属性open当该属性值为true时,该元素内部的子元素应该被展开显示;当该属性的值为false时,其内部的子元素应该被收缩起来不显示。默认值为false。summary元素从属于details,用鼠标单击summary元素中的内容文字时, details元素中的其他所有从属元素将会展开或收缩。如果details元素内没有summary元素,浏览器会提供默认文字(详细信息)以供单击。

html5新增标签的兼容性:
在不支持Html5的浏览器中,由于浏览器无法识别Html5新增标签,所以默认将这些标签设置为行内元素( display:inline) ,为了兼容性,需要:section, article, aside, footer, header, nav, hgroup { display:block; }。

表单:在网页中使用表单将本地的数据提交给远程的服务器,使用form标签来创建一个表单。

form属性,action指定表单要提交的服务器地址。

在表单中使用input标签设置内容,type为text文本框,如果数据要提交到服务器中,必须要为元素指定一个name属性值,type为password密码框,type为radio单选按钮(像这种选择框,必须要设置相同的name值,并且一定要指定一个value属性,value属性最终会作为用户填写的值,设置checked属性可以将单选按钮设置为默认选中),type为checkbox多选框(name设置一样)。下拉列表使用标签select/,里面用option/标签表示每一个选项,可以设置value值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值