tags: ‘HTML’

categories: “HTML”

HTML的骨架

  1. <!DOCTYPE html>
  2. // 这句话叫DTD(Document Type Definition),全称文档类型声明。网页将来是给浏览器去执行的。设置文档的类型是html,这是一个网页类型,告诉浏览器不要将这个网页当作其他类型来看。告诉浏览器,网页的当前文档是html文档。这就是上面那句话的含义
  3. <html lang="en">
  4. // lang="en":设置使用的语言是英语,body标签中可以写英文。body的标签中写中文也是可以的,也可以写其他语言
  5. // lang的语言设置是可以更改的,如果更改为其他的语言,则谷歌浏览器会询问是否需要翻译。
  6. // 因为body中写的是中文的,所以一般情况下会将lang设置为zh-CN
  7. // 不将en改成中文也可以,因为浏览器默认支持中文的,但是为了考虑以后的兼容性或系统的兼容性问题的话,需要将lang中的en改为zh-CN,zh是中,CN是chine,其实就是中文的意思
  8. // html是根标签,根标签之间是html代码
  9. </html>
  10. <html>
  11. <head>
  12. // meta标签是设置一些信息的
  13. // 设置字符集是UTF-8,因为网页中要写很多的语言,语言采用的编码是UTF-8,这个编码是世界上大部分国家的语言它都包含,所以一般情况下这个是不更改的
  14. // 一般情况下:如果做的是国际性的网站时使用UTF-8;如果做的网站时只有国内使用的话,可以将编码改成gb312这种编码格式
  15. // 小写大写都认识
  16. <meta charset="UTF-8">
  17. // 这个网页标题的设置
  18. <title>Do</title>
  19. // head的内容在网页中是看不到的,对网页做设置的
  20. // body才是网页真正显示的内容
  21. // 一般写代码时在head中设置好之后,在body中写各种标签
  22. </head>
  23. <body>
  24. </body>
  25. </html>

HTML4的标记

HTML的标记的分类

1.双标签(大部分标签都是双标签)
:这是最大的根标签,网页都是写在这里中的
双标签的格式是:<标签名>内容(文字内容或其他内容)</标签名>
双标记一定要有结束

2.单标签
标签是单标记

标题标签

描述:在网页中表达标题的含义,比如说一级标题,二级标题;它给文字赋予几级标题的含义(语义化)

语义化:大部分标签都是有特定的含义的

用法:页面当中一级标题只允许出现一次,一般是将最最重要的定义为一级标题。例如腾讯的首页是公司的logo为一级标题,其他的是三级或二级标题

语法:

  1. 文件:02.25/2h1-h6.html
  2. <h1>一级标题</h1>
  3. <h2>二级标题</h2>
  4. <h3>三级标题</h3>
  5. <h4>四级标题</h4>
  6. <h5>五级标题</h5>
  7. <h6>六级标题</h6>

划线标签

描述:在网页中表示画一条线

用法:页面当中一级标题只允许出现一次,一般是将最最重要的定义为一级标题。例如腾讯的首页是公司的logo为一级标题,其他的是三级或二级标题

语法:

  1. 文件:02.25/3hr.html
  2. <h1>标题</h1>
  3. <hr /> // (一般标题和正文之间是有横线的) 这个是单标记,单标记的结束的是在>后面加上/
  4. <p>
  5. 正文部分
  6. </p>

段落标签

描述:在网页中表达段落的含义;它给文字赋予段落的含义(语义化)

用法:比如写一篇文章,这篇文章分三段

语法:

  1. 文件:02.25/4p.html
  2. <p>第一段文字</p>
  3. <p>第二段文字</p>
  4. <p>第三段文字</p>

换行标签

描述:在网页中表达换行的含义

用法:比如写一篇文章,这篇文章分三段

语法:

  1. 文件:02.25/4p.html
  2. <p>第一段<br />文字</p>

div标签

描述:在网页中表达盒子的含义(没有语义)

用法:任意地方可以使用,一般大的范围使用div来包裹,局部的小范围使用span来包裹

显示:每个div独占一行

语法:

  1. 文件:02.25/5div&span.html
  2. <div>内容</div>

span标签

描述:在网页中表示某一块小区域,span是占有一小部分

用法:任意地方可以使用,一般大的范围使用div来包裹,局部的小范围使用span来包裹

显示:每个span是占有一小部分

语法:

  1. 文件:02.25/5div&span.html
  2. <span>111</span>
  3. <span>222</span>

strong标签和b标签

// b的作用是从外观上给文字加粗,还有一个strong标签和b相似,它也是加粗的。从外观上和b是一样的,但是strong它主要是强调的意思
// strong和b的区别是:他们的外观是一样的,都是加粗,但是strong是有语义的,b是没有语义的。b是从外观上加粗,strong是给内容强调,它通过外观强调。并且strong的权重也比较高

用法:任意地方可以使用

语法:

  1. 文件:02.25/6strong.html
  2. <p>
  3. kklfndgjkdsf<b>12</b>
  4. <strong>12</strong>
  5. </p>

em标签和i标签

// i和em表示让文字倾斜,也是和上面一样的。i是单纯的让文字倾斜。em是有语义的,i是没有语义的。有语义的是起强调的意思

用法:任意地方可以使用

语法:

  1. 文件:02.25/6strong.html
  2. kklfndgjkdsf<i>12</i>
  3. <em>12</em>

del标签和s标签

// s和del是表示删除线(一般是打折的时候会看到)。s是没有语义的,del是有语义的。在使用的时候如果是注重语义化则使用del。有语义的是起强调的意思

用法:任意地方可以使用

语法:

  1. 文件:02.25/6strong.html
  2. kklfndgjkdsf<s>12</s>
  3. <del>12</del>

ins标签和u标签

// u和ins是表示下划线,u表示underline的意思。u和ins的外观是一样的,u是没有语义的,ins是有语义的。有语义的是起强调的意思

用法:任意地方可以使用

语法:

  1. 文件:02.25/6strong.html
  2. kklfndgjkdsf<u>12</u>
  3. <ins>12</ins>

img标签

文件:02.25/7img.html

语法:
<标签名 属性名=属性值 属性名=属性值>
// 属性值一般是放置双引号中的(这是好的规范,有的是单引号有的没加,这是不好规范)。多个属性中间用空格隔开,这个空格的个数随便,一个即可,空格只是做一个分割的作用。src是指定图片的路径的

  1. 路径分两大类,一个是相对路径,一个是绝对路径,大部分情况下都是使用的是相对路径。
  2. 什么是绝对路径:绝对路径就是带盘符的
  3. 例如<img src="c/test.1.png">
  4. 绝对路径尽量少用,因为文件的位置可能更改,一旦文件的位置更改之后,则文件不可使用。
  5. 相对路径:文件的相对路径不会错的,文件可以随意移动
  6. 有的时候绝对路径也是使用的
  7. 绝对路径:带盘符或者网址等,一般少用
  8. // 多用相对路径,相对路径一般不会出什么问题
  9. 绝对路径:带盘符或者网址等
  10. 相对路径 1 资源和当前文件在同一个目录 直接写文件名
  11. 2 资源所在目录和当前文件在同一个文件夹下
  12. 此时 资源所在目录/资源
  13. 3 当前文件的所在目录与资源所在目录在同一目录下
  14. 此时 ../资源目录/资源

案例:

  1. // src可以写相对路径,相对路径是相对自己的文件,需要从网页中加载图片。如果html文件和img图片是在同级目录下面,则src是./文件名.扩展名,.表示当前目录,
  2. // src中的文件名需要加上扩展名,文件的扩展名是什么就要写什么扩展名
  3. // 如果只有文件名称,默认会从当前目录查找。所以./加上不加上都一样
  4. <img src="./tim.jpeg" alt="" />
  5. // 一个点是当前目录,两个点是上级目录
  6. <img src="../tim.jpeg" alt="" />

alt属性

alt属性叫替换文本,如果图片加载不出来,就显示alt。它是给看网页的人的友好的提示
图片加载不出来,显示我

title属性

title属性:是叫悬停文本:鼠标放在图片上显示的文字
图片加载不出来,显示我
// 一般title是写这个图片是做什么的

width和height属性

如果图片比较大时可以设置图片的宽高的 ,使用width和height来设置,任何属性书写的顺序都是随意的,宽高时像素为单位的,只需要写数字
HTML基础 - 图4

a标签

文件:02.25/8a.html
a标签:就是超链接标签

href属性

  1. // a标签是双标记,href的值是跳转的网址,这是基本的超链接
  2. <a href="http://www.baidu.com">百度</a>
  3. // href可以写网址也可以写资源,资源可以写相对路径。即href可以写相对路径和绝对路径
  4. <a href="7img.html">资源文件</a>

title属性

title属性:鼠标放上去显示文字

target属性

target属性:设置目标打开方式

  1. // _blank表示将使用新窗口打开链接即跳转的地址使用新窗口打开
  2. <a href="www.baidu.com" title="baidu" target="_blank">baidu</a>
  3. 有的时候,点一个链接,不想让它跳转,可以使用空链接,将href设置为#
  4. // 空链接
  5. <a href="#">文本</a>

使用

  1. // 图片链接:点击图片进行跳转:
  2. 图片链接就是将图片标签在外面包裹一个a
  3. <a href="www.baidu.com"><img src="图片地址" alt=""></a>
  4. //href中可以写地址,也可以写资源文件,路径可以写相对的也可以写绝对的。这个和img标签中的src是类似的

base标签

文件:02.25/8a.html

  1. // 超链接很多时候是在新窗口打开,如果是在新窗口打开,那么每个超链接都要设置target属性的,这是比较麻烦的,那么可以在head中配置一个整个页面超链接的共有的属性,<base>,翻译过来就是基本的基础的。
  2. <base target="_blank">// 设置页面中所有的超链接都在新窗口打开
  3. // 不写超链接的target属性,那么target属性是从base中继承的
  4. // 设置target的属性的就按照设置的target属性

pre标签

文件:02.25/9pre.html

pre标签是一个预格式化标签
// 如果html中有多个空格,或者换行,则在浏览器中只将它作为一个空格在网页中展示
// 如果使用pre标签将内容嵌套,则告诉浏览器以页面中本身的内容样式显示,不会将多个空格或者换行在网页中变成一个空格

  1. <pre>
  2. 锄禾日当午
  3. 汗滴 禾下土
  4. 谁知盘中餐
  5. 粒粒皆辛苦</pre>
  6. &lt;h1&gt;&lt;/h1&gt;
  7. &copy;
  8. &reg;
  9. <p>汗滴&nbsp;&nbsp;&nbsp;禾下土</p>
  10. 3&times;5=15

字符实体

文件:02.25/9pre.html

所有的标签是不会显示在网页中的,标签只是给内容赋予一定的含义或者给内容修饰,或者给内容加一些语义化的。
如果想在网页中显示一些标签怎么办。例如要将

显示在页面中怎么办
这个时候就需要使用特殊字符了。如果直接在文件中写

浏览器会将它当作标签来解析,当成标题来处理,所以可以将尖括号换成特殊的字符。

  1. &lt; //表示<
  2. &gt; //表示>
  3. &lt;h1&gt;&lt/h1&gt; // 这个时候浏览器就不会将这句话当成标签解析了
  4. &copy;:这个是版权
  5. &reg;:这个是商标
  6. &nbsp;:这是表示一个空格
  7. &times;:表示乘法符号
  8. 3&times;5=15 // 展示

锚点

文件:02.25/10alink.html
文件:02.25/11alink2.html

锚点:当页面内容比较多时,利用锚点可以快速定位到某个位置

语法:

  1. <p>
  2. <!-- 下面的a是锚点,锚点名字方便跳转 -->
  3. <!-- 下面设置标记 -->
  4. <a name="third"></a>第三集圣诞节是基督教世界最大的节日。
  5. </p>
  6. <!-- 超链接:#是空链接,会默认刷新页面;因为页面是从上向下加载的,所以回到顶部显示 -->
  7. <a href="#">返回顶部</a>
  8. <!-- 最简单的返回顶部,还有其他的方式返回顶部 -->
  9. <!-- 快速定位到某个位置 a标签的href和锚点的名字要相同 -->
  10. <a href="#third">跳到第三集</a>
  11. <!-- 锚点可以支持跨页面 -->
  12. <!-- 不写target是在当前页面打开 -->
  13. <a href="10alink.html#forth">跳转到10alink页面的第四集</a>

列表

文件:02.25/14ul.html

在html中的列表分为三种:无序列表,有序列表,自定义列表

ul标签-无序列表

语法:

  1. <!--unordered list -->
  2. <!-- ul中一定要有li,内容一定要在li中写 -->
  3. <!-- 使用场景:当有很多项,没有先后顺序,而且都是反映一个主题时就可以使用无序列表 -->
  4. <ul>
  5. <li>1.广东</li>
  6. <!-- li =》 list item -->
  7. <li>2.江苏</li>
  8. <li>3.浙江</li>
  9. </ul>

ol标签-有序列表

语法:

  1. <!--ol 有序列表-->
  2. <ol>
  3. <li>广东</li>
  4. <li>江苏</li>
  5. <li>浙江</li>
  6. </ol>
  7. <!-- 实际工作中ul用的最多,一般有序列表也会使用ul -->
  8. <!-- 项目中ol、ul都可以,尽量选有语义化的。有语义便于搜索引擎优化 -->

自定义列表

语法:

  1. <!-- 自定义列表 -->
  2. <!-- difinition list -->
  3. <dl>
  4. <!-- 自定义标题 t:title -->
  5. <dt>支付方式</dt>
  6. <!-- 自定义描述 d:discription -->
  7. <!-- dd是描述dt的, dl是分割;一个dt可以有多个dd;一个dl可以有多个dt和dd -->
  8. <dd>货到付款</dd>
  9. <dd>在线支付</dd>
  10. <dd>分期付款</dd>
  11. <dd>公司转账</dd>
  12. <dt>配送方式</dt>
  13. <dd>上门提取</dd>
  14. <dd>211限时达</dd>
  15. </dl>

table标签

文件:02.25/15table.html

语法:

  1. <!-- 表格 1 布局 2 展示数据-->
  2. <!-- 表格是默认没有边框和边界线的,使用一些属性来添加 -->
  3. <!-- border=1:设置1像素边框,border是给整个表格甚至是每个单元格都加上边框,默认单元格和单元格之间是有个间隙的。 -->
  4. <!-- cellspacing=0:cell表示单元细胞的意思,单元格之间默认是有间隙,设置单元格之间的间隙设置为0 -->
  5. <!-- align=center:让整个表格水平居中;调整表格的对齐方式,默认居左对齐,可以调整居右right和居中center对齐 -->
  6. <!-- width、height:设置表格的宽高,单位是像素 -->
  7. <!-- cellpadding=5:调整文字和单元格之间的间隙为5像素(调整文字在单元格之间的偏移量,右边距可以使用css来写) -->
  8. <table border="1" cellspacing="0" align="center" width="500" height="300" cellpadding="25">
  9. <!--定义行 table row-->
  10. <tr>
  11. <!--定义列-->
  12. <td>1.1</td>
  13. <td>1.2</td>
  14. <td>1.3</td>
  15. </tr>
  16. <tr>
  17. <!--定义列-->
  18. <td>2.1</td>
  19. <td>2.2</td>
  20. <td>2.3</td>
  21. </tr>
  22. <tr>
  23. <!--定义列-->
  24. <td>3.1</td>
  25. <td>3.2</td>
  26. <td>3.3</td>
  27. </tr>
  28. </table>

caption标签

文件:02.25/16table_demo2.html

  1. <!-- 表格 1 布局 2 展示数据-->
  2. <table border="1" cellspacing="0" align="center" width="500" height="300" cellpadding="25">
  3. <!-- 定义表格标题 -- 自动在表格内部居中 -->
  4. <caption>员工信息表</caption>
  5. <!--定义行-->
  6. <tr>
  7. <!--table head th设置表头-->
  8. <!-- 用法和td一样只不过样式不一样 -->
  9. <th>姓名</th>
  10. <th>性别</th>
  11. <th>年龄</th>
  12. </tr>
  13. <tr>
  14. <!--定义列-->
  15. <td>刘伟</td>
  16. <td></td>
  17. <td>33</td>
  18. </tr>
  19. <tr>
  20. <!--定义列-->
  21. <td>张娜</td>
  22. <td></td>
  23. <td>23</td>
  24. </tr>
  25. </table>

合并单元格

文件:02.25/16table_demo2.html

  1. <table border="1" cellspacing="0" align="center" width="500" height="300" cellpadding="25">
  2. <caption>个人简历</caption>
  3. <tr>
  4. <td>阿龙</td>
  5. <td></td>
  6. <td>33</td>
  7. <!-- 合并单元格 --横跨两行 -->
  8. <td rowspan="2">照片</td>
  9. </tr>
  10. <tr>
  11. <td>身高175</td>
  12. <td>汉族</td>
  13. <td>已婚</td>
  14. </tr>
  15. <tr>
  16. <td>自我评价</td>
  17. <!-- 合并单元格 -- 横跨3列 -->
  18. <td colspan="3"></td>
  19. </tr>
  20. </table>

表格头和表格体和表格尾

  1. <!-- 表格结构分为3块:表格头,表格体,表格尾 -->
  2. <!-- 没有指定具体结构时,浏览器会将表格所有的内容都当成表格体 -->
  3. <!-- 表格 1 布局 2 展示数据-->
  4. <table border="1" cellspacing="0" align="center" width="500" height="300" cellpadding="25">
  5. <caption>员工信息表</caption>
  6. <!-- 表格头部 table head:一般是标题 -->
  7. <thead>
  8. <tr>
  9. <!--th设置表头-->
  10. <th>姓名</th>
  11. <th>性别</th>
  12. <th>年龄</th>
  13. </tr>
  14. </thead>
  15. <!-- 表格体 table body -->
  16. <tbody>
  17. <tr>
  18. <!--定义列-->
  19. <td>刘伟</td>
  20. <td></td>
  21. <td>33</td>
  22. </tr>
  23. <tr>
  24. <!--定义列-->
  25. <td>张娜</td>
  26. <td></td>
  27. <td>23</td>
  28. </tr>
  29. </tbody>
  30. <!-- 表格尾部 一般是汇总信息 -->
  31. <tfoot>
  32. <tr>
  33. <td>公司名称</td>
  34. <td colspan="2">TMD</td>
  35. </tr>
  36. </tfoot>
  37. <!-- 分清结构便于浏览器解析 -->
  38. </table>

form表单标签

文件:02.25/17form.html
表单是使用form标签

表单:登录或注册的页面,是用于收集用户信息的

form属性

  1. <!-- submit是有提交功能的提交到那里去,可以通过form的属性 -->
  2. <!--
  3. <form action="url" method="get"></form>
  4. action的值指定表单提交到哪里去,一般是后台服务器的地址
  5. method:表示表单提交方式,常见是get、post,不写值默认是get
  6. action属性指定表单提交给什么程序处理
  7. method属性指定表单提交方式 一般是get/post
  8. -->

input—text

  1. <form>
  2. <!-- input单标签 类型:text文本框 -->
  3. <!-- 属性:value属性是给下面表单元素设置默认值的 -->
  4. <!-- h5的进阶阶段提示用户输入使用placeholder属性 -->
  5. <p>用户名:<input type="text" /></p>
  6. </form>

input—password

  1. <form>
  2. <!-- input单标签 类型:password密码框 -->
  3. <!-- 属性:value属性是给下面表单元素设置默认值的 -->
  4. <p>密码:&nbsp;&nbsp;<input type="password" /></p>
  5. </form>

input—radio

  1. <!-- input单标签 类型:radio单选按钮,单选按钮需要加name,name值一样的情况下是表示只能选一个;checked表示默认选中 -->
  2. <!-- 如果不设置相同的name值,或者不设置name的话会导致两个按钮都可以一起被选中 -->
  3. 性别:<input type="radio" name="sex" checked="checked" /><input type="radio" name="sex" />

input—checkbox

  1. <!-- input单标签 类型:checkbox复选框 -->
  2. <!-- name是需要的如果需要使用表单提交到后台就要设置name的值 -->
  3. <!-- checked表示默认选中 -->
  4. <!-- checked可以简写;如果值和名字一样可以简写,例如checked="checked" -->
  5. 爱好
  6. <input type="checkbox" name="hobbies">运动
  7. <input type="checkbox" name="hobbies" checked>编程
  8. <input type="checkbox" name="hobbies">旅游
  9. <input type="checkbox" name="hobbies">交友

input—file

  1. <!-- input单标签 类型:file文件选择框 -->
  2. <!-- 属性:value属性是给下面表单元素设置默认值的 -->
  3. 头像
  4. <input type="file" name="file" />

input—hidden

  1. <!-- type还有一个类型是hide,隐藏表单元素,(通过隐藏表单元素携带数据到后台)-->
  2. <input type="hidden">

textarea标签

  1. <style>
  2. textarea {
  3. /* 设置文本域不可拖拽 */
  4. resize: none;
  5. }
  6. </style>
  7. <!-- textarea:表示文本域 -->
  8. <!-- 写表单的时候每一个都要name,如果使用form表单提交数据到后台时,后台是通过name的值来获取数据的;如果不设置,后台拿不到这条数据 -->
  9. <!-- rows表示行,cols表示列 -->
  10. <!-- textarea的默认值是写在标签中间的 -->
  11. 个人留言
  12. <textarea name="user_content" cols="20" rows="8"></textarea>

select标签

文件:02.27/17form.html

  1. <!-- 表单中的下拉列表叫select -->
  2. <select>
  3. <!-- value的值就是选中的值,表单提交,提交的值是value的值 -->
  4. <!-- selected表示当前选项默认选中。selected=selected因为属性和值相等可以简写为selected -->
  5. <option value="">--请选择省份--</option>
  6. <option value="jingsu" selected>江苏省</option>
  7. <option value="hunan">湖南省</option>
  8. <option value="guangdong">广东省</option>
  9. </select>
  10. <!-- 上面的代码默认只能选一个选项,如果想要多选的话,可以加上属性 -->
  11. <!-- multiple属性表示下拉选择框可以多选。属性名和属性值一样的情况下,可以只写一个单词即可,有兼容问题,但是一般情况下都是兼容的 -->
  12. <!-- size属性设置默认展示几项 -->
  13. <select multiple size="2">
  14. <option value="">--请选择学习课程--</option>
  15. <option value="en">英语</option>
  16. <option value="xinli">心理学</option>
  17. <option value="caiwu">财务管理</option>
  18. </select>

按钮

  1. <!-- 按钮:value是按钮的文字 -->
  2. <!-- type="button":普通按钮 -->
  3. <!-- 作用:取决于js的代码给表单添加了什么事件 -->
  4. <input type="button" value="普通按钮" id="btn" />
  5. <!-- type="reset"表示重置按钮,value默认有值,但是也是可以更改value的值的 -->
  6. <!-- 作用:将之前的值恢复到默认值 -->
  7. <input type="reset" />
  8. <!-- type="submit":提交按钮;提交按钮也有默认的value的值,value值可以被更改 -->
  9. <!-- 作用:将表单选择的值提交到服务器 -->
  10. <!-- 如果想要将表单填写的数据提交到服务器,那么表单元素是需要有name属性的;name是唯一标识表单元素的,他还有一个作用是表单提交需要name -->
  11. <input type="submit" value="注册" />
  12. <!--图片提交按钮-->
  13. <!-- src是图片的路径 -->
  14. <input type="image" src="images/btn.png" />
  15. <!-- type是image和type是submit本质上是没有区别的,只是外观不一样,都表示提交,都有提交的默认事件 -->

lable标签

文件:02.25/18label标签.html

lable标签严格意义来说,它不属于表单的标签,但是一般和表单的元素配合使用,作用将文字和表单元素进行关联

  1. <form>
  2. <!-- 点文字也可以选中文本域 -->
  3. <!-- lable实现了上面的功能,将文字和文本域关联起来 -->
  4. <label>用户名:<input type="text" name="username"></label>
  5. <label for="pwd">密码:</label><input type="password" name="pwd" id="pwd">
  6. <!-- lable上面有两种用法,for的值是需要关联的表单元素的id值 -->
  7. <!-- 一般情况上面两种都可以,但是有的低版本浏览器只识别下面的这种 -->
  8. </form>

乱码原因

// 乱码:文件默认保存方式和打开文件的方式不一样,会导致乱码