web前段基础之HTML

前言

当前文档主要针对web后台开发者html的入门课程,涵盖绝大部分常用标签,学习完毕之后便可以独立完成一些未修饰的网页。

Html简介

什么是Html?

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

备注:
a.超文本:页面内可以包含图片、链接,甚至音乐、程序等非文字元素
b.标记:标签,不同的标签实现不同的功能
c.语言:人与计算机的交互工具

html使用标记标签来描述网页,展示信息给用户。
网页,是网站中的一个页面,而网站就是由网页组成的。
我们看到的网页都是以htm或html后缀结尾的文件,俗称 HTML文件。

Html的版本

html随着web的发展也历经多个版本的迭代,目前开发主流的是HTML 4.01与HTML5,近几年开发都以HTML5为主。下面列出众多版本的列表,了解即可:

版本年份
HTML1991
HTML+1993
HTML 2.01995
HTML 3.21997
HTML 4.011999
XHTML 1.02000
HTML52012
XHTML52013

Html基础语法

Html初体验

创建我们的第一个html文件,也就是第一个网页。可在任意目录下创建文本文档,然后将其后缀修改为.html,我们便得到了一个html文档文件,当然实际开发中我们推荐使用ide。
下面是最简单的html代码,演示了基本的结构。

<!DOCTYPE html>
            <html>
			<head>
									<!--设置页面的字符集编码 -->
									<meta charset="utf-8" />
									<!--设置页面的标题 -->
									<title></title>
			</head>
	        <body>
								   <!--需要展示的信息-->
			</body>
            </html>

Html标签语法规范

html是一种标记语言,在上面的代码中我们也体验了标记,那么标记的语法如下:
html标签是以尖括号包围的关键字
html标签通常是成对出现的,有开始就有结束
html通常都有属性,格式:属性=‘属性值’(多个属性之间空格隔开)
html标签不区分大小写,建议小写

常用标签

结构标签

  <html><html>:根标签		 
    <head>		 	
    <title></title>:页面的标题		 
    </head>		 
    <body></body>:内容

可用部分属性:


    text:文本的颜色		
    bgcolor:背景色		
    background:背景图片			     
颜色的表示方式:                        
    第一种方式:red green blue	             
    第二种方式:#000000  #ffffff  #325687   #377405

排版标签

    注释标签:<!--注释-->                
    换行标签:<br/>           
    段落标签:<p>文本文字</p>   
    	  特点:段与段之间有空行	                      
          属性:align对齐方式	(left    center  right)          
    水平线标签:<hr/>                      
          属性:   
              width:水平线的长度(两种:第一种:像素表示;第二种,百分比表示)              
              size: 水平线的粗细 (像素表示,例如:10px)                                 
              color:水平线的颜色                                  
              align:水平线的对齐方式

块标签

   <div></div>:行级块标签,独占一行
   <span></span>:行内块标签,所有内容都在同一行
   作用于区别解释:
   div和span可以理解成一个容器,这个容器可以放段落、标题、图片等各种HTML元素,
   不同的是div中所有标记构成的容器不与其他标签存在于同一行,而span可以。

文字标签

基本文字标签

<font></font> 
       属性:
             size:设置字体大小
             color:设置蚊子颜色
             face:设置字体   

标题标签

<h1></h1>—-<h6></h6>  
 随着数字增大文字逐渐变小,字体是加粗的,内置字号,默认占据一行

文本格式化标签

知道了解即可,不需要强制记忆。

<b>粗体</b>

    <b> 	定义粗体文本。
    <big> 	定义大号字。
    <em> 	定义着重文字。
    <i> 	定义斜体字。
    <small> 	定义小号字。
    <strong> 	定义加重语气。
    <sub> 	定义下标字。
    <sup> 	定义上标字。
    <ins> 	定义插入字。
    <del> 	定义删除字。

图形标签

<img/> 单标签,用于展示图片
  属性: 
  	  src:图形地址
      width:宽度
      height:高度
      title:鼠标悬停提示文字
      alt:图片的文字说明
     

链接标签

链接标签实现网页间或者网页面内的跳转,比如点击新闻列表进入新闻详情页,点击“返回顶部”自动切换到页面的顶部,使用<a>标签实现,我们也习惯叫链接标签为a标签。

<a>跳转</a>  a标签可包裹文字,图片等,构成一个超链接
 属性: 
 	href:跳转页面的地址或者锚点(跳转到外网需要在路径上添加协议http:);            
 	target: _self(自己)  _blank(新页面,之前页面存在)  默认_self
 
 锚点可以理解为当前页面的某个位置,我们需要为位置上的标签进行标记,
 通过name属性取名,就可以在a标签进行访问,访问锚点的书写格式:href=“#name”的值。

列表标签

列表(List),就是在网页中以条目的形式有序或者无序排列而形成的表,比如新闻列表。常用的列表有无序列表、有序列表。

有序列表

order list 排序的列表

有序列表标签:<ol></ol>
             属性:type:1、A、a、I、i(数字、字母、罗马数字)
             列表项: <li></li>
      示例如下:
 		<ol type="I">有序列表
			<li>苹果</li>
			<li>香蕉</li>
			<li>橘子</li>
		</ol>

无序列表

unorder list 不排序列表

   无序列表标签: <ul></ul>
             属性:type :三个值,分别为
                  circle(空心圆) ,disc(默认,实心圆),square(黑色方块)
         列表项:<li></li>
   
   示例如下:  
        <ul type="square">无序列表
			<li>苹果</li>
			<li>香蕉</li>
			<li>橘子</li>
		</ul>

列表嵌套

<ul>
			<li>咖啡</li>
			<li>茶
				<ul>
					<li>红茶</li>
					<li>绿茶
						<ol>
							<li>中国茶</li>
							<li>非洲茶</li>
						</ol>
					</li>
				</ul>
			</li>
			<li>牛奶</li>
</ul>

表格标签

表格在数据展示的时候也是一种常见的多数据展示格式,html中表格由 <table> 标签来定义。每个表格均有若干行(由 <tr> 标签定义),每行被分割为若干单元格(由 <td> 标签定义)。数据单元格中可以包含文本、图片、列表、段落、表单、水平线、表格等等。

普通表格

<!--border:边框的宽度 bordercolor:边框的颜色 cellspacing:单元格的边距-->
		<table border="1" bordercolor="red" cellspacing="0" align="center">
			<tr>
				<td>学号</td>
				<td>姓名</td>
			</tr>
			<tr>
				<td>1</td>
				<td>aa</td>
			</tr>
		</table>

表格的表头

这里用到了<th>标签和<caption>标签。

<table border="1" bordercolor="red" cellspacing="0" align="center">
			<caption>学生表</caption>
			<tr>
				<th>学号</th>
				<th>姓名</th>
			</tr>
			<tr>
				<td>1</td>
				<td>aa</td>
			</tr>
		</table>

表格合并(合并行)

<table border="1" bordercolor="red" cellspacing="0" align="center">
			<tr>
			<td colspan="4" align="center">学生表</td>
			</tr>
			<tr>
				<td>学号</td>
				<td>姓名</td>
				<td>语文成绩</td>
				<td>数学成绩</td>
			</tr>
			<tr>
				<td rowspan="2">1</td>
				<td rowspan="2">aa</td>
				<td>80</td>
				<td>90</td>
			</tr>
			<tr>
				<td>80</td>
				<td>90</td>
			</tr>
</table>

表格合并(合并列)

	<table border="1" bordercolor="red" cellspacing="0" align="center">
			<tr>
				<td colspan="4" align="center">学生表</td>
			</tr>
			<tr>
				<td>学号</td>
				<td>姓名</td>
				<td colspan="2">各科成绩</td>
			</tr>
			<tr>
				<td>1</td>
				<td>aa</td>
				<td>80</td>
				<td>90</td>
			</tr>
		</table>

表单标签

以上的标签的功能大多是用于数据的展示,有些场景是数据的提交,比如注册用于,我们需要在网页上填写数据,并且将数据提交到服务器。此时我们需要一些标签可以承载用户输入的不同格式的数据。这些标签就是表单标签。
html表单用于搜集不同类型的用户输入。

form标签

form标签本身是没有显示效果的,它相当于一张白纸,白纸内可随意定义用户输入项。

常用属性:action表示动作,值为服务器的地址,把表单的数据提交到该地址上处理
         method:请求方式:get 和post
         enctype:表示是表单提交的类型
			    默认值:application/x-www-form-urlencoded  普通表单
			           multipart/form-data  多部分表单(一般用于文件上传)
			           

说明:这里有一个十分重要的知识点就是请求方式get 和post,我们不在这里详细说明。因为假设你还未具备基础的后端知识,那么我们这里即使进行讲解你也未必完全理解。假如你已经具备了后端知识,那么get和post对于你来说应该已经无需学习,小菜一碟。

input标签

input一般书写在form内,一个input就是可以接受用户数据录入的标记,input可接受多种数据录入方式,比如文字,日期,文件,单选,多选等,通过input标签的type属性来实现不同效果。

type属性:

type: 以下为type可能要取的值: 
      1.1   text 普通文本 默认值是text
      1.2   password  密码框   密文或者掩码
      1.3   radio 表示是单选,name必须一致,
                  表示同一组中只能选中一个( checked ="checked" 表示选中)
      1.4  checkbox  表示多选 ,name必须一致,
                 表示同一组中可以选多个,返回值是个数组( checked ="checked" 表示选中)
      1.5   file :表示上传控件			    
      以上具有输入性质的必须要有name属性,一开始写value表示是默认值(以后获取输入框的内容要根据name来取)	 
	 以下按钮不具有输入性质,不需要name属性,但是按钮上的文字提示使用value属性
      1.6 submit   提交
      1.7 reset   重置
      1.9 image   图片按钮
以上所有input的属性: width 设置宽度,height 设置高度  border 设置边框、
     1.10 hidden  表示隐藏域,该框的内容服务器需要,但是不想让用户知道(不想清楚的显示在界面上)

其他属性:

name="xxx" 自定义属性值,用于为提交的数据指定键,还可用于单选多选的分组。
value="xxx"  指定真实值。
readonly="readonly" 只读
required="required" 必填
checked="checked" 单选多选默认选中
placeholder="placeholder" 占位符,用于文本框内的提示文字
disabled="disabled" 失效

select 标签(下拉列表)

<select name="city">   <!--select标签添加该属性multiple="multiple"表示多选-->  
     <!--option表示下拉列表项-->
	<option value="北京">北京</option> 
     <!--selected="selected"表示选中该项-->
	<option value="上海" selected="selected">上海</option>
	<option value="广州">广州</option>
	<option value="杭州">杭州</option>
</select>

textarea标签(多行文本)

<textarea cols="100" rows="5"></textarea > 
 表示5行100列的区域可以输入内容,该元素没有value属性

通过以上学习,你应该可以独立完成以下demo,提示,这里使用able表格标签会简单很多。

框架标签

过使用框架,你可以在同一个浏览器窗口中显示不止一个页面。每份HTML文档称为一个框架,并且每个框架都独立于其他的框架。
经典场景:

实现代码:

<!--1.框架标签不能和body同时出现
	2.frameset: border去除框架标签的框 ,示例:border="0"
			         border="10px" bordercolor="yellow"
	3.frame框大小不变:两种情况: 
		   第一种:border ="0"
		   第二种: noresize="noresize"  不改变大小
	 备注:scrolling是否显示滚动条
			    yes  显示
			    no   不显示
			    auto  如果内容高度超过屏幕高度直接显示滚动,  
	4. frame 是框,内容使用src来填充,
			 定位显示到指定位置:  使用name属性
		例如:
			点击left.html的标签跳转内容显示在right.html		    
			 1.给right.html的frame添加name属性,方便定位。
			 2.在left.html中使用target目标定位,根据name名查找
		-->
	<frameset rows="200,*" border="10px" bordercolor="yellow">
		<frame src="top.html" scrolling="yes" noresize="noresize" />
		<frameset cols="200,*">
			<frame src="left.html" scrolling="yes" noresize="noresize" />
			<frame src="right.html" name="content" scrolling="yes" />
		</frameset>
	</frameset>

其它标签和特殊字符

其他标签

        <!--该网页的关键字-->
		<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
		<!--该网页的描述-->
		<meta http-equiv="description" content="this is my page">
		 <!--该网页的编码-->
		<meta http-equiv="content-type" content="text/html; charset=UTF-8">
        <!-- href:引入css文件的地址-->
		<link rel="stylesheet" type="text/css" href="./styles.css">
		<!--src:js的文件地址-->
		<script type="text/javascript" src=""></script>

特殊字符

		&lt; 小于号  
        &gt; 大于号
        &amp; 与字符
        &quot; 引号 
        &reg; 己注册
        &copy; 版权
        &trade; 商标
        &nbsp; 空格	

效果图:

h5新标签

html5版本中提供了一些十分新颖的标签和属性,
比如上面学习input的type的可选值在h5就提供了新的属性,color,email等。
新的标签<footer><header><nav> <canvas>等,我们这里不一一介绍,演示几个多媒体标签。
video和audio分别用来在网页展示视频和音频播放器。

<video src="http://www.w3school.com.cn/i/movie.ogg" controls="controls">
your browser does not support the video tag
</video>
<audio src="http://www.w3school.com.cn/i/horse.ogg" controls="controls">
Your browser does not support the audio element.
</audio>

注意:video和audio的出现可解决浏览器对flash的依赖,但是可能会出现兼容性问题,随着发展也会慢慢解决。真实开发大部分公司会采用成熟的第三方封装的播放器,我们这里仅仅作为演示。

结语

当前章节我们学习了常见的html标签,我们目前发现虽然可以实现简单的页面,但是缺乏美感,样子丑陋,如果想要对网页进行美化,我们需要使用到另一个技术叫做css,这也是我们下一个章节要学习的内容。


版权声明:本文为uuyu1原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。