前端_HTML基础

HTML详解

Hyper Text Markup Language

1、初识HTML

什么是HTML

  • HTML
    • Hyper Text Markup Language (超文本标记语言)

HTML发展史

HTML5的优势

  • 世界知名浏览器厂商对HTML 5的支持
    • 微软
    • Google
    • 苹果
    • Opera
    • Mozilla
  • 市场的需求
  • 跨平台

W3C标准

  • W3C
  • W3C标准包括
    • 结构化标准语言(HTML、XML)
    • 表现标准语言(CSS)
    • 行为标准(DOM、ECMAScript )

常见IDE

  • 记事本
  • Dreamweaver
  • IDEA
  • WebStorm
  • ......

HTML基本结构

<body>、</body> 等成对的标签,分别叫开放标签和闭合标签单独呈现的标签(空元素),如<hr/> ;意为用/来关闭空元素

网页基本信息

  • DOCTYPE声明
  • <title>标签
  • <meta>标签

我的第一个网页

<!--DOCTYPE:告诉浏览器,我们要使用什么规范-->
<!DOCTYPE html>
<html lang="en">
<!--head标签代表网页头部-->
<head>
    <!-- meta描述性标签,它用来描述我们网站的一些信息 -->
    <!--meta一般用来做SEO-->
    <meta charset="UTF-8">
    <meta name="keywords" content="我的第一个网页">
    <meta name="description" content="2022/03/22">
     <!--title网页标题-->
    <title>我的第一个网页</title>
</head>
<!--body标签代表网页主体-->
<body>

Hello,World!

</body>
</html>

2、网页基本标签

  • 标题标签
  • 段落标签
  • 换行标签
  • 水平线标签
  • 字体样式标签
  • 注释和特殊符号

代码演示

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>基本标签</title>
</head>
<body>

<!--标题标签-->
<h1>一级标签</h1>
<h2>二级标签</h2>
<h3>三级标签</h3>
<h4>四级标签</h4>
<h5>五级标签</h5>
<h6>六级标签</h6>
    
<!--段落标签-->
<p>咏鹅</p>
<p>【作者】骆宾王 【朝代】唐</p>
<p>鹅鹅鹅,</p>
<p>曲项向天歌。</p>
<p>白毛浮绿水,</p>
<p>红掌拨清波。</p>

<!--水平线标签-->
<hr/>

<!--换行标签-->
咏鹅<br/>
【作者】骆宾王 【朝代】唐<br/>
鹅鹅鹅,<br/>
曲项向天歌。<br/>
白毛浮绿水,<br/>
红掌拨清波。<br/>

<!--粗体,斜体-->
<h1>字体样式标签</h1>
粗体:<strong>I Love You</strong>
斜体:<em>I Love You</em>
<br/>
    
<!--特殊符号-->
空&nbsp;&nbsp;&nbsp;&nbsp;格<br/>
大于符号:&gt;<br/>
小于符号:&lt;<br/>
版权符号:&copy;<br/>
</body>
</html>

六种空格特殊符号

<!-- &nbsp; 不会累加的(只算1个),且该空格占据宽度受【字体】影响明显而强烈 -->

<!-- &ensp; 占据的宽度正好是1/2个中文宽度,且基本上不受字体影响 -->

<!-- &emsp; 占据的宽度正好是1个中文宽度,且基本上不受字体影响 -->

<!-- &thinsp; 占据的宽度比较小,它是em之六分之一宽 -->

<!-- &zwnj; (零宽不连字)是一个不打印字符,放在电子文本的两个字符之间,抑制本来会发生的连字-->

<!-- &zwj; (零宽连字)是一个不打印字符,放在某些需要复杂排版语言(如阿拉伯语、印地语)的两个字符之间,使得这两个本不会发生连字的字符产生了连字效果 -->

3、图像,超链接,网页布局

图像标签

  • 常见的图像格式
    • JPG
    • GIF
    • PNG
    • BMP
    • ......

书写格式:

代码演示

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>图像标签</title>
</head>
<body>

<!--img学习
    src :图片地址
        相对地址(推荐使用),绝对地址
        ../     表示上一级目录
    当只设置width或者height其中一个属性时,图片会等比例缩放,图片不会扭曲
-->


<img src="" alt="Wallpaper壁纸" title="Wallpaper壁纸" width="500">

</body>
</html>

链接标签

  • 文本超链接
  • 图像超链接

超链接

  • 页面间链接

    • 从一个页面链接到另一个页面
  • 锚链接

  • 功能性链接

代码演示
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>链接标签</title>
</head>
<body>

<!--HTML5 不再支持 <a> 标签的 name 属性。可以使用id属性取代name属性。-->
<!--下面这是锚链接的锚id-->
<a id="top">顶部</a>

<!--a标签
    href :表示要跳转到那个页面(必选属性,如果没有属性值,可以写个#,表示空链接)
    target :表示窗口在哪里打开
        _blank      在新页面打开链接
        _self       在当前页面打开链接(默认)

-->
<a href="1.我的第一个网页.html" target="_blank">点击我跳转到页面一</a>
<br/>
<a href="https://www.baidu.com" target="_self">点击我跳转到百度首页</a>

<br/>
<a href="1.我的第一个网页.html">
    <img src="" alt="Wallpaper壁纸" title="点击我跳转到页面一" width="500">
</a>

<!--锚链接
    1.需要一个锚标记
    2.跳转到标记
-->
<a href="#top">回到顶部</a>

<!--功能性链接
邮件链接: mailto:
-->
<a href="mailto:xxx@qq.com">点击联系我</a>

</body>
</html>

网页布局

行内元素和块元素

  • 块元素
    • 无论内容多少,该元素独占一行
    • (p、h1-h6...)
  • 行内元素
    • 内容撑开宽度,左右都是行内元素的可以在排在一行
    • (a.strong.em...)

4、列表表格媒体元素

列表标签

  • 什么是列表

    • 列表就是信息资源的一种展示形式。它可以使信息结构化和条理化,并以列表的样式显示出来,以便浏览者能更快捷地获得相应的信息
  • 列表的分类

    • 无序列表
    • 有序列表
    • 定义列表

代码演示

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>列表标签</title>
</head>
<body>

<!--有序列表
应用范围:试卷,问答...
-->
<ol>
    <li>Java</li>
    <li>Python</li>
    <li>运维</li>
    <li>前端</li>
    <li>C/C++</li>
</ol>

<hr/>

<!--无序列表
应用范围:导航,侧边栏....
-->
<ul>
    <li>Java</li>
    <li>Python</li>
    <li>运维</li>
    <li>前端</li>
    <li>C/C++</li>
</ul>

<!--自定义列表
    dl:标签
    dt :列表名称
    dd :列表内容
应用范围:公司网站底部
-->
<dl>
    <dt>学科</dt>
    <dd>Java</dd>
    <dd>Python</dd>
    <dd>Linux</dd>
    <dd>C#</dd>

    <dt>位置</dt>
    <dd>北京</dd>
    <dd>重庆</dd>
    <dd>云南</dd>
    <dd>武汉</dd>
</dl>
</body>
</html>

表格标签

  • 为什么使用表格
    • 简单通用
    • 结构稳定
  • 基本结构
    • 单元格
    • 行----------- < tr>< /tr>
    • 列----------- < td>< /td>
    • 跨行--------- rowspan
    • 跨列--------- colspan

代码演示

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>表格标签</title>
</head>
<body>

<!--表格table
    行:tr
    列:td
-->
<table border="1">
    <tr>
        <!--colspan 跨列-->
        <td colspan="4">1-1</td>

    </tr>
    <tr>
        <!-- rowspan 跨行-->
        <td rowspan="2">2-1</td>
        <td>2-2</td>
        <td>2-3</td>
        <td>2-4</td>
    </tr>
    <tr>
        <td>3-2</td>
        <td>3-3</td>
        <td>3-4</td>
    </tr>
</table>
</body>
</html>

媒体元素

视频和音频

  • 视频元素

    • video
  • 音频元素

    • audio

代码演示

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>媒体元素</title>
</head>
<body>

<!--音频和视频-->
<!--
src:资源路径
control:如果出现该属性,则向用户显示控件,比如播放按钮。
autoplay:如果出现该属性,则视频在就绪后马上播放。
-->

<video src=" " controls autoplay></video>

<audio src=" " controls autoplay></audio>

</body>
</html>

页面结构分析

代码演示

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>页面结构</title>
</head>
<body>

<header><h2>网页头部</h2></header>

<section><h2>网页主体</h2></section>

<footer><h2>网页脚部</h2></footer>

</body>
</html>

iframe内联框架

代码演示

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>内联框架iframe</title>
</head>
<body>

<iframe src="" name="hello" frameborder="0" width="1000px" height="600px"></iframe>

<a href="1.我的第一个网页.html" target="hello">点击跳转</a>

</body>
</html>

5、表单及表单应用

表单语法

表单元素格式

代码演示

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>表单标签-登录注册</title>
</head>
<body>

<h1>注册</h1>


<!--表单form

    action :表单提交的位置, 可以是网站, 也可以是一个请求处理地址
    method : post ,get提交方式
        get方式提交:我们可以在url中看到我们提交的信息,不安全,高效
        post方式提交:比较安全,传输大文件
-->

<form action="1.我的第一个网页.html" method="get">
    <!--文本输入框   input type="text"

        value=""        默认初始值
        maxlength="8"   最长能写8个字符
        size="30"       文本框的长度为30
        placeholder=""   文本框设置提示
    -->
    <p>账户:<input type="text" name="username" placeholder="请输入账号"></p>

    <!--密码框    input type="password"-->
    <p>密码:<input type="password" name="pwd" placeholder="请输入密码"></p>

    <!--单选框标签
        input type="radio"
        value :单选框的值
        name :表示组
        checked 默认选中状态
-->
    <p>性别:
        <!--input的闭合标签/,可写可不写-->
        <input type="radio" value="boy" name="sex" checked>男
        <input type="radio" value="girl" name="sex">女

    </p>
    <!--多选框
        input type="checkbox"
        checked 默认选中状态
    -->
    <p>爱好:
        <input type="checkbox" value="sleep" name="hobby">睡觉
        <input type="checkbox" value="shavingDinner" name="hobby" checked>吃饭
        <input type="checkbox" value="beatBeans" name="hobby">打豆豆
    </p>

    <!--按钮
    input type= "button"    普通按钮
    input type="image"      图像按钮
    input type="'submit"    提交按钮
    input type="reset"      重置按钮
    -->
    <p>按钮:
        <input type="button" name="btn1" value="我是一个按钮">
        <!--图片按钮-->
<!--        <input type="image" src=" " title="悬停提示">-->
    </p>


    <!--下拉框,列表框
    selected    默认选中状态
    -->
    <p>国家:
        <select name="列表名称">
            <option value="CN">中国</option>
            <option value="US">美国</option>
            <option value="CH" selected>瑞士</option>
            <option value="FR">法国</option>
        </select>

    </p>

    <!--文本域
        cols="30" rows="10"     表示30行,10列
    -->
    <p>
        反馈信息:
        <textarea name="textarea" cols="30" rows="10" placeholder="在这里写反馈"></textarea>
    </p>

    <!--文件域
    input type="file"
    name="files"
    -->
    <p>
        <input type="file" name="files">
        <input type="button" name="upload" value="上传">
    </p>

    <!--邮件验证-->
    <p>邮箱:
        <input type="email" name="email">
    </p>

    <!--URL验证-->
    <p>URL:
        <input type="url" name="url">
    </p>

    <!--数字
		step:临界增长值
	-->
    <p>商品数量:
        <input type="number" name="number" max="100" min="0" step="1">
    </p>

    <!--滑块
    -->
    <p>音量:
        <input type="range" name="voice" max="100" min="0" step="2">
    </p>

    <!--搜索框-->
    <p>搜索:
        <input type="search" name="search">
    </p>

    <!--提交,重置-->
    <p>
<!--        <input type="submit" name="Button" value="提交">
        <input type="reset" name="Reset" value="重填">-->
        <input type="submit">
        <input type="reset">
    </p>
</form>
</body>
</html>

表单的应用

  • 隐藏域--------------hidden

    <p>密码:
        <!--这里的密码框被隐藏了,实际是存在的,看不见了而已-->
        <input type="password" name="pwd" placeholder="请输入密码" hidden>
    </p>
    
  • 只读--------------readonly

    <p>账户:
        <!--这里的文本框设置了只读,不可修改,删除等操作-->
    	<input type="text" name="username" value="123456" readonly>
    </p>
    
  • 禁用--------------disabled

    <p>性别:
    	<!--这里的男性单选按钮被禁用了-->
       <input type="radio" value="boy" name="sex" disabled>男
       <input type="radio" value="girl" name="sex">女
    </p>
    

tip:增强鼠标可用性

<!--增强鼠标可用性-->
<p>
    <label for="mark">点我试试</label>
    <input type="text" id="mark">
</p>

6、表单初级验证

  • 思考?为什么要进行表单验证

  • 常用方式

    • placeholder--------------------提示信息

      <p>账户:
          <input type="text" name="username" placeholder="请输入账号">
      </p>
      
    • required-------------------------非空判断(元素不能为空)

      <p>密码:
          <input type="password" name="pwd" placeholder="请输入密码" required>
      </p>
      
    • pattern----------------------------正则表达式

      <p>自定义邮箱:
      	<!--这里的pattern属性值可以参考网上的正则表达式脚本-->
      	<input type="'text" name="diyEmail" 
                 pattern="^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$">
      </p>
      
posted @ 2022-03-24 20:53  海边蓝贝壳  阅读(76)  评论(0)    收藏  举报