HTML

和自甴很熟 提交于 2019-12-28 02:54:32

一、HTML基础

1.1 HTML

HTML : Hyper Text MarkUp Language (超文本标记语言)

HTML案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>静夜思</title>
</head>
<body>

<h1>静夜思</h1>

<em>朝代:唐代</em> &nbsp;&nbsp;&nbsp; 作者: <strong>李白</strong> <br/>

<hr/>

<p>
    床前明月光, <br/>
    疑是地上霜, <br/>
    举头望明月, <br/>
    低头思故乡。<br/>
</p>

</body>
</html>

常见的前端开发工具

  • 记事本

  • Notepad++

  • Sublime

  • VScode(前端专业)

  • WebStorm(前端专业)IDEA

  • HBuilder (专业)

1.2、HTML的基本结构

HTML的基本结构

  • 所有的HTML 标签 都以 <> 开始 </> 结尾
  • 正常网页的所有内容都需要放在 < body> 标签中;
<!DOCTYPE html>
<html lang="en">
<head>
    <!--自闭合标签-->
    <meta charset="UTF-8">
    <!--正常的标签都是需要成对出现的-->
    <title>Title</title>
</head>
<body>

</body>
</html>
  • DOCTYPE文档类型,默认声明:表示告诉浏览器这个网页使用什么规范,我们默认使用的是HTML
  • Title 标签,就是网站的小标题名称;
  • meta 描述信息,SEO:网站搜索搜索
<!--建议规范编码,统一使用UTF-8(全世界)   gb2312:包含了所有的中文字符-->    
<meta charset="UTF-8">
<!--网站关键字描述-->
<meta name="keywords" content="Java">
<!--网站的描述-->
<meta name="description" content="Java">

1.3、网站的基本标签(重点)

1、标题标签

<!--标题标签  h1 + tab键 -->
<h1>一级标题</h1>
<h2>一级标题</h2>
<h3>一级标题</h3>
<h4>一级标题</h4>
<h5>一级标题</h5>
<h6>一级标题</h6>

2、段落标签

<!--p:段落标签-->
<p>
    本来是师者,所以传道受业解惑也,本来是一直秉承“教育不是灌输,而是点燃火焰”,本来是一直坚信“优秀的老师教授知识只是基本,还要对学生的人生观价值观产生积极正向的影响”
</p>

<p>本来是一直跟带的新老师讲,“真正NB的老师,一定是活成了学生心中想活成的样子。”</p>

<p>我们的讲师天如此拼命工作,到头来却发现,所从事的行当竟变成了过街老鼠,人人喊打。</p>

<p>我们的学员如此努力的学习,最后出去找工作竟然要靠隐瞒培训经历+包装简历方能得到面试机会。</p>

3、换行标签

<br/>

4、水平线标签

<hr/>

5、字体样式标签

<!--字体样式-->
<strong>马云 (阿里巴巴集团创始人)</strong>
<p>
    <em>马云,男,汉族</em> <br>
    <em>现担任日本软银董事</em>  <br>
    <em>1988年毕业于杭州师范学院外语系</em>  <br>
    <em>....</em>  <br>
</p>

6、 特殊符号标签

<!--空格 &-->
<p>说 Java</p>
<p>说              Java</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Java</p>
<!--大于小于号-->
&gt;
&lt;
<!--版权符号-->
&copy; 版权所有

<!--万能的公式  &  ;-->
&phone;

1.4、图像标签

常见的图片格式: .png .jpg .jpeg .bmp .gif。。。。。

png 会有浏览器兼容问题

一般使用 .jpg .gif多一点


图片:静态资源 单独放

statics\images

相对路径,绝对路径

相对路径   ../../
绝对路径   https://150.109.117.44:443/usr/themes/PureLoveForTypecho/images/banner2.jpg
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>图片标签</title>
</head>
<body>

<!--标签中带有参数的  key=value -->

<!--
src: 资源图片 : 图片的路径
alt: 图片加载失败,表示图片的问题,也即图片描述
title: 鼠标放在图片上的悬浮提示
width: 宽
height:高
-->
<img src="../statics/images/tx.jpg" alt="头像图片" title="说Java" width="1000" height="1000">

</body>
</html>

1.5、超链接

基本使用

<!--
超链接:表示从一个地方跳转到另外一个地方  hao123导航

href:要跳转地址
target: 目标打开的窗口,在自己这个当前页面打开,还是在新的页面打开
    _self : 在自己的窗口打开
    _blank: 在新窗口中打开

和图片嵌套使用
-->

<!--<a href="https://www.baidu.com/" target="_self">百度</a>-->

<!--图片标签-->
<a href="https://www.baidu.com/" target="_self">
    <img src="../statics/images/bd.png">
</a>

锚链接

  • 用于页面间指定位置跳转 : 快速定位目录
  • 可以在同一页页面中跳转
  • 也可以在不同页面中跳转

锚点

<!--标记A-->
<a name="markerA">A</a>

跳转到锚点

<a href="#markerA">A</a> <br>
<a href="#markerB">B</a> <br>
<a href="#markerC">C</a> <br>
<a href="https://www.cnblogs.com/TankXiao/p/9154085.html#dutte">D</a> <br>
<a href="2.基本结构.html#haha">E</a> <br>

功能性标签

邮件链接

<a href="mailto:24736743@qq.com">联系我们</a>

借助第三方平台

<!--QQ推广-->
<!--https://shang.qq.com/v3/widget.html-->
<a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=24736743&site=qq&menu=yes">
    <img border="0" src="http://wpa.qq.com/pa?p=2:24736743:53" alt="点击这里给我发消息" title="点击这里给我发消息"/>
</a>

1.6、块元素、行内元素

块元素

  • 无论内容多少,都是独占一行的 (p,h1~h6)

行内元素

  • 只根据内容的长度来扩展。 (a,strong,em….)
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<!--块元素-->
<p>我是P标签</p>
<h1>我是H1标签</h1>

<!--行内元素-->
<a href="">我是a链接</a>
<strong>粗体</strong>
<em>斜体</em>

</body>
</html>

二、列表、表格、媒体元素

2.1、列表

结构

无序列表 (ul-li)

  • 语文

  • 数学

  • 音乐

有序列表 (ol-li)

  1. 热搜1

  2. 热搜2

  3. 热搜3

自定义列表 (dl-dt-dd)

<!--title-->
<!--无序  ul-li
导航
侧边栏新闻
在文章中,一般会使用它来排列
-->
<ul>
    <li>语文</li>
    <li>数学</li>
    <li>英语</li>
    <li>Java</li>
</ul>

<hr>

<!--有序 ol-li
问答试卷、测试题....卷子,或者需要排序的。微博热搜,榜单
-->
<ol>
    <li>====</li>
    <li>====</li>
    <li>====</li>
    <li>====</li>
</ol>

<hr>

<!--自定义列表
网站的底部,用于标记项
-->
<dl>
    <dt>水果</dt>
    <dd>苹果</dd>
    <dd>梨子</dd>
    <dd>香蕉</dd>
    <dd>葡萄</dd>
    <dt>水果</dt>
    <dd>苹果</dd>
    <dd>梨子</dd>
    <dd>香蕉</dd>
    <dd>葡萄</dd>
</dl>

2.2、表格

表格

  • 结构简单
  • 通用

基本结构:

  • 表格 table
  • 行 tr rowspan
  • 列 td colspan
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>表格</title>
</head>
<body>

<!--表格标签table
border="1px" 边框属性
-->
<table border="1px">
    <!--行和列-->
    <!--第一行 tr,列 td-->
    <tr>
        <td>1-1</td>
        <td>1-2</td>
        <td>1-3</td>
    </tr>
    <tr>
        <td>2-1</td>
        <td>2-2</td>
        <td>2-3</td>
    </tr>
</table>


</body>
</html>

跨行

<table border="1px">
    <tr>
        <!--rowspan 所跨的行数-->
        <td rowspan="2">张三</td>
        <td>语文</td>
        <td>100</td>
    </tr>
    <tr>
        <td>数学</td>
        <td>100</td>
    </tr>
    <tr>
        <td rowspan="2">李四</td>
        <td>语文</td>
        <td>0</td>
    </tr>
    <tr>
        <td>数学</td>
        <td>0</td>
    </tr>
</table>

跨列

<table border="1px">
    <tr>
        <!--实现跨列
        colspan 对应的值:就是要跨几列
        -->
        <td colspan="2">学生成绩</td>
        <td>学生成绩</td>
    </tr>
    <tr>
        <!--科目名称-->
        <td>语文</td>
        <td>100</td>
    </tr>
    <tr>
        <!--成绩-->
        <td>数学</td>
        <td>100</td>
    </tr>
</table>

2.3、音频、视频

音频 audio

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<!--音频播放-->
<audio src="../statics/audio/ab410f7bbbb0955e7ae476ae89527a5d.m4a" autoplay controls>

</audio>

</body>
</html>

视频 video

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>视频</title>
</head>
<body>

<!--video 视频标签
src:视频的路径
controls: 提供播放按钮,进度条、下载按钮、全屏按钮、音量控制
autoplay: 自动播放
loop: 循环播放

-->

<!--<video src="../statics/video/china.mp4" controls autoplay></video>-->

<video controls autoplay>
    <source src="../statics/video/china.mp4">
    <source src="../statics/video/china.mp4">
</video>


</body>
</html>

2.4、网页结构分析

  • 页面的头部
  • 页面的主体
  • 页面的尾部

html5 标签,没有任何作用,只是让代码结构更好看

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<!--这些标签都是一些行业规范-->

<header>
    我是头部
</header>

<nav>导航栏</nav>

<aside>侧边栏</aside>

<article>文章主题</article>

<section> 独立区域 </section>

<footer>
    我是尾部
</footer>

</body>
</html>

2.5、内联框架

iframe

<!--iframe 内联框架
src: 地址
-->
<!--<iframe src="https://www.baidu.com/" width="1000px" height="600px"></iframe>-->

<iframe name="mainFrame"></iframe>

<a href="https://www.baidu.com/" target="mainFrame">点击显示</a>

<!--Ajax-->

三、表单

1、基础表单

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<!--
提交请求:
携带的参数
key: 控件的name。这个属性不要忘记

get:携带参数,参数可以在url中看到,不安全,大小有限
    https://www.baidu.com/?username=kuangshen&password=123456

post:参数不可见、安全,大小没有限制  (表单提交常用方式post)

-->

<!--form 表单
action: 提交地址
method:提交的方式
-->

<form action="test.html" method="post">

    <!--输入框
    input 标签
        name: 必须写上
        type:
            text : 文本框
            password: 密码框
            submit: 提交按钮
            reset: 重置
    -->
    <p>名字:<input type="text" name="username"> </p>
    <p>密码:<input type="password" name="password"> </p>

    <p>
        <input type="submit" value="提交">
        <input type="reset" value="重置">
    </p>

</form>

</body>
</html>

2、表单元素

所有表单元素都要写在form表单中,必须加上name属性,否则提交的时候取不到值!

  1. 文本框

    <!--文本框 type="text"
    value :文本框默认的初始值
    size: 文本框的长度
    maxlength: 文本框的最大输入长度
    -->
    <p>
        <input type="text" name="username" value="用户名" size="30" maxlength="20">
    </p>
  2. 密码框

    <!--密码框 type="password"
    size="20" 密码框的长度
    -->
    <p>
        <input type="password" name="pwd" size="20">
    </p>
  3. 单选按钮

    <!--单选框type="radio"
    value: 表单提交的值
    name: 名字相同,则自动分组,必须要分组
    checked: 默认选中
    disabled: 禁用
    注意事项:默认没有值,需要再input type="radio" 后增加单选框的属性
    -->
    <p>
        <input type="radio" value="" name="sex" checked><input type="radio" value="" name="sex"></p>
  4. 复选框

    <!--多选框 type="checkbox"
    name: 必填项,如果是分组,则名称一致
    value: 表单提交的值
    checked: 默认选中
    disabled: 禁用
    注意事项:默认没有值,需要再input type="checkbox" 后增加多选框的属性
    -->
    <p>
        <input type="checkbox" name="hobby" value="code">敲代码
        <input type="checkbox" name="hobby" value="music" checked>听音乐
        <input type="checkbox" name="hobby" value="girl" disabled>女孩
    </p>
    
  5. 下拉列表框 select-option

    <!--下拉列表框
    select
    name: 组件名字 必填
    size:  显示的数量,默认为1
    
    option: 选项
    value 必填
    option标签中间写下拉框的值
    selected: 默认选中
    
    -->
    <select name="科目">
        <option value="1"></option>
        <option value="2">数学</option>
        <option value="3" selected>英语</option>
        <option value="4">英语</option>
        <option value="5">英语</option>
    </select>
  6. 按钮

    <!--按钮
    value:按钮上的文字
    -->
    <p>
        <!--提交-->
        <input type="submit" value="登录">
        <!--重置--使用-->
        <input type="reset" value="清空">
        <!--普通按钮:一般后来我们会和javascript结合使用,点击按钮xxx-->
        <input type="button" value="点我">
        <!--图片按钮
            type="image"
            src:图片的路径
        -->
        <input type="image" src="../statics/images/bd.png">
    </p>
  7. 文本域

    <!--文本域  cols  rows-->
    <textarea name="textarea" cols="10" rows="10">
    </textarea>
  8. 文件域

    <!--
    表单,需要支持提交复杂文件  enctype="multipart/form-data"
    未来:文件上传会用到
    -->
    <form action="test.html" method="get" enctype="multipart/form-data">
        <input type="file" name="video">
    </form>
  9. 邮箱(验证)

        <!--邮箱-->
        <p>
            邮箱:<input type="email" name="email">
        </p>
  10. 网址(基本验证)

    
        <!--url网址-->
        <p>
            url:<input type="url" name="url">
        </p>
  11. 数字(上下)

        <!--数字:商品数量,计数  type="number"
        最小值  min="0" 
        最大值  max="100" 
        步长    step="10"
        -->
        <p>
            数字:<input type="number" min="0" max="100" step="10">
        </p>
  12. 滑块(可调节)

    <!--滑块
    默认值0~100
    -->
    <p>
        <input type="range" name="range" min="0" max="1000" step="2">
    </p>
  13. 搜索框(带关闭按钮)

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

3、表单的应用

  1. 隐藏域

        <!--隐藏域-->
        <p>
            <input type="hidden" name="count" value="10">
        </p>
  2. 只读和禁用

    <p>
        用户名: <input type="text" name="username" readonly>
    </p>
    
    <p>
        密码: <input type="password" name="pwd" disabled>
    </p>
  3. 标注

    <p>
        <!--通过 for="name" 来链接到 表单中的指定ID -->
        <label for="name">用户名: </label>
        <input type="text" name="username"  id="name">
    </p>
  4. 初级表单验证(重点)

    为什么要表单验证 ?

    1. 默认提示

      <!--placeholder="必须是url格式" 默认提示,告诉用户应该这么做-->
      用户名:
      <input type="url" name="username" placeholder="必须是url格式">
    2. 必填

      <p>
          <!--required必须要填写这个字段-->
          密码: <input type="password" name="pwd" required>
      </p>
    3. 正则表达式

    <p>
        <!--pattern:正则表达式-->
        手机号码: <input type="password" name="tel" required pattern="^1[358]\d{9}">
    </p>
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!