HTML

HTML

超文本标记语言

web标准

web准备介绍:

  • w3c:万维网联盟组织,用来制定web标准的机构(组织)
  • web标准:制作网页遵循的规范
  • web准备规范的分类:结构标准、表现标准、行为标准。
  • 结构:html。表示:css。行为:Javascript。

HTML,CSS,JavaScript

  • 结构标准:相当于人的身体。html就是用来制作网页的。
  • 表现标准: 相当于人的衣服。css就是对网页进行美化的。
  • 行为标准: 相当于人的动作。JS就是让网页动起来,具有生命力的

浏览器内核

浏览器,内核

  • IE trident
  • chrome blink
  • 火狐 gecko
  • Safari webkit

HTML介绍

html全称HyperText Mackeup Language,翻译为超文本标记语言,它不是一种编程语言,是一种描述性的标记语言,用于描述超文本内容的显示方式。比如字体、颜色、大小等。

  • 超文本:音频,视频,图片称为超文本。
  • 标记 :<英文单词或者字母>称为标记,一个HTML页面都是由各种标记组成。

作用:HTML是负责描述文档语义的语言。
注意:HTML语言不是一个编程语言(有编译过程),而是一个标记语言(没有编译过程),HTML页面直接由浏览器解析执行。

HTML颜色显示

颜色表示:

  • 纯单词表示:red、green、blue、orange、gray等
  • 10进制表示:rgb(255,0,0)
  • 16进制表示:#FF0000、#0000FF、#00FF00等

RGB色彩模式:

  • 自然界中所有的颜色都可以用红、绿、蓝(RGB)这三种颜色波长的不同强度组合而得,这就是人们常说的三原色原理。
  • RGB三原色也叫加色模式,这是因为当我们把不同光的波长加到一起的时候,可以得到不同的混合色。例:红+绿=黄色,红+蓝=紫色,绿+蓝=青
  • 在数字视频中,对RGB三基色各进行8位编码就构成了大约1678万种颜色,这就是我们常说的真彩色。所有显示设备都采用的是RGB色彩模式。
  • RGB各有256级(0-255)亮度,256级的RGB色彩总共能组合出约1678万种色彩,即256×256×256=16777216。

HTML规范

  • HTML是一个弱势语言
  • HTML不区分大小写
  • HTML页面的后缀名是html或者htm(有一些系统不支持后缀名长度超过3个字符,比如dos系统)
  • HTML的结构:
    • 声明部分:主要作用是用来告诉浏览器这个页面使用的是哪个标准。是HTML5标准。
    • head部分:将页面的一些额外信息告诉服务器。不会显示在页面上。
    • body部分:我们所写的代码必须放在此标签內。

编写规范

  1. 所有标记元素都要正确的嵌套,不能交叉嵌套。正确写法举例:<h1><font></font></h1>
  2. 所有的标记都必须小写。
  3. 所有的标记都必须关闭。
    • 双边标记:<span></span>
    • 单边标记:<br> 转成 <br /> <hr> 转成 <hr />,还有<img src=“URL” />
  4. 所有的属性值必须加引号。<h1 id="head"></h1>
  5. 所有的属性必须有值。<input type="radio" checked="checked" />

语法特征

  1. HTML对换行不敏感,对tab不敏感
  2. 空白折叠现象,HTML中所有的文字之间,如果有空格、换行、tab都将被折叠为一个空格显示。
  3. 标签要严格封闭

HTML结构详解

文档声明头

<!DOCTYPE...
开头的这一行,就是文档声明头,DocType Declaration,简称DTD。此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范。

头标签head

head标签都放在头部分之间。这里面包含了:<title>、<meta>、<link>,<style>

  • <title>:指定整个网页的标题,在浏览器最上方显示。
  • <meta>:提供有关页面的基本信息
  • <link>:定义文档与外部资源的关系。
  • <style>:定义内部样式表与网页的关系

Meta标签介绍:
元素可提供有关页面的原信息(mata-information),针对搜索引擎和更新频度的描述和关键词。
标签位于文档的头部,不包含任何内容。
提供的信息是用户不可见的。 meta标签的组成:meta标签共有两个属性,它们分别是http-equiv属性和name属性,不同的属性又有不同的参数值,这些不同的参数值就实现了不同的网页功能。
常用的meta标签:
(1)http-equiv属性
它用来向浏览器传达一些有用的信息,帮助浏览器正确地显示网页内容,与之对应的属性值为content,content中的内容其实就是各个参数的变量值。

<!--重定向 2秒后跳转到对应的网址,注意分号-->
<meta http-equiv="refresh" content="2;URL=http://www.baidu.com">
<!--指定文档的内容类型和编码类型 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<!--告诉IE浏览器以最高级模式渲染当前网页-->
<meta http-equiv="x-ua-compatible" content="IE=edge">

(2)name属性
主要用于页面的关键字和描述,是写给搜索引擎看的,关键字可以有多个用 ‘,’号隔开,与之对应的属性值为content,content中的内容主要是便于搜索引擎机器人查找信息和分类信息用的。

<meta name="Keywords" content="网易,邮箱,游戏,新闻,体育,娱乐,女性,亚运,论坛,短信" />
<!--这些关键词,就是告诉搜索引擎,这个网页是干嘛的,能够提高搜索命中率。让别人能够找到你,搜索到。-->
<meta name="Description" content="网易是中国领先的互联网技术公司,为用户提供免费邮箱、游戏、搜索引擎服务,开设新闻、娱乐、体育等30多个内容频道,及博客、视频、论坛等互动交流,网聚人的力量。" />
 <!--只要设置Description页面描述,那么百度搜索结果,就能够显示这些语句,这个技术叫做SEO(search engine optimization,搜索引擎优化)。-->
<meta name=viewport content="width=device-width, initial-scale=1">
<!--上面这个标签,是让我们网页支持移动端,移动设备优先-->

body标签

字体标签

h1~h6、<font>、<u>、<b>、<strong><em>、<sup>、<sub>

  • h1-h6 标题标签,具有align属性,属性值可以是:left、center、right.
  • <font>,字体标签(已废弃),具有color,size,face属性
    • color,设置字体颜色
    • size,设置字体大小,只能为1-7.大于7为7,小于1为1.
    • face,设置字体类型,例如:face="微软雅黑"
  • 粗体标签<b>或<strong>(已放弃)
  • 下划线标记 <u> 中划线标记<s>(已废弃)
  • 斜体标记 <i><em>(已废弃)
  • 上标<sup>下标<sub>
  • 特殊字符
    • &nbsp;:空格 (non-breaking spacing,不断打空格)
    • &lt;:小于号(less than)
    • &gt;:大于号(greater than)
    • &amp;:符号&
    • &quot;:双引号
    • &apos;:单引号
    • &copy;:版权©
    • &trade;:商标™
    • 更多特殊字符
排版标签

<div> 、<span> 、 <br>、<hr>、<center>、<pre>
标签分类

  1. 文本级标签:p、span、a、b、i、u、em。文本标签里只能放文字、图片、表单元素。
  2. 容器级标签:div、h系列、li、dt、dd。容器级标签里可以放任何东西。

按行内与块级分类
行内标签,span,a,em i,strong b,特点,在一行内显示,不换行
行内块标签(归于行内标签): img input,特点:一行内显示,可以设置宽高
块级标签,h1~h6,div ,p,ul,ol,dl,table

  • 段落标签<p>,属性有align,包括left、center、right
  • 块级标签<div>和<span>,这俩是非常重要的标签,div的语义是division“分割”; span的语义就是span“范围、跨度”。
    • span和div唯一的区别在于:span是不换行的,而div是换行的。
    • div的属性值,align="属性值":设置块儿的位置。属性值可选择:left、right、 center
  • 换行标签<br>(已废弃),不空行换行,<p>会在段落前后插一个空行
  • 水平线标签<hr(已废弃),水平分隔线(horizontal rule)可以在视觉上将文档分隔成各个部分
  • 内容居中标签 <center>,标签内的内容都会都会居于浏览器的中间。 到了H5里面,center标签不建议使用。
  • 预定义(预格式化)标签:<pre>
    • 含义:将保留其中的所有的空白字符(空格、换行符),原封不动的输出结果(告诉浏览器不要忽略空格和空行)
    • 说明:真正排网页过程中,<pre>标签几乎用不着。但在PHP中用于打印一个数组时使用。
超链接

超链接有三种形式:

  1. 外部链接:链接到外部文件。
  2. 锚链接
  3. 邮件链接

外部链接
<a href="new.html">点击进入新网页</a>
a是英语anchor“锚”的意思,就好像这个页面往另一个页面扔出了一个锚。是一个文本级的标签。
href是英语hypertext reference超文本地址的缩写。读作“喝瑞夫”,不要读作“喝夫”。

锚链接
指给超链接起一个名字,作用是在本页面或者其他页面的的不同位置进行跳转。比如说,在网页底部有一个向上箭头,点击箭头后回到顶部,这个就是利用到了锚链接。
首先我们要创建一个锚点,也就是说,使用name属性或者id属性给那个特定的位置起个名字。

邮件链接
<a href="mailto:XX@tedu.cn">联系我们</a>
效果:点击之后,会弹出outlook,作用不大。
前提:计算机中必须安装邮件客户端,并且配置好了邮件相关信息

特殊链接
返回页面顶部的位置 <a href="#">跳转到顶部</a>
与JS有关
<a href="javascript:alert(1)">内容</a>
<a href="javascript:;">内容</a>
javascript:;表示什么都不执行,这样点击<a>时就没有任何反应 例如:内容</2
javascript:是表示在触发
默认动作时,执行一段JavaScript代码。 例如:<ahref="javascript:alert()">内容

超链接的属性

  • href:目标URL
  • title:悬停文本。
  • name:主要用于设置一个锚点的名称。
  • target:告诉浏览器用什么方式来打开目标页面。target属性有以下几个值:
    • _self:在同一个网页中显示(默认值)
    • _blank:在新的窗口中打开。
    • _parent:在父窗口中显示
    • _top:在顶级窗口中显示

其他,a标签与p标签
如果一个段落中的所有文字都能够被点击,那么应该是p包含a

图片标签

img: 代表的就是一张图片。是单边标记。
img是自封闭标签,也称为单标签。

能插入的图片类型:jpg(jpeg)、gif、png、bmp。
HTML页面不是直接插入图片,而是插入图片的引用地址,所以也要把图片上传到服务器上。

src属性,图片的相对路径和绝对路径

  • 相对路径
  • 绝对路径

相对路径和绝对路径的总结

  • 我们现在无论是在a标签、img标签,如果要用路径。只有两种路径能用,就是相对路径和绝对路径。
  • 相对路径,就是../ image/ 这种路径。从自己出发,找到别人;
  • 绝对路径,就是http://开头的路径。
  • 绝对不允许使用file://开头的东西,这个是完全错误的!

img标签的常用其它属性

  • width:宽度
  • height:高度
  • title:提示性文本。公有属性。也就是鼠标悬停时出现的文本。
  • align:指图片的水平对齐方式,属性值可以是:left、center、right
  • alt:当图片显示不出来的时候,代替图片显示的内容。alt是英语 alternate “替代”的意思。(有的浏览器不支持)

文本级的标签显示在浏览器上时,不管你的图片多高,它总会底边对齐,这是一种现象,“高矮不齐,底边对齐”。
注意事项:

  • 如果要想保证图片等比例缩放,请只设置width和height中其中一个。
  • 如果想实现图文混排的效果,请使用align属性,取值为left或right
  • 如果想点击图片的时候跳转到某个链接,a标签包含img标签
列表标签
  1. 无序列表,ul,li
  2. 有序列表,ol,li
  3. 定义列表,dl,tt,dt

无序列表

  • ul:unordered list,“无序列表”的意思。
  • li:list item,“列表项”的意思。不能单独存在

属性

  • type="属性值"。属性值可以选: disc(实心原点,默认),square(实心方点),circle(空心圆)。

有序列表
英文单词:Ordered List。

属性
type="属性值"。属性值可以是:1(阿拉伯数字,默认)、a、A、i、I。结合start属性表示从几开始。

定义列表

  • <dl>英文单词:definition list,没有属性。dl的子元素只能是dt和dd。
  • <dt>:definition title 列表的标题,这个标签是必须的
  • <dd>:definition description 列表的列表项,如果不需要它,可以不加

使用案例,网站最下面一堆。

表格标签

表格标签用<table>表示。
一个表格<table>是由每行<tr>组成的,每行是由<td>组成的。

<table>属性

  • border:边框。像素为单位。
  • style="border-collapse:collapse;":单元格的线和表格的边框线合并
  • width:宽度。像素为单位。
  • height:高度。像素为单位。
  • bordercolor:表格的边框颜色。
  • align:表格的水平对齐方式。属性值可以填:left right center。
    注意:这里不是设置表格里内容的对齐方式,如果想设置内容的对齐方式,要对单元格标签进行设置)
  • cellpadding:单元格内容到边的距离,像素为单位。默认情况下,文字是紧挨着左边那条线的,即默认情况下的值为0。
    注意不是单元格内容到四条边的距离哈,而是到一条边的距离,默认是与左边那条线的距离。如果设置属性dir="rtl",那就指的是内容到右边那条线的距离。
  • cellspacing:单元格和单元格之间的距离(外边距),像素为单位。默认情况下的值为0
  • bgcolor="#99cc66":表格的背景颜色。
  • background="路径src/...":背景图片。背景图片的优先级大于背景颜色。

<tr>属性

  • dir:公有属性,设置这一行单元格内容的排列方式。可以取值:ltr:从左到右(left to right,默认),rtl:从右到左(right to left)
  • bgcolor:设置这一行的单元格的背景色。
    注:没有background属性,即:无法设置这一行的背景图片,如果非要设置,可以用css实现。
  • height:一行的高度
  • align="center":一行的内容水平居中显示,取值:left、center、right
  • valign="center":一行的内容垂直居中,取值:top、middle、bottom

<td>属性

  • align:内容的横向对齐方式。属性值可以填:left right center。
    如果想让每个单元格的内容都居中,这个属性太麻烦了,可以用css来解决。
  • valign:内容的纵向对齐方式。属性值可以填:top middle bottom
  • width:绝对值或者相对值(%)
  • height:单元格的高度
  • bgcolor:设置这个单元格的背景色。
  • background:设置这个单元格的背景图片

单元格合并
如果要将两个单元格合并,那肯定就要删掉一个单元格。
单元格属性

  • colspan:横向合并。例如colspan="2"表示当前单元格在水平方向上要占据两个单元格的位置。
  • rowspan:纵向合并。例如rowspan="2"表示当前单元格在垂直方向上

<th>:加粗的单元格。相当于<td> + <b>
<caption>:表格的标题。使用时和tr标签并列
表格的<thead>标签、<tbody>标签、<tfoot>标签
这三个标签有与没有的区别:

  1. 如果写了,那么这三个部分的代码顺序可以任意,浏览器显示的时候还是按照thead、tbody、tfoot的顺序依次来显示内容。如果不写thead、tbody、tfoot,那么浏览器解析并显示表格内容的时候是从按照代码的从上到下的顺序来显示。
  2. 当表格非常大内容非常多的时候,如果用thead、tbody、tfoot标签的话,那么数据可以边获取边显示。如果不写,则必须等表格的内容全部从服务器获取完成才能显示出来。
表单标签

表单标签用

表示,用于与服务器的交互。表单就是收集用户信息的,就是让用户填写的、选择的。

<form>属性

  • name:表单的名称,用于JS来操作或控制表单时使用;
  • id:表单的名称,用于JS来操作或控制表单时使用;
  • action:指定表单数据的处理程序,一般是PHP,如:action=“login.php”
  • method:表单数据的提交方式,一般取值:get(默认)和post

<input>:输入标签(文本框)
用于接收用户输入。
<input type="text" />
<input>属性

  • type="属性值":文本类型。属性值可以是:
    • text(默认)
    • password:密码类型
    • radio:单选按钮,名字相同的按钮作为一组进行单选(单选按钮,天生是不能互斥的,如果想互斥,必须要有相同的name属性。name就是“名字”)非常像以前的收音机,按下去一个按钮,其他的就抬起来了。所以叫做radio。
    • checkbox:多选按钮,名字相同的按钮作为一组进行选择。
    • checked:将单选按钮或多选按钮默认处于选中状态。当标签的type="radio"时,可以用这个属性。属性值也是checked,可以省略。
    • hidden:隐藏框,在表单中包含不希望用户看见的信息
    • button:普通按钮,结合js代码进行使用。
    • submit:提交按钮,传送当前表单的数据给服务器或其他程序处理。这个按钮不需要写value自动就会有“提交”文字。这个按钮真的有提交功能。点击按钮后,这个表单就会被提交到form标签的action属性中指定的那个页面中去。
    • reset:重置按钮,清空当前表单的内容,并设置为最初的默认值
    • image:图片按钮,和提交按钮的功能完全一致,只不过图片按钮可以显示图片。
    • file:文件选择框。提示:如果要限制上传文件的类型,需要配合JS来实现验证。对上传文件的安全检查:一是扩展名的检查,二是文件数据内容的检查。
  • value="内容":文本框里的默认内容(已经被填好了的)
  • size="50":表示文本框内可以显示五十个字符。一个英文或一个中文都算一个字符。注意size属性值的单位不是像素哦。
  • readonly:文本框只读,不能编辑。因为它的属性值也是readonly,所以属性值可以不写。用了这个属性之后,在google浏览器中,光标点不进去;在IE浏览器中,光标可以点进去,但是文字不能编辑。
  • disabled:文本框只读,不能编辑,光标点不进去。属性值可以不写。

<select>:下拉列表标签
<select>标签里面的每一项用<option>表示。select就是“选择”,option“选项”。
select标签和ul、ol、dl一样,都是组标签。
<select>标签的属性:

  • multiple:可以对下拉列表中的选项进行多选。没有属性值。
  • size="3":如果属性值大于1,则列表为滚动视图。默认属性值为1,即下拉视图。
    <option>标签的属性:
  • selected:预选中。没有属性值。

<textarea>标签:多行文本输入框
text就是“文本”,area就是“区域”。
属性

  • value:提交给服务器的值。
  • rows="4":指定文本区域的行数。
  • cols="20":指定文本区域的列数。
  • readonly:只读。

<label>标签

<input type="radio" name="sex" /> 男
<input type="radio" name="sex" /> 女

对于上面这样的单选框,我们只有点击那个单选框(小圆圈)才可以选中,点击“男”、“女”这两个文字时是无法选中的;于是,label标签派上了用场。
本质上来讲,“男”、“女”这两个文字和input标签时没有关系的,而label就是解决这个问题的。我们可以通过label把input和汉字包裹起来作为整体。
解决方案:

<input type="radio" name="sex" id="nan" /> <label for="nan">男</label>
<input type="radio" name="sex" id="nv"  /> <label for="nv">女</label>

上方代码中,input元素要有一个id,然后label标签有一个for属性,和id相同,那么这个label和input就有绑定关系了。

posted @ 2018-12-09 12:03  写bug的日子  阅读(115)  评论(0编辑  收藏  举报