小K的H5之旅-HTML的基本结构与基本标签

一、什么是HTML

HTML是超文本标签语言,即网页的源码。而浏览器就是翻译解释HTML源码的工具。

二、HTML文档的结构

HTML文档主要包括三大部分:文档声明部分、<head>头部部分、<body>主体部分。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>我的第一个网页</title>
</head>
<body>
</body>
</html>

<!DOCTYPE html>  →这是HTML文档的声明部分,在html5中,已经被简化成了此样式。

需要注意的是:文档声明必须有!而且必须在文档页面的第一行!

三、HTML的基本标签

1.<head>头部部分

head标签内信息用于描述网页,即元数据(描述网页的基本信息)。

1.1meta标签

meta标签描述文档类型和编码、可以描述网页的关键字keywords和描述description。

meta标签常用属性:
    1.1.2 charset:设置文档的字符集编码格式
                    比如说Html5中设置字符集编码 <meta charset="UTF-8">
                             >>>常见的几种字符集编码格式:
                                    a.UTF-8 :万国码,又称 Unicode8(此外还有Unicode16)。常用!
                                    b.GB-2312 :国标码。
                                    c.GBK :扩展的国标码。

1.1.2 http-equiv:将信息写给浏览器看,让浏览器按照这里面的要求执行,需要配合content属性使用。
                     (http-equiv属性只是表明需要设置那一部分,具体的设置内容,放到content属性中)。
                      可选属性值: Content-Type(文档类型) refresh(自动刷新)set-Cookie(设置浏览器cookie缓存) 。

1.1.3 name:使用方法同"http-equiv"将我们的信息写给搜索引擎看的。
                 常用且需要掌握的属性值:author(作者)keywords(关键字)description(网页描述)。

1.2title标签

网页的标题,即网页的选项卡上的文字

1.3link标签

链接网页与其他文件。

↓下面举个栗子↓

 <!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="author" content="http://www.xxxxx.com"/>
<meta name="keywords" content="HTML5,网页,web前端开发"/>
<meta name="description" content="这是我的第一个网页"/>
<title>我的第一个网页</title>
   <link rel="icon" href="ivicon.png">
</head>
<body>
</body>
</html>

2.<body>主体部分

2.1 标签的分类

a.块级标签,显示为块,前后隔一行(自动换行)。
     b.行级标签 ,按行从左往右逐一显示。

2.2 常见的块级标签

a.标题标签:<h1></h1>......<h6></h6>   特点:h1最大,h6最小,自动加粗。

b.水平线标签:<hr/>

c.段落标签:<p></p>

d.换行标签:<br/>

e.引用标签:<blockquote></blockquote>
             重要的cite属性表明引用的来源,一般为网址,且网址不会在网页中展示
             浏览器一般显示为首行缩进

f.预格式标签:<pre></pre>
             浏览器默认显示样式:①显示为等宽字体
                                         ②代码中的换行,空格等元素可在浏览器中直接显示。

↓下面举个栗子↓

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>常见的块级标签</title>
</head>
<body>
<h1>h1标题标签</h1>
<h2>h2标题标签</h2>
<h3>h3标题标签</h3>
<h4>h4标题标签</h4>
<h5>h5标题标签</h5>
<h6>h6标题标签</h6>
<hr/>
<p>这是段落标签,=w= <br />这里是一段文字哟</p>
<p>只是第二段 <br />=w= look at me!!! </p>
<blockquote cite="此处一般为网址">
横眉冷对千夫指,俯首甘为孺子牛
</blockquote>
<pre>一二三四五
一二三四五</pre>
</body>
</html>

2.3 基于布局的块级标签

列表:无序列表、有序列表、定义列表(图文结合)。

a.有序列表
     <ol> (order list缩写)
       <li>...</li> 列表项可以有n多个
       <li>...</li>
       <li>...</li>
     </ol>

b.无序列表
     <ul> (unorder list)
       <li>...</li> n多个
       <li>...</li>
       <li>...</li>
     </ul>

c.定义描述列表
     <dl>
       <dt>一般只有一项</dt> (列表标题)(标题顶格显示)
       <dd>可以有很多项</dd> (列表描述项)(描述项相对标题缩进显示)
       <dd>。。。。。</dd>
       <dd>。。。。。</dd>
     </dl>

d.组合标签 显示效果:上面是图片,下面是图片的标题,同时图片和标题前代缩进。
     <figure>
       <img/> 图片
       <figcaption></figcaption> 图片的标题。
     </figure>

e.分区标签

<div></div>  可以包裹任何标签,也可以被包裹进任何标签。

↓下面举个栗子↓

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>基于布局的块级标签</title>
</head>
<body>
<ol>
<li>这是第一项</li>
<li>这是第二项</li>
<li>这是第三项</li>
</ol>
<ul>
<li>无序1</li>
<li>无序2</li>
<li>无序3</li>
</ul>
<dl>
<dt>这是定义列表的标题</dt>
<dd>这是描述项1</dd>
<dd>这是描述项2</dd>
<dd>这是描述项3</dd>
</dl>
<!--嵌套时,HTML标签一定不能交叉!!-->
<figure>
<img src="../img/ivicon.png"/>
<figcaption>这是图片标题</figcaption>
</figure>
<div style="width:100px ;height: 20px;background-color: blue;">这是一个div
</div>
</body>
</html>

2.4 行级标签

行级标签主要有:<span>

<em><i>

<strong><b>

<q>

<small><big>

<img>

<a>

↓行级标签的写法及注意事项如下↓

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>常见的行级标签</title>
</head>
<body>
<a name="top"></a>
<!--span(文本)-->
<span style="color: red;font-size: 36px;background-color: yellow;">这是span中的文字(作用:无实际意义,对于某些<span style="color: blueviolet;">特别的文字</span>进行样式修改时用此标签包裹)</span> <br />
<!--em(强调)-->
这是一句话,<em>重点</em>在这里
<!--两者都是斜体,但前者拥有更着重的语气,而后者不具备这一点--> <br />
<!--i(倾斜)-->
这是一句话,<i>重点</i>在这里 <br />
<!--strong(强调)-->
这是一句话,<strong>重点</strong>在这里
<!--两者的区别同上--> <br />
<!--b(加粗)-->
这是一句话,<b>重点</b>在这里
<!--[注意] 1.强调程度来说: strong>em;
2.HTML5语言,要求标签尽可能的
实现语义化。(strong与em所包含的b与i不具备的强调含义)
--> <br />
<!--q(短引用)显示为文字用引号包括-->
<q cite="">知识短引用中的文字</q> <br/>
<!--small(缩小字体)big(放大字体) 【两者可以多重嵌套,但不常用】-->
<small>这个<small>比上面的<small>小</small></small></small>
<br/>
<big>这个<big>比上面的<big>大</big></big></big> <br />
<!--img(图片)
1.src: 表示引用图片的地址
路径地址的写法:a.★相对路径:以当前文件为准去寻找图片地址。
与当前文件处于同一层的图片直接写图片及其后缀名;
图片在当前文件下一层:文件夹名/图片名
图片在当前文件上一层:../图片名
b.绝对路径:严禁使用!!例如file:///D:/111.gif
c.网络地址:网络上的图片链接。但是,一般不使用。
2.height width : 图片的高度和宽度,可以用css样式(style="height: ;width: ;")所代替
3.title :图片的标题,当鼠标之上后显示的文字。
4.alt:当图片无法加载的时候显示的文字。
*5.Align:图片两边文字所对应图片的位置。(top center bottom)
-->
<img src="此处为网络地址"/>
<!--以上为网络地址写法-->
<img src="此处为路径"/>
<!--以上为绝对路径写法-->
<img src="../img/ivicon.png"/>
<img src="ivicon.png" />
<img src="练习用图/ivicon.png" />
<!--以上为相对路径写法-->
<a name="weixin"><img src="练习用图/ivicon.png" style="height:100px ;width:100px ;"title="哈啊哈" alt="这里没显示"/></a>
<br />
<img src="QQ图片20170223092045.jpg"/ align="center">12333333333
<br />
<!--a(超链接)
1.href:超链接的路径(网络连接或者本地文件),路径确定同img。
2.target:blank 新页面打开 self 自身跳转
3.title:同上
4.rel(了解):指定当前文档与被连接文档的关系
prev(前一片)
next(后一篇)
★icon (被链接图片是当前文档的图标)
★stylesheet(被链接文档是当前文档的样式表)
prefetch(预加载,当你在当前文档加载完成,利用空余时间,预加载即将链接文档)
5.锚链接:
a.本页面锚链接 s1.设置锚点<a name="name"></a>
s2.在超链接上使用 #name 跳转到对应锚点
b.页面间锚链接
在即将跳转的页面某位置设定锚点<a name="name"></a>
在超链接的href属性中使用"页面地址.html#name"
6.功能性链接:
mailto:邮箱地址 用于给指定邮箱发送文件
tencen://message/?uin=qq号码 给指定qq发送消息 -->
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<a href="#weixin" target="_self">这是一个超链接,去看微信的</a>
<a href="练习1.html#qq" target="_self" title="aaaaa">这个是练习一,自身跳转的</a>
<a href="mailto:xxxxxxx@qq.com">这里发邮件</a>
<a href="tencen://message/?uin=xxxxxxx">这里发信息</a>
<a href="ivicon.png" target="_blank">picture</a>
</body>
</html>

2.5 表格

2.5.1 表格的结构

表格元素:行 列 格
        表格 <table></table>
        表格的行 <tr></tr>
        每行中的列 <td></td>
        表格的表头 <th></th>( 默认加粗,单元格居中。)

2.5.2 table的常见属性
     1.border 边框,其增大时,只增加外围框线,单元格边框始终为1像素
     2.cellspacing 单元格之间的间隙距离,当=0的时候,只会是单元格的
     间隙等于0,但不会合并边框线,此时表格中线为两个像
     素,若想使其合并,则★使用 style="border-collapse:collapse"★
     3.cellpadding 单元格里边的文字与边框线的距离(不常用)
     4.width height 宽度和高度
     5.align 表格的对齐方式
       【left right center】
       【注意事项:相当于让表格浮动,会影响其后的元素的原有排列方式】
     6.bgcolor 单元格的背景色,等同于style="background-color:;"
     7.background 单元格的背景图片,等同于style="background-image:;"
     且背景图会覆盖背景色
     8.bordercolor 边框的颜色

2.5.3 tr td(th)相关属性
     1.width height 单元格的宽度和高度
     2.bgcolor 单元格的背景颜色
     3.align (left right center)单元格中的文字水平对齐方式(text-align 文本居中)
     4.valign (top center bottom)单元格中的文字垂直对齐方式
     5.nowrap 单元格中文字不换行

【注意】当表格属性与行列属性相冲突时,以行列属性为准
                         (近者优先!!!)
table中的align控制表格在整个浏览器中的显示位置!
单元格中的align控制其中文字在单元格中的对齐方式!
表格的align属性并不影响单元格内文字的水平对齐方式!
tr的align属性可以控制一行中所有单元格的水平对齐方式!

2.5.4 表格的跨行和跨列
        跨行:colspan="n列" N行对应删除右边N-1行。
        跨列:rowspan="n行" N列对应删除右边N-1列。

↓下面举个栗子↓

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>表格</title>
</head>
<body>
<table width="500" height="200" border="5" style="border-collapse:collapse" cellpadding="20" align="center" bgcolor="aqua" bordercolor="red">
<caption>我是表格的标题</caption>
<tr>
<th width="150" bgcolor="bisque"align="left"valign="top"nowrap="nowrap">表头1</th>
<th colspan="3">表头2</th>
</tr>
<tr>
<td rowspan="2">1-1</td>
<td>1-2</td>
<td>1-3</td>
<td>1-4</td>
</tr>
<tr>
<td>2-2</td>
<td>2-3</td>
<td>2-4</td>
</tr>
</table>
</body>
</html>

2.6 文本级语义

↓写法及注意事项如下↓

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>文本级语义</title>
</head>
<body>
<s>this is wrong</s>
<br />
<cite>this is cite</cite>
<br />
<pre><code>这里面是计算机代码,但不会保留代码格式,需配合pre标签使用</code></pre>
<br />
<bdo dir="rtl">千万不要倒过来念</bdo>
<!--rtl从右往左 ;ltr从左往右-->
<br />
请输入<kbd><span style="color: red;">红色文字部分</span></kbd>退出系统
<!--表示需要用户输入的内容,浏览器显示为等宽字体-->
<br />
文本<sup>这是上标文本</sup>
<br />
文本<sub>这是上标文本</sub>
<br />
&copy;这是版权符号
<br />
<u>下划线</u>
<br />
<time datetime="0214">这是time标签 12:12</time>
<br />
<mark>这是mark标签,高亮或标记文本,浏览器显示为黄色背景</mark>
<br />
<date>这是Date标签</date> </body>
</html>

2.7 表单

2.7.1 表单 form
         一般情况下与table一起使用,但两者互不影响
2.7.2 重要属性(缺一不可):
        action="表单提交地址"(各种后台语言)<空白则提交本页面>
        method="提交方法"(两个属性值:post[比较安全] get)
  get post的区别:

get: http://127.0.0.1:8020/HTML5%3d1701wk/HTML基本标签/D4-练习9.html?username=wk&password=12345
  post:http://127.0.0.1:8020/HTML5%3d1701wk/HTML基本标签/D4-练习9.html

1.get: 使用url传参:http://服务器地址?name1=value1&name2=value2
(?表示传递参数,?后面采用name=value的形式传递,多个参数之间用&链接)
  ① url传参不安全,所有信息都可以在地址栏看到,并且可以通过地址栏随意传递其他数据,很容易被攻击数据库。
  ② url传参数据量有限,只能传递少量数据。
  2.post: 使用http请求传递数据。url地址栏不可见,比较安全,且传递数据量没有限制。

All in all:一般用post!

2.7.3 input常用属性:
      1.type :表示input输入框的类型.
      2.name :input输入框的别名,一般情况下,必填。因为传递数据时使用name=value的形式传递。
      3.value:input输入框的默认值。
      4.placeholder:input的提示内容,当输入框有value的时候提示内容消失。
      5.tabindex="n"(了解):控制点击tab键时的跳转顺序,从最小的开始,逐步往大的数值跳转,获得焦点。

2.7.4 input特殊属性:
     1.checked="checked"默认选中。
     2.disabled="disabled"设置控制不能使用,用在按钮上不能点击,用在输入框上不能修改。
                                   而且如果输入框disabled,则输入框信息不能往后台传递。
     3.hidden="hidden"隐藏域传值。常用于配合disabled或根据其他需要使用隐藏域传值。

2.7.5 input-type属性详解:
     1.text:文本输入框。
     2.password:密码输入框,输入内容是显示小黑点。
     3.radio:单选按钮。
              ① name和value属性必须同时存在,提交时,提交的是value的属性值。
              ② radio凭借name属性区分是否为同一组,name相同为同组,同组中只能选择一个。
              ③ checked="checked"(或者只写checked)表示默认选择的选项。
        checkbox:复选按钮。(radio只能选一个,checkbox能选多个)
     4.reset:重置表单数据。将表单数据重置为初始状态。
     5.file:文件上传按钮。现在不常用,常用JS来做。
     6.submit:提交按钮,提交表单数据。
     7.image:图形提交按钮。功能同submit,可以提交数据。
     8.button:普通按钮,没有任何功能。

2.7.6 下拉框控件select(单选/多选):
      1.写法 :
        <select>
        <option>可以有n多个</option>
        </select>
     2.name属性应该写在<select></select>上,所有选项只有一个name。
     3.option常用属性:
      ① value:当没有value时,传输的是<option></option>内的文字,当value存在时,传输的是value的值。
      ② title:鼠标之上后显示的文字。
      ③ selected=selected:默认选中。
     4.multiple设置select为多选。(一般不用,体验太差。ctrl+鼠标进行多选。)
     5.optgroup:用于将option标签进行分组,用lable表示分组名。(不常用)

2.7.7 textarea文本域:
      1.写法
      <textarea></textarea>
      2.常见属性:
      ①cols="" rows=""行列(不常用)
        style="width:;height:;"(常用)
      ②readonly="readonly"不允许编辑。
      ③style="resize:none;"固定宽高,设置为其不允许修改:
      ④style="overflow:;"设置当文字超出区域是如何处理,并不是textarea的专属,div亦可。
               常用属性值:hidden超出区域的文字隐藏无法显示;
               scroll无论文字多少均会出现纵横滚动条;
               auto自动,根据文字多少自动决定是否出现滚动条;
               也可以通过overflow-x -y分别设置水平垂直方向的显示方式。

2.7.8 其他属性(不常用):
         <fieldset> [给form表单加上外框]
         <legend>此处是标题</legend>
         </fieldset> [注意:如果想让标题嵌入到边框中,需将标题标签写入到边框标签里面。]
                          [一个表单可以有多个边框组合。]

2.7.9 HTML5智能表单
      1.H5新增input的form属性,用于指向特定form表单的id,实现input无需放在form标签之中,
即可通过表单进行提交。
      2.type新增属性,详见表格。
      3.input元素新增属性:
           Autocomplete:自动完成功能——记录用户之前输入的内容,并在下次输入时自动提示完成输入。
                                【注意】属性值只有两个:on off
                                 可以在form表单上使用,对整张表单的所有空间进行自动完成的开关。
                                 也可以在input上使用,对特定输入框进行修改。
                                 绝大部分浏览器,默认开启。
          Autofocus:自动获得焦点
                          【注意】只能设置一个input元素,自动获得焦点。
          Form:所属表单:通过form表单的id,确定此input输入哪张表单。
          Required:必填 设置input必填,否则阻止提交。
          Pattern:使用正则表达式验证input的模式(详见后续)
          Placeholder:提示内容,当有value时,取消提示。

↓下面举个栗子↓

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>表单</title>
</head>
<body>
<input type="color" name="1" form="1">
<form action="" method="get" id="1">
<table >
<tr>
<td>用户名</td>
<td><input type="text" name="username" placeholder="请输入用户名" hidden="hidden"disabled="disabled"value="11111"/></td>
</tr>
<tr>
<td>密码</td>
<td><input type="password" name="password" placeholder="请输入密码"/></td>
</tr>
<tr>
<td><input type="submit" value="注册"/></td>
</tr>
<tr>
<td><input type="reset" value="清空"/></td>
<td><input type="file" name="value"/></td>
</tr>
<tr>
<td><input type="button" value="这个按钮没啥用!"/></td>
</tr>
<tr>
<td>头像</td>
<td><input type="image" src="练习用图/ivicon.png"/></td>
</tr>
<tr>
<td>性别</td>
<td><input type="radio" name="sex" value="man" checked="checked"/>男
<input type="radio" name="sex" value="women" />女</td>
</tr>
<tr>
<td>爱好</td>
<td><input type="checkbox" name="hobby" value="sleep" />睡觉
<input type="checkbox" name="hobby" value="eat" />吃饭
<input type="checkbox" name="hobby" value="play" />打豆豆</td>
</tr>
<tr>
<td>城市</td>
<td>
<select name="city">
<option value="1" title="11111111111">青岛</option>
<option value="2" title="11111111111">烟台</option>
<option value="3" title="11111111111">济南</option>
<option value="4" title="11111111111">潍坊</option>
</select>
</td>
</tr>
<tr>
<td>城市</td>
<td>
<select name="city">
<optgroup label="山东省">
<option value="1" title="11111111111">青岛</option>
<option value="2" title="11111111111">烟台</option>
<option value="3" title="11111111111">济南</option>
<option value="4" title="11111111111">潍坊</option>
</optgroup>
<optgroup label="还是山东省">
<option value="1" title="11111111111">青岛</option>
<option value="2" title="11111111111">烟台</option>
<option value="3" title="11111111111">济南</option>
<option value="4" title="11111111111">潍坊</option>
</optgroup> </select>
</td>
</tr>
<tr>
<td colspan="2">
<textarea style="width: 100px;height: 150px;resize: none;" readonly="readonly">
这里是服务协议!这里是服务协议!这里是服务协议!这里是服务协议!这里是服务协议!这里是服务协议!
</textarea>
</td>
</tr>
</table>
</form>
</body>
</html>

四、写在后面的话

这篇文章是小K第一次发博文,文章里可能还有许多不恰当的地方,希望各位大神能够帮忙指正,小K现在这里谢谢各位大手啦~

顺便提一下,小K都是用HBuild写的,安利给大家这个软件,感觉对于初次接触的萌新们来说,这是很好上手的一款软件~

最后提一下,浩哥好帅~

上一篇:Run Performance Testing Which Was Distributed To Multiple Test Agents


下一篇:Python学习的一些好资料