• 50-Web基础-HTML


    1、什么是HTML?

    HTML 是用来描述网页的一种语言。

    • HTML 指的是超文本标记语言 (Hyper Text Markup Language)
    • HTML 不是一种编程语言,而是一种标记语言 (markup language)
    • 标记语言是一套标记标签 (markup tag)
    • HTML 使用标记标签来描述网页
    • HTML 文档描述网页
    • HTML 文档包含 HTML 标签和纯文本
    • HTML 文档也被称为网页,Web 浏览器的作用是读取 HTML 文档,并以网页的形式显示出它们。浏览器不会显示 HTML 标签,而是使用标签来解释页面的内容。

    2、标签

    2.1 基础概念

    • HTML标签是HTML语言中最基本的单位,标签不区分大小写,由尖括号包裹关键字构成,例如<html>test</html> 叫做html标签,<div>test</div>叫做div标签,以此类推。
    • 类似<meta>这种就叫做自闭合标签,类似<a></a>就叫做主动闭合标签。
    • 标签可以嵌套,例如<div><div></div></div>。
    • 标签存在的意义:定位操作、CSS操作、让JS操作更简单。
    • 所有的标签分为块级标签和行内标签(又叫做内联标签)
      • 块级标签:占满一行,如常见的H系列标签,P标签,div标签。
      • 行内标签(内联标签):只占元素长度大小,如span标签。

    2.2 常用的标签

      <!DOCTYPE> 定义遵循的文档类型,如<!DOCTYPE html> 则代表遵循html文档规范。

      2.2.1 head中的常见标签:

     1 <head>
     2     <meta charset="UTF-8">  <!-- meta为自闭合标签, charset属性定义字符编码 -->
     3     <meta http-equiv="Refresh" content="3">  <!-- 3秒自动刷新 -->
     4     <meta http_equiv="Refresh" content="3;Url=http://edu.51cto.com">  <!-- 3秒自动跳转百度 -->
     5     <meta name="keywords" content="吃鸡,关键字2,关键字3">  <!-- 给搜索引擎用的关键字 -->
     6     <meta name="description" content="网站描述信息">  <!-- 描述当前网站是干嘛的 -->
     7     <meta http_equiv="X-UA-Compatible" content="IE=EmulateIE8;IE=IE7">  <!-- 主动兼容IE8和IE7 -->
     8     <title>标签</title>  <!-- head内部的标签只有title可见 -->
     9     <link rel="shortcut icon" href="image/favicon.ico">  <!-- 小图标显示 -->
    10 </head>

      2.2.2 body中的常见标签:

      2.2.2.1 <h>-</h>标签:h标签用来定义标题

    <body>
        <h1>Druid</h1>  <!-- h标签用来定义标题,字体从上至下依次缩小 -->
        <h2>Druid</h2>
        <h3>Druid</h3>
        <h4>Druid</h4>
        <h5>Druid</h5>
        <h6>Druid</h6>
    </body>   

        2.2.2.2 <p>-</p>标签:p标签用来定义段落

    1 <body>
    2     <p>第一段落</p>  <!-- p标签用来控制段落,段落间有间距 -->
    3     <p>第二段落</p>
    4     <p>第三段落</p>
    5 </body>

    2.2.2.3 <span>-</span>标签:span标签为白板标签(行内标签)

    1 <body>
    2     <span>第一行</span>  <!-- 行内标签(内联标签) -->
    3     <span>这里紧跟第一行,不会换行</span>
    4 </body>

    2.2.2.4 <div>-</div>标签:div标签为白板标签(块级标签)

    1 <body>
    2      <div>第一行</div>  <!-- 块级标签 -->
    3      <div>这里就要换行了</div>
    4 </body>

    2.2.2.5 <a>-</a>标签:a标签用来定义链接和锚

    用来定义链接:单击文字即可跳转至链接

    <body>
        <a href="http://www.baidu.com" target="_blank">百度</a>  <!-- target="_blank"在新的标签页打开百度,若不加则在原页打开 -->
    </body>

    用来定义锚:作为锚点,单击文字即可跳转至对应的ID处。什么是锚?通俗的讲,我们想要让页面跳转到的位置,就是锚点。锚点是一种超链接,只不过它是页面内部的超链接,

    它指向页面特定的部分。

    要使用锚点定位,需要两个部分组成:1、锚点; 2、指向锚点的链接

    方法一:使用id属性作为锚点,a标签作为指向锚记的链接,俗称“id”定位,代码如下所示:

     1 <body>
     2     <a href="#1">第一章</a>  <!-- #为关键字符,创建指向锚点的链接,id后面的字符要和跳转地方id属性值保持一致 -->
     3     <a href="#2">第二章</a>
     4     <a href="#c">第三章</a>
     5     <div style="height: 600px;" id="1">  <!-- 创建的锚点 -->
     6         第一章的内容
     7     </div>
     8     <div style="height: 600px;" id="2">  <!-- 创建的锚点 -->
     9         第二章的内容
    10     </div>
    11     <div style="height: 600px;" id="c">  <!-- 创建的锚点 -->
    12         第三章的内容
    13     </div>
    14 </body>

        方法二:既使用a标签的name属性作为锚点,又使用a标签作为指向锚点的链接,俗称“name”定位,代码如下所示:

     1 <body>
     2     <a href="#1">第一章</a>  <!-- #为关键字符,创建指向锚的链接,#后面的字符要和跳转地方name属性值保持一致 -->
     3     <a href="#2">第二章</a>
     4     <a href="#c">第三章</a>
     5     <p></p>
     6     <a style="display:inline-block; height: 600px;  100%" name="1">  <!-- 创建锚点;inline-block为行内块,因此需要设置宽度 -->
     7         <p>第一章的内容</p>
     8     </a>
     9     <a style="display:block; height: 600px;" name="2">  <!-- 创建锚点;block为块元素,因此不需要设置宽度 -->
    10         第二章的内容
    11     </a>
    12     <a style="display:inline-block; height: 600px;  100%" name="c">  <!-- 创建锚点 -->
    13         第三章的内容
    14     </a>
    15 </body>

    2.2.2.6 <img />标签:img标签用来定义图片

    1 <body>
    2     <img src="1.png" />
    3 </body>
    1 <body>
    2     <a href="http://www.baidu.com">
    3         <img src="1.png" title="图片" style="height: 300px; 300px" alt="图片"/>
    4     </a>  <!-- 单击图片直接跳转至指定url;title属性用于鼠标悬浮显示信息;alt属性在图片不能显示的时候显示对应的文字信息 -->
    5 
    6 </body>   

        2.2.2.7 <br />标签:<br /> 元素是一个空的 HTML 元素,用来换行

    1 <body>
    2     <div>换行<br />测试</div>
    3 </body>

    2.2.2.8 <form> </form>标签:HTML表单用于收集用户输入,form标签用来定义HTML表单。HTML表单又包含表单元素:input、select和textarea。

        <input />标签(元素):

    1 <body>
    2     <form action="" method="">  <!-- form为表单标签,用来向后台提交数据;action属性用来指定服务器url;method用来指定get或者post -->
    3         <input type="text" />  <!-- 单行文本输入框 -->
    4         <br />
    5         <input type="password" />  <!-- 会隐藏真实字符 -->
    6         <input type="button" value="没用" />  <!-- button默认情况下无用 -->
    7         <input type="submit" value="登录" />  <!-- submit才能提交表单 -->
    8     </form>
    9 </body> 
     1 <body>
     2     <form action="http://localhost:8888/index" method="post">  <!-- get会将输入内容拼接成url提交给后台,post会将内容放到数据中提交给后台 -->
     3         <input type="text" name="user" />  <!-- name属性用来定义字典的key -->
     4         <br />
     5         <input type="password" name="pwd" />
     6         <!-- 打包成字典{"user": "用户输入的用户名", "pwd": "用户输入的密码"}发给后台 -->
     7         <input type="button" value="没用" />
     8         <input type="submit" value="登录" />
     9     </form>
    10 </body>
    <body>
        <form enctype="multipart/form-data">  <!-- enctype="multipart/form-data"该属性用来上传文件 -->
            <div>
                用户名:<input type="text" name="user" />
                <p>请选择性别:</p>
                    男:<input type="radio" name="sex" value="1" checked="checked" />  <!-- radio为单选框,如果没有name或者name不相同,那么就可以多选 -->
                    女:<input type="radio" name="sex" value="2" />  <!-- 这里的value用于给后台传数据;checked用来设置默认值 -->
                <p>爱好:</p>
                    篮球:<input type="checkbox" name="favor" value="1" />  <!-- checkbox为复选框 -->
                    足球:<input type="checkbox" name="favor" value="2" />  <!-- 这里的name用于后台批量获取数据 -->
                    羽毛球:<input type="checkbox" name="favor" value="3" />
                    台球:<input type="checkbox" name="favor" value="4" />
                    网球:<input type="checkbox" name="favor" value="5" />
                <p>技能:</p>
                    写代码:<input type="checkbox" name="skill" value="1" checked="checked" />
                    修车:<input type="checkbox" name="skill" value="2" />
                <p>上传文件:</p>
                    <input type="file" name="filename" />  <!-- type="file"用来上传文件,真实的传文件依赖form表单属性enctype -->
    
            </div>
            <input type="reset" value="重置" />  <!-- 重置除默认值以外的值 -->
            <input type="submit" value="提交" />
        </form>
    </body>   

    <select> </select>标签(元素):select标签定义下拉列表,option标签定义待选项,列表通常会把首个选项显示为被选选项,能够通过添加 selected 属性来定义预定义选项。

        value属性规定在表单被提交时被发送到服务器的值。<option> 与 </option> 之间的值是浏览器显示在下拉列表中的内容,而value属性中的值是表单被提交时被发送到服务器的值。

        如果没有指定value属性,<option> 与 </option> 之间的值则会在表单被提交时发送到服务器

     1 <body>
     2     <form>
     3         <div>
     4             <select name="city">
     5                 <option value="1">北京</option>
     6                 <option value="2">上海</option>
     7                 <option value="3">广东</option>
     8                 <option value="4">深圳</option>
     9                 <option value="5" selected="selected">成都</option>
    10             </select>  <!-- selected="selected"为默认值 -->
    11             <input type="submit" value="提交" />
    12         </div>
    13         <div>
    14             <select name="city" size="10">
    15                 <option value="1">北京</option>
    16                 <option value="2">上海</option>
    17                 <option value="3">广东</option>
    18                 <option value="4">深圳</option>
    19                 <option value="5" selected="selected">成都</option>
    20             </select>  <!-- size用来设置显示的行数 -->
    21             <input type="submit" value="提交" />
    22         </div>
    23         <div>
    24             <select name="city" size="10" multiple="multiple">
    25                 <option value="1">北京</option>
    26                 <option value="2">上海</option>
    27                 <option value="3">广东</option>
    28                 <option value="4">深圳</option>
    29                 <option value="5" selected="selected">成都</option>
    30             </select>  <!-- multiple属性用于多选 -->
    31             <input type="submit" value="提交" />
    32         </div>
    33         <div>
    34             <select name="city">
    35                 <optgroup label="北京市">
    36                     <option value="1" selected="selected">北京</option>
    37                 </optgroup>
    38                 <optgroup label="四川省" />
    39                     <option value="2" selected="selected">成都</option>
    40                     <option value="3">绵阳</option>
    41                 </optgroup>
    42                 <optgroup label="河北省" />
    43                     <option value="4" selected="selected">石家庄</option>
    44                     <option value="5">保定</option>
    45                 </optgroup>
    46             </select>  <!-- optgroup属性用于组合相关选项 -->
    47             <input type="submit" value="提交" />
    48         </div>
    49     </form>
    50 </body>

    <label></label>标签: 标签为 input 元素定义标注(标记)。label 元素不会向用户呈现任何特殊效果。不过,它为鼠标用户改进了可用性。如果您在 label 元素内点击文本,就会触发此控件。就是说,当用户选择该标签时,浏览器就会自动将焦点转到和标签相关的表单控件上。<label> 标签的 for 属性应当与相关元素的 id 属性相同。

     1 <html>
     2     <body>
     3 
     4         <p>请点击文本标记之一,就可以触发相关控件:</p>
     5 
     6         <form>
     7             <label for="male">Male</label>
     8            <input type="radio" name="sex" id="male" />
     9             <br />
    10             <label for="female">Female</label>
    11             <input type="radio" name="sex" id="female" />
    12         </form>
    13 
    14     </body>
    15 </html> 

    <textarea> </textarea>标签(元素):textarea标签用来定义多行输入

    1 <body>
    2     <div>
    3         <textarea name="key">
    4             这里的文本作为默认值
    5         </textarea>  <!-- textarea标签用来定义多行输入,name还是作为Key -->
    6     </div>
    7 </body>

        2.2.2.9 HTML列表:HTML支持有序、无序列表和定义列表 

        无序列表是一个项目的列表,此列项目使用粗体圆点(典型的小黑圆圈)进行标记。无序列表始于 <ul> 标签。每个列表项始于 <li>。列表项内部可以使用段落、换行符、图片、链接以及其他列表等等。

    1 <body>
    2     <ul>
    3         <li>第一行</li>
    4         <li>第二行</li>
    5         <li>第三行</li>
    6     </ul>  <!-- ul样式为圆点 -->
    7 </body>    
     1 <body>
     2     <h1>一个嵌套列表:</h1>
     3     <ul>
     4       <li>咖啡</li>
     5       <li> 6         <ul>
     7         <li>红茶</li>
     8         <li>绿茶</li>
     9         </ul>
    10       </li>
    11       <li>牛奶</li>
    12     </ul>
    13 </body>

        有序列表也是一列项目,列表项目使用数字进行标记。有序列表始于 <ol> 标签。每个列表项始于 <li> 标签。列表项内部可以使用段落、换行符、图片、链接以及其他列表等等。

    1 <body>
    2     <ol>
    3         <li>第一行</li>
    4         <li>第二行</li>
    5         <li>第三行</li>
    6     </ol>  <!-- ol样式为数字 -->
    7 </body>   
     1 <body>
     2     <h1>数字列表:</h1>
     3     <ol>
     4      <li>苹果</li>
     5      <li>香蕉</li>
     6      <li>柠檬</li>
     7      <li>桔子</li>
     8     </ol>
     9 
    10     <h1>字母列表:</h1>
    11     <ol type="A">
    12      <li>苹果</li>
    13      <li>香蕉</li>
    14      <li>柠檬</li>
    15      <li>桔子</li>
    16     </ol>
    17 
    18     <h1>小写字母列表:</h1>
    19     <ol type="a">
    20      <li>苹果</li>
    21      <li>香蕉</li>
    22      <li>柠檬</li>
    23      <li>桔子</li>
    24     </ol>
    25 
    26     <h1>罗马字母列表:</h1>
    27     <ol type="I">
    28      <li>苹果</li>
    29      <li>香蕉</li>
    30      <li>柠檬</li>
    31      <li>桔子</li>
    32     </ol>
    33 
    34     <h1>小写罗马字母列表:</h1>
    35     <ol type="i">
    36      <li>苹果</li>
    37      <li>香蕉</li>
    38      <li>柠檬</li>
    39      <li>桔子</li>
    40     </ol>
    41 </body>

        自定义列表不仅仅是一列项目,而是项目及其注释的组合。自定义列表以 <dl> 标签开始。每个自定义列表项以 <dt> 开始。每个自定义列表项的定义以 <dd> 开始。定义列表的列表项内部可以使用段落、换行符、图片、链接以及其他列表等等。

     1 <body>
     2     <dl>
     3         <dt>标题行</dt>
     4         <dd>缩进行1</dd>
     5         <dd>缩进行2</dd>
     6         <dt>标题行</dt>
     7         <dd>缩进行1</dd>
     8         <dd>缩进行2</dd>
     9     </dl>
    10 </body>

        让列表元素横向排列

     1 <head>
     2     <meta charset="UTF-8">
     3     <title>Title</title>
     4     <style>
     5         li{
     6         width:100px;
     7         height:20px;
     8         float:left;
     9         list-style: none;  <!-- 不显式任何列表符号 -->
    10         }
    11     </style>
    12 </head>
    13 <body>
    14     <ul >
    15         <li>列表内容</li>
    16         <li>列表内容</li>
    17         <li>列表内容</li>
    18     </ul>
    19 </body>

        2.2.2.10:table表格标签,用来定义HTML表格

     1 <body>
     2     <table>
     3         <tr>
     4             <td>第一行,第一列</td>
     5             <td>第一行,第二列</td>
     6             <td>第一行,第三列</td>
     7         </tr>  <!-- tr表示一行  td表示一列-->
     8         <tr>
     9             <td>第二行,第一列</td>
    10             <td>第二行,第二列</td>
    11             <td>第二行,第三列</td>
    12         </tr>
    13     </table>
    14     <table border="1">
    15         <tr>
    16             <td>第一行,第一列</td>
    17             <td>第一行,第二列</td>
    18             <td>第一行,第三列</td>
    19         </tr>
    20         <tr>
    21             <td>第二行,第一列</td>
    22             <td>第二行,第二列</td>
    23             <td>第二行,第三列</td>
    24         </tr>
    25     </table>
    26 </body>
     1 <body>
     2     <table border="1">
     3         <tr>
     4             <td>主机名</td>
     5             <td>IP地址</td>
     6             <td>端口号</td>
     7             <td>操作</td>
     8         </tr>
     9         <tr>
    10             <td>host1</td>
    11             <td>1.1.1.1</td>
    12             <td>80</td>
    13             <td>
    14                 <a href="http://www.baidu.com">查看详细</a>
    15                 <a href="#">修改</a>
    16             </td>
    17         </tr>
    18         <tr>
    19             <td>host2</td>
    20             <td>2.2.2.2</td>
    21             <td>80</td>
    22             <td>
    23                 <a href="http://www.baidu.com">查看详细</a>
    24                 <a href="#">修改</a>
    25             </td>
    26         </tr>
    27         <tr>
    28             <td>host3</td>
    29             <td>3.3.3.3</td>
    30             <td>80</td>
    31             <td>
    32                 <a href="http://www.baidu.com">查看详细</a>
    33                 <a href="#">修改</a>
    34             </td>
    35         </tr>
    36     </table>
    37 </body>

        下面的写法才是最标准的:

     1 <body>
     2     <table border="1">
     3         <thead>
     4             <tr>
     5                 <th>主机名</th>
     6                 <th>IP地址</th>
     7             </tr>
     8         </thead>
     9         <tbody>
    10             <tr>
    11                 <td>host1</td>
    12                 <td>1.1.1.1</td>
    13             </tr>
    14             <tr>
    15                 <td>host2</td>
    16                 <td>2.2.2.2</td>
    17             </tr>
    18             <tr>
    19                 <td colspan="2">第三行占两列</td>
    20             </tr>
    21             <tr>
    22                 <td rowspan="2">host3占两行</td>
    23                 <td>3.3.3.3</td>
    24             </tr>
    25             <tr>
    26                 <td>3.3.3.3</td>
    27             </tr>
    28         </tbody>
    29     </table>  <!-- thead为标准的表头,tbody为标准的表内容;colspan合并列,rowspan合并行 -->
    30 </body>

    2.2.2.11:fieldset标签用来对表单元素进行分组

     1 <body>
     2     <form>
     3         <fieldset>
     4             <legend>登录</legend>  <!-- 该标签用来设置框上的文字 -->
     5                 <label for="username">用户名:</label>
     6                 <input type="text" name="user" id="username" />
     7                 <label for="password">密码:</label>
     8                 <input type="password" name="pwd" id="password" />
     9         </fieldset>
    10         <fieldset>
    11             <legend>性别</legend>  <!-- 该标签用来设置框上的文字 -->
    12                 男:<input type="radio" name="sex" value="1" checked="checked" />
    13                 女:<input type="radio" name="sex" value="2" />
    14         </fieldset>
    15     </form>
    16 </body>

    3、注释

    HTML语言注释用<!-- 注释 -->,CSS中用/*注释*/

     

     

  • 相关阅读:
    连接心跳问题
    超时时间已到
    CSS定位属性-position
    AJAX背景技术介绍
    mysql中length字符长度函数使用方法
    mysql常用函数
    php构造函数的继承方法
    属性选择器(通常用在input)
    input标签常用属性
    PHP程序如何debug?
  • 原文地址:https://www.cnblogs.com/Druidchen/p/8979156.html
Copyright © 2020-2023  润新知