欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

HTML学习(一)html、xhtml、html5

程序员文章站 2022-03-14 08:54:06
...

一、基本概念

html:超文本标记语言 (Hyper Text Markup Language)

xhtml:可扩展超文本标记语言,是一种置标语言,表现方式与超文本标记语言(HTML)类似,不过语法上更加严格。

html5:最先由WHATWG(Web 超文本应用技术工作组)命名的一种超文本标记语言,随后和W3C的xhtml2.0(标准)相结合,产生现在最新一代的超文本标记语言。可以简单点理解成:h5≈ html+CSS 3+js+API。

标题html特性:

  • 标识文本。例如:定义标题文本、段落文本、列表文本、预定义文本。
  • 建立超链接,便于页面链接的跳转。
  • 创建列表,把信息有序组织在一起以方便浏览。
  • 在网页中显示图像、声音、视频、动画等多媒体信息,把网页设计得更富冲击力。
  • 可以制作表格,以便显示大量数据。
  • 可以制作表单,允许在网页内输入文本信息,执行其他用户操作,方便信息互动。

h5的认识:

新特性应该基于 HTML、CSS、DOM 以及 JavaScript。
减少对外部插件的需求(比如 Flash)
更优秀的错误处理
更多取代脚本的标记
HTML5 应该独立于设备
开发进程应对公众透明

h5新特性:

  • 用于绘画的 canvas 元素
  • 用于媒介回放的 video 和 audio 元素
  • 对本地离线存储的更好的支持
  • 新的特殊内容元素,比如 article、footer、header、nav、section
  • 新的表单控件,比如 calendar、date、time、email、url、search

二、文档类型声明方式

html:

过渡型:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

严格型:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

框架型:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">

xhtml:

过渡型:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

严格型:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

框架型:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

html5:

<!DOCTYPE html>

三、语义

html:没有体现结构语义化的标签,我们通常都是这样来命名的<div id="header"></div>.这样表示网站的头部。

html5:在语义上却有很大的优势。提供了一些新的标签,比如:<header><article><footer>

提供了语义化标签可以更好地支持搜索引擎的读取便于seo的蜘蛛的爬行。

四、XHTML和HTML 最主要区别(规范)

XHTML作为HTML的升级版。当然会有很多其它的规范。详细例如以下:

  • (1) 全部的标记都必需要有一个相应的结束标记。
      曾经在HTML中。你能够打开很多标签,比如和<li>而不一定写相应的和</li>来关闭它们。但在XHTML中这是不合法的。
      XHTML要求有严谨的结构,全部标签必须关闭。
      假设是单独不成对的标签。在标签最后加一个"/"来关闭它。
      比如:<img height="80" alt="网页设计师" src="../images/logo_w3cn_200x80.gif" width="200" />

  • (2) 全部标签的元素和属性的名字都必须使用小写。
      与HTML不一样,XHTML对大写和小写是敏感的。
      <title><TITLE>是不同的标签。XHTML要求全部的标签和属性的名字都必须使用小写。比如:<BODY>必须写成<body> 。大写和小写夹杂也是不被认可的。
      通常dreamweaver自己主动生成的属性名字"onMouseOver"也必须改动成"onmouseover"。

  • (3) 全部的XML标记都必须合理嵌套。
      相同由于XHTML要求有严谨的结构。因此全部的嵌套都必须按顺序。
      曾经我们这样写的代码:<p><b></p></b>必须改动为:<p><b></b></p>
      就是说。一层一层的嵌套必须是严格对称。

  • (4) 全部的属性必须用引号""括起来。
      在HTML中。你能够不须要给属性值加引号,可是在XHTML中,它们必须被加引號。
      比如:<height=80>必须改动为:<height="80">
      特殊情况,你须要在属性值里使用双引号,你能够用",单引號能够使用’,
      比如:<alt="say&apos;hello&apos;">

  • (5) 把全部<和&特殊符号用编码表示。
      不论什么小于号(<)。不是标签的一部分,都必须被编码为& l t ;不论什么大于号(>),不是标签的一部分,都必须被编码为&gt 。不论什么与号(&),不是实体的一部分的,都必须被编码为&amp;注:以上字符之间无空格。

  • (6) 给全部属性赋一个值。
      XHTML规定全部属性都必须有一个值,没有值的就反复本身。
      比如:<input type="checkbox" name="shirt" value="medium" checked>
      必须改动为:<input type="checkbox" name="shirt" value="medium" checked="checked" />

  • (7) 不要在凝视内容中使“–”。“–”仅仅能发生在XHTML凝视的开头和结束,也就是说,在内容中它们不再有效。
      比如以下的代码是无效的:<!--这里是凝视-----------这里是凝视-->:用等号或者空格替换内部的虚线。
      <!--这里是凝视============这里是凝视-->:以上这些规范有的看上去比較奇怪,但这一切都是为了使我们的代码有一个统一、唯一的标准,便于以后的数据再利用。

  • (8) 图片必须有说明文字。每一个图片标签都必须有ALT说明文字。
      <img src="ball.jpg" alt="large red ball" title="large red ball"/> //为了兼容火狐和IE浏览器,对于图片标签,尽量採用 alt和title双标签,单纯的alt标签在火狐下没有图片说明。

五、HTML5基本语法

(一)链接

<html>

<head>
  <meta charset="utf-8" />
  <title>The First</title>
  <!-- title自带换行 -->
</head>

<body>
  <!-- 这是注释 -->
  <h1>HELLO</h1>
  <h2>HELLO</h2>
  <h6>HELLO</h6>
  <!-- 1为最小 6为最大 -->
  <font size="6">6号字体</font>
  <!-- 字号与h字号相反,1最大 -->
  <hr width="200" />
  <!-- 水平分割线 -->

  <a href="">假链接</a>
  <br /><a href="#">Top</a>
  <!-- 点击跳至页面顶端 -->
  <a href="#maodian">点击前往</a>
  <!-- 设点本页超链接锚点,点击即跳转 -->
  <p id="maodian">It's me</p>
  <!-- 跳转至此处 -->
  <p>
    我的博客<br />
    <a href="http://xyyhub.github.io/" target="_black">点击跳转</a><br />
  </p>
  <!--
			href:你要跳转的地址
			target: 控制新的页面打开模式
				_blank新打开一个页面显示 
				_self覆盖原网页打开 【默认值】
		-->

  <img src="img/avatar.jpg" width="200" height="200" alt="图片不存在" title="我的头像" />
  <!-- 插入图片,alt设定图片错误时显示的文字,title设定鼠标悬停显示的文字 -->

  <h4>无序列表</h4>
  <ul type="dise">
    <!-- 默认即为dise实心圆点,还有circle空心圆,square实心方 -->
    <li>First</li>
    <li>Second</li>
    <li>Third</li>
  </ul>
  <!--
			快捷键:
			ul>li*n 一个ul下面有n个li
			ctrl+d 复制当前行
		-->

  <h4>有序列表</h4>
  <ol type="dise">
    <li>First</li>
    <li>Second</li>
    <li>Third</li>
  </ol>

  <!-- 图片加列表实例 -->
  <img src="img/tall.png" alt="图片不存在" title="上海" width="400" height="300" align="left" hspace="90" />
  <!-- align设置对齐方式,hspace设置间隔 -->
  <h3>
    <font color="red">陆家嘴</font>
  </h3>
  <ul type="disc">
    <li>上海大厦</li>
    <li>国贸大厦</li>
    <li>金融中心</li>
  </ul>
</body>

</html>

HTML学习(一)html、xhtml、html5

(二)表格 Table

<html>

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

<body height="7800">
  <table border="1" align="center" bgcolor="pink">
    <!-- 建立表格 -->
    <tr>
      <!-- tr建立行 -->
      <td>
        <!-- td建立列 -->
        html
      </td>
    </tr>
  </table>

  <table border="1" align="center">
    <!-- 设定表标题 -->
    <caption>Table Title</caption>
    <!-- 设定表头 -->
    <thead bgcolor="pink">
      <tr>
        <td>List Name 1</td>
        <td>List Name 2</td>
        <td>List Name 3</td>
      </tr>
    </thead>
    <!-- 建立表身体 -->
    <tbody>
      <tr>
        <td rowspan="2" bgcolor="pink">1</td><!-- rowspan合并行 -->
        <td>2</td>
        <td>3</td>
      </tr>
      <tr>
        <td rowspan="2" bgcolor="pink">2</td>
        <td>3</td>
      </tr>
      <tr>
        <td>1</td>
        <td rowspan="2" bgcolor="pink">3</td>
      </tr>
      <tr>
        <td>1</td>
        <td>2</td>
      </tr>
    </tbody>
    <!-- 设定表尾 -->
    <tfoot>
      <tr align="center" bgcolor="pink">
        <td colspan="3">Table Foot 1 & 2 & 3 .</td><!-- colspan合并列 -->
      </tr>
    </tfoot>
  </table>
  <!--
			border:表格中的边框 默认情况下0 取值代表边框的粗细
			cellspacing:单元格与单元格之间的间距 默认为2个像素的
			cellspadding:单元格与内容之间的距离 默认1个像素
			width: 表格的宽度 默认情况下为内容的宽度
			height:表格的高度 默认情况下为内容的高度
			
			align: 水平对齐的方式: left center right 默认left
			在table中设置 表格在浏览器中为 居左 居中 居右
			在tr中设置 当前行的内容在表格中 居左 居中 居右
			在td中设置 当前列【当前单元格】的内容在表格中 居左 居中 居右
			
			valign 垂直对齐方式 : top middle bottom
			在table中设置 无效
			在tr中设置 当前行的内容在表格中 居上 居中 居下
			在td中设置 当前列【当前单元格】的内容在表格中 居上 居中 居下
			<tr valign="bottom" height="100">
				<td valign="bottom" height="100">用户名</td>
				<td>密码</td>
				<td>手机号</td>
			</tr>
			
		-->

</body>

</html>

HTML学习(一)html、xhtml、html5

(三)表单 Form

<html>

<head>
  <title>
    用户登录界面
  </title>
  <meta charset="utf-8">
</head>

<body>

  <form action="text01.html" method="post" align="center">
    <p>账号:<input name="username" maxlength="10" placeholder="请输入用户名" size="100"></p>
    <p>密码:<input type="password" name="pwd"></p>
    <p>确认:<input type="password" name="rpwd"></p>
    <p>性别:
      男<input type="radio" name="sex" value="" checked><input type="radio" name="sex" value=""></p>
    <p>
      爱好:
      游泳<input type="checkbox" name="hobby" value="游泳">
      健身<input type="checkbox" name="hobby" value="健身">
      篮球<input type="checkbox" name="hobby" value="篮球">
      足球<input type="checkbox" name="hobby" value="足球">

    </p>
    <p>
      出生日期:
      <select>
        <option selected="selected">一月</option>
        <option>二月</option>
        <option>三月</option>
        <option>四月</option>
        <option>五月</option>
        <option>六月</option>
        <option>七月</option>
        <option>八月</option>
        <option>九月</option>
        <option>十月</option>
        <option>十一月</option>
        <option>十二月</option>
      </select>
    </p>
    <p>
      文件上传:<input type="file">
    </p>
    <p>
      <textarea cols="20" rows="10">hello word</textarea>

      <p>
        <input type="submit" value="登录">
        <input type="reset" value="重置">
        <input type="button" value="普通按钮">
        <input type="hidden" name="id" value="100">
        <!--
					submit:会直接提交Form表单
					reset:重置
					button:不提交
					hidden:隐藏域传递信息
				-->
      </p>

  </form>

  <!--
			<form>内
				action:提交路径
				method:
					form表单常用的两种提交方式
					get:默认参数,提交的参数会在地址栏中显示不安全,
						有字符限制,常用于查询
					post:安全,提交的参数不会在地址栏中显示,
						基本上无字符限制
			
			文本框:  <input type=”text”/>
				name 控件的名称  (一组控件的名称)
				value 控件的值
				size 控件的长度
				maxlength控件中文字的最大数量
				readonly控件设置为只读的

			密码框:<input type=”password”/>
			单选按钮:<input type=”radio”/>
			复选框:<input type=”checkbox”/>
				Checked:默认选中
				
			下拉列表框:<select><option></option></select>
				Selected:默认选中
				Multiple:全部显示
				
			文件上传项:<input type=”file” name=”file”/>
				
			文本域:<textarea name=”” cols=”” rows=””></textarea>
				
			提交按钮:<input type=”submit” value=”注册”>
			
			重置按钮:<input type=”reset” value=”重置”>
			
			普通按钮:<input type=”button” value=”普通按钮”>
			
			隐藏字段:<input type=”hidden” name=”id”/>

		-->

</body>

</html>

HTML学习(一)html、xhtml、html5

(四)框架 Frame

使用了frameset标签,不需要使用body. 属性: rows:横向切分页面 cols:纵向切分页面 frameborder :是否显示框架边框 0 、 1、 yes、 no 标签代表切分每个部分的页面 src:引入页面的路径 name 框架页面的名称 noresize :禁止调整大小 scrolling : 是否显示滚动条

<html>

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

<frameset rows="20%,*">
  <frame src="shop.html"></frame>

  <frameset cols="20%,*">
    <frame src="left.html"></frame>
    <frame src="用户管理.html" name="rightFrame"></frame>
  </frameset>

</frameset>

</html>

HTML学习(一)html、xhtml、html5

相关标签: HTML5 html html5