HTML

超文本链接和表单是重中之重
浏览器的F12面板 是用来调试前端程序错误的

基本概念

1、系统结构:

  1. B/S架构:(以后主要走的方向是这个。)<br /> **Browser / Server (浏览器/服务器的交互形式。)**
  2. Browser支持哪些语言:HTML CSS JavaScript
  3. **写HTML CSS JavaScript代码的这波人职位叫做:WEB前端开发工程师。**(Java程序员目前来看也需要会一些前端的东西。)<br /> 前端页面上的图片需要UI设计师完成。(PSjava程序员来说没有太高的要求。)<br /> S是服务器端ServerServer端的语言很多:C C++ Java python.....(我们主要是使用Java语言完成服务器端的开发)
  4. **B/S架构的系统有什么优点和缺点?**<br />** 优点:升级方便,只升级服务器端代码即可。维护成本低。**<br />** 缺点:速度慢、体验不好、界面不炫酷**<br /> <br /> 企业内部的解决方案都是采用B/S架构的系统,因为企业内部办公需要的一些系统,不需要炫酷,不需要特别好的用户体验,只要能做数据 的增删改查即可。并且企业内部更注重维护的成本。
  5. B/S架构的系统有哪些代表?<br /> 京东<br /> 百度<br /> 天猫<br /> ....
  6. C/S架构<br /> Client / Server (客户端/服务器端的交互形式。)
  7. 缺点:升级麻烦,维护成本较高。<br /> 优点:速度快,体验好,界面炫酷。(娱乐型的系统多数是C/S架构的。)
  8. 常见的C/S架构的系统:<br /> QQ<br /> 微信<br /> 支付宝<br /> ....<br />2、什么是HTML?怎么开发HTML?怎么运行HTML
  9. * HTML: Hyper Text Markup Language (超文本标记语言)<br /> 由大量的标签组成,每一个标签都有开始标签和结束标签。<br /> <标签><br /> <标签><br /> <标签 属性名="属性值" 属性名="属性值"><br /> </标签><br /> </标签><br /> </标签>
  10. 超文本: 流媒体、图片、声音、视频....
  11. * HTML开发的时候使用普通的文本编辑器就行,创建的文件扩展名是.html或者.htm<br /> HTML也有专业的开发工具,例如:DreamWeaverHBuilder.....
  12. * 直接采用浏览器打开HTML文件就是运行。

3、HTML是谁制定的?
W3C:世界万维网联盟
W3C制定了HTML的规范,每个浏览器生产厂家都会遵守规范。HTML程序员也会按照这个规范去写代码。
HTML规范目前最高的版本是:HTML5.0,简称H5.
我们这里学习HTML4.0(主要是学习一下HTML的基础用法。)

  1. W3C制定了很多规范:<br /> HTML/XML/http协议/https协议......
  2. 为了方便中国web前端程序员的开发,提供大量的帮助文档。为开发提供方便。<br /> w3school:先出现的,和W3C没有关系<br /> w3cschool:后出现的,和W3C没有关系

基础知识

  • windows操作系统中,系统默认以gbk的方式打开html页面的

基本标签

  1. <html>
  2. <head>
  3. <meta charset="gbk" />
  4. <title>基本标签</title>
  5. </head>
  6. <body>
  7. <!--段落标记-->
  8. <p>《黛玉葬花》是文学名著《红楼梦》中的经典片段。林黛玉最怜惜花,觉得花落以后埋在土里最干净,说明她对美有独特的见解。她写了葬花词,以花比喻自己,在《红楼梦》中是最美丽的诗歌之一。贾宝玉和林黛玉在葬花的时候有一段对话,成为《红楼梦》中一场情人之间解除误会的绝唱。</p><p>《黛玉葬花》是文学名著《红楼梦》中的经典片段。林黛玉最怜惜花,觉得花落以后埋在土里最干净,说明她对美有独特的见解。她写了葬花词,以花比喻自己,在《红楼梦》中是最美丽的诗歌之一。贾宝玉和林黛玉在葬花的时候有一段对话,成为《红楼梦》中一场情人之间解除误会的绝唱。《黛玉葬花》是文学名著《红楼梦》中的经典片段。林黛玉最怜惜花,觉得花落以后埋在土里最干净,说明她对美有独特的见解。她写了葬花词,以花比喻自己,在《红楼梦》中是最美丽的诗歌之一。贾宝玉和林黛玉在葬花的时候有一段对话,成为《红楼梦》中一场情人之间解除误会的绝唱。《黛玉葬花》是文学名著《红楼梦》中的经典片段。林黛玉最怜惜花,觉得花落以后埋在土里最干净,说明她对美有独特的见解。她写了葬花词,以花比喻自己,在《红楼梦》中是最美丽的诗歌之一。贾宝玉和林黛玉在葬花的时候有一段对话,成为《红楼梦》中一场情人之间解除误会的绝唱。《黛玉葬花》是文学名著《红楼梦》中的经典片段。林黛玉最怜惜花,觉得花落以后埋在土里最干净,说明她对美有独特的见解。她写了葬花词,以花比喻自己,在《红楼梦》中是最美丽的诗歌之一。贾宝玉和林黛玉在葬花的时候有一段对话,成为《红楼梦》中一场情人之间解除误会的绝唱。</p>
  9. <!--标题字-->
  10. <h1>标题字</h1>
  11. <h2>标题字</h2>
  12. <h3>标题字</h3>
  13. <h4>标题字</h4>
  14. <h5>标题字</h5>
  15. <h6>标题字</h6>
  16. <!--换行标记-->
  17. hello
  18. world!
  19. <!--长了一只眼睛,独目标记-->
  20. hello<br> world!
  21. <!--水平线,独目标签-->
  22. <hr>
  23. <!--color是一个属性,用来指定颜色值-->
  24. <!--color是属性的名字,red是属性的值-->
  25. <hr color="red">
  26. <!--HTML中的字符串可以使用单引号,也可以使用双引号-->
  27. <hr color='red'>
  28. <!--HTML的语法很松散,不严格,去掉单引号双引号也行!-->
  29. <hr color=green >
  30. <!--HTML不区分大小写!-->
  31. <HR>
  32. <!--预留格式-->
  33. <!--保留格式,在HTML源码上是什么格式,到网页上还是这个格式,不变。-->
  34. <pre>
  35. for(int i = 0; i < 100; i++){
  36. System.out.println("i = " + i);
  37. }
  38. </pre>
  39. <!--粗体字-->
  40. <b>粗体字</b>
  41. <!--斜体字-->
  42. <i>斜体字</i>
  43. <ins>插入字</ins>
  44. <del>删除字</del>
  45. 10<sup>2</sup>
  46. m<sub>2</sub>
  47. <!--font字体标签-->
  48. <!--color是字体颜色,size是字号-->
  49. <font color="red" size="12">hello world!</font>
  50. <br><br><br><br><br><br><br><br><br><br>
  51. </body>
  52. </HTML>

实体符号

  1. !-- 凡是HTML页面中第一行是以下代码的表示该页面是一个HTML5页面:H5。 -->
  2. <!DOCTYPE html>
  3. <html>
  4. <head>
  5. <!-- 这个是告诉浏览器采用哪一种字符编码方式打开该页面。一般这个编码方式要和文件的编码方式相同,不然会乱码。 -->
  6. <!-- windows操作系统的浏览器在没有指定任何编码方式的时候,浏览器默认采用GBK的简体中文的方式打开,这是因为我们的windows操作系统是简体中文环境。 -->
  7. <!-- 而我们程序员,一般工作区当中文件的编码方式都是UTF-8,因为unicode更加通用。 -->
  8. <!-- 当前这个文件就是utf8的编码方式,如果不写以下代码,浏览器会采用GBK的方式打开,就会出现乱码。 -->
  9. <meta charset="utf-8">
  10. <title>实体符号</title>
  11. </head>
  12. <body>
  13. <!-- 空格 -->
  14. <!-- &nbsp; 这是一个空格。属于实体符号! -->
  15. a bc
  16. <br>
  17. a&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bc
  18. <br>
  19. <!-- 小于号呢 -->
  20. b<a>c
  21. <br>
  22. <!-- &lt; 这是小于号 -->
  23. <!-- &gt; 这是大于号 -->
  24. b&lt;a&gt;c
  25. </body>
  26. </html>

表格

  1. <html>
  2. <head>
  3. <meta charset="utf-8">
  4. <title>HTML表格</title>
  5. </head>
  6. <body>
  7. <!-- 3行3列的table -->
  8. <!-- border用来设置边框的宽度,1px表示1像素 -->
  9. <!-- <table border="1px" width="300px" height="200px"> -->
  10. <!-- 还可以写成百分比的方式。 -->
  11. <table border="1px" width="50%" height="200px" align="center">
  12. <!-- 第一行 -->
  13. <tr>
  14. <!-- 第一个单元格 -->
  15. <td>1</td>
  16. <td>2</td>
  17. <td>3</td>
  18. </tr>
  19. <!-- 第二行 -->
  20. <tr align="center">
  21. <!-- 第一个单元格 -->
  22. <td>1</td>
  23. <td>2</td>
  24. <td>3</td>
  25. </tr>
  26. <tr>
  27. <td>1</td>
  28. <td>2</td>
  29. <td align="center">3</td>
  30. </tr>
  31. </table>
  32. </body>
  33. </html>

表格中的单元格的合并

  1. <html>
  2. <head>
  3. <meta charset="utf-8">
  4. <title>表格单元格的合并</title>
  5. </head>
  6. <body>
  7. <table width="50%" border="1px">
  8. <tr>
  9. <td>1</td>
  10. <!-- colspan表示列合并,合并2个。 -->
  11. <td colspan="2">xy</td>
  12. <!-- <td>y</td> -->
  13. </tr>
  14. <tr>
  15. <td>1</td>
  16. <td>1</td>
  17. <!-- rowspan表示行合并,2表示合并两个。 -->
  18. <td rowspan="2">KINGford</td>
  19. </tr>
  20. <tr>
  21. <td>1</td>
  22. <td>1</td>
  23. <!-- <td>ford</td> -->
  24. </tr>
  25. </table>
  26. </body>
  27. </html>

表格_th标签

  1. <html>
  2. <head>
  3. <meta charset="utf-8">
  4. <title>th标签</title>
  5. </head>
  6. <body>
  7. <table border="1px" width="50%">
  8. <tr>
  9. <!-- <td>员工编号</td>
  10. <td>员工姓名</td>
  11. <td>员工薪资</td> -->
  12. <!-- th可以代替td做单元格,th中的内容会自动加粗,会自动居中。 -->
  13. <th>员工编号</th>
  14. <th>员工姓名</th>
  15. <th>员工薪资</th>
  16. </tr>
  17. <tr>
  18. <td>7369</td>
  19. <td>SMITH</td>
  20. <td>800.0</td>
  21. </tr>
  22. <tr>
  23. <td>7370</td>
  24. <td>KING</td>
  25. <td>8000.0</td>
  26. </tr>
  27. </table>
  28. </body>
  29. </html>

表格_thead-tbody-tfoot

  1. <!-- 一个table可以被thead tbody tfoot分隔为三部分。 -->
  2. <!-- 这个语法主要是为了后期javascript提供方便。 -->
  3. <table border="1px" width="50%">
  4. <thead>
  5. <tr>
  6. <th>员工编号</th>
  7. <th>员工姓名</th>
  8. <th>员工薪资</th>
  9. </tr>
  10. </thead>
  11. <tbody>
  12. <tr>
  13. <td>7369</td>
  14. <td>SMITH</td>
  15. <td>800.0</td>
  16. </tr>
  17. <tr>
  18. <td>7370</td>
  19. <td>KING</td>
  20. <td>8000.0</td>
  21. </tr>
  22. </tbody>
  23. <tfoot>
  24. <tr>
  25. <td>x</td>
  26. <td>y</td>
  27. <td>z</td>
  28. </tr>
  29. </tfoot>
  30. </table>

背景颜色和背景图片

  1. <html>
  2. <head>
  3. <meta charset="utf-8">
  4. <title>背景颜色和背景图片</title>
  5. </head>
  6. <!-- body标签的bgcolor属性指定背景颜色。 -->
  7. <!-- <body bgcolor="red"> -->
  8. <!-- body标签的background属性指定背景图片。 -->
  9. <body background="images/dyzh.jpg">
  10. </body>
  11. </html>

图片

  1. <!-- 背景图片 -->
  2. <body background="images/dyzh.jpg">
  3. <!-- 这个图片是网页中的一个元素 -->
  4. <!-- <img src="images/bd.png"></img> -->
  5. <!-- 开始标签和结束标签之间没有内容的话,可以直接把结束标签删除掉,开始标签末尾添加 / -->
  6. <img src="images/bd.png"/>
  7. <!-- img标签的属性有哪些呢? -->
  8. <!-- src属性:用来指定图片的路径 -->
  9. <!-- width属性:用来指定图片的宽度,高度会等比例缩放! 不要手动设置高度。-->
  10. <!-- title属性用来设置鼠标悬停时的提示信息。 -->
  11. <img src="images/bd.png" width="200px" title="点击我跳转到百度哦!" />
  12. <!--alt用来指定当图片加载失败的时候的提示信息 -->
  13. <img src="im/bd.png" alt="图片找不到了哦!" >

超链接

  1. <body>
  2. <!-- 链接到百度 -->
  3. <!-- href 属性表示:hot references,用来指定链接的路径 -->
  4. <a href="http://www.baidu.com">百度</a>
  5. <br>
  6. <!-- 链接路径可以是一个网络中的路径,也可以是一个本地的路径! -->
  7. <!-- 超链接的特点:鼠标停留在超链接上自动变成小手,超链接自动添加下划线! -->
  8. <a href="004-表格.html">链接到本地的表格!</a>
  9. <br>
  10. <a href="http://www.jd.com">京东商城</a>
  11. <br>
  12. <a href="http://www.126.com">126邮箱</a>
  13. <br>
  14. <a href="https://map.baidu.com">百度地图</a>
  15. <!-- 图片可以做热链接吗?可以 -->
  16. <a href="https://map.baidu.com">
  17. <!-- 标签嵌套使用! -->
  18. <img src="images/bd.png" width="200px" title="点击我跳转到百度地图哦!" />
  19. </a>
  20. <hr>
  21. <!-- 关于超链接的target属性 -->
  22. <!-- target属性用来设置,最终打开窗口的位置 -->
  23. <!--
  24. target :
  25. _blank:新窗口
  26. _self:当前窗口
  27. _parent:当前窗口的父窗口
  28. _top:当前窗口的顶级窗口
  29. -->
  30. <a href="http://www.baidu.com" target="_self">百度(当前窗口)</a>
  31. <a href="http://www.baidu.com" target="_blank">百度(新窗口)</a>
  32. <a href="http://www.baidu.com">百度(默认是怎样的?当前窗口)</a>
  33. <hr>
  34. <!-- 一个窗口中的内部窗口 -->
  35. <iframe src="http://www.baidu.com"></iframe>

列表

  1. <body>
  2. <!-- 无序列表 -->
  3. <ul type="circle">
  4. <!-- 列表项 -->
  5. <li>中国
  6. <ul type="square">
  7. <li>北京
  8. <ul type="disc">
  9. <li>东城区</li>
  10. <li>西城区</li>
  11. <li>海淀区</li>
  12. <li>朝阳区</li>
  13. </ul>
  14. </li>
  15. <li>上海</li>
  16. <li>天津</li>
  17. <li>重庆</li>
  18. </ul>
  19. </li>
  20. <li>美国</li>
  21. <li>日本</li>
  22. <li>俄国</li>
  23. </ul>
  24. <!-- 有序列表 -->
  25. <ol type="A">
  26. <li>水果
  27. <ol type="a">
  28. <li>香蕉</li>
  29. <li>哈密瓜</li>
  30. <li>菠萝</li>
  31. <li>苹果</li>
  32. </ol>
  33. </li>
  34. <li>蔬菜</li>
  35. <li>
  36. <ol type="I">
  37. <li>绿茶
  38. <ol type="1">
  39. <li>西红柿茶</li>
  40. <li>龙井</li>
  41. <li>毛尖</li>
  42. </ol>
  43. </li>
  44. <li>红茶</li>
  45. </ol>
  46. </li>
  47. </ol>
  48. </body>

表单

  • 011

    1. <body>
    2. <!--
    3. 1、什么是表单有什么用?
    4. 发送请求,并且携带数据给服务器。
    5. 表单和超链接有共同的特征,就是都可以向服务器发送请求,
    6. 只不过超链接是用户直接点击发送请求,不能填写数据。
    7. 而用户点击表单提交的时候,不但可以发送请求,而且请求中还可以携带输入的数据。
    8. 表单最主要的作用就是:收集用户的信息。
    9. 表单对应的英语单词是:form
    10. 2、怎么定义一个表单对象呢?语法格式
    11. <form>
    12. 表单项1:
    13. 表单项2:
    14. </form>
    15. 另外要注意:一个网页上可以有多个表单对象。
    16. 3、form标签中有一个action属性,这个属性和超链接的href相同。
    17. 都需要填写url。
    18. -->
    19. <!-- 超链接-->
    20. <a href="http://www.baidu.com">百度</a>
    21. <br><br><br>
    22. <!-- 表单-->
    23. <form action="http://www.baidu.com">
    24. <!-- 按钮,提交表单的按钮,只要点击这个提交按钮,就发送请求了! -->
    25. <!-- 所有能够提交表单的按钮,type必须是submit,不能随便写 -->
    26. <!-- <input type="submit"/> -->
    27. <!-- 设置按钮上显示的文本 -->
    28. <!-- vaule 是按钮名称-->
    29. <input type="submit" value="百度"/>
    30. <!-- button是一个普通按钮,能提交表单吗?不能。 -->
    31. <!-- <input type="button" value="百度"/> -->
    32. </form>
    33. form
    34. <!-- submit提交按钮放在form外面也是不行的!-->
    35. <input type="submit" value="百度(外)"/>
    36. </body>
  • 012

    1. <body>
    2. <!-- 画一个登录的表单 -->
    3. <!-- action路径随便写了 -->
    4. <!--
    5. http://192.168.145.2:8080/crm/login
    6. 协议:http协议
    7. 访问的服务器IP地址是什么?192.168.145.2
    8. 访问这个服务器上的那个软件:8080端口对应一个服务。
    9. /crm/login:是这个服务器上的某个资源名!(它可能是一段处理登录的java程序!!!)
    10. 重点*****重点*****重点*****重点*****重点*****重点*****重点*****重点*****重点*****
    11. 表单最终提交的时候,表单项的name属性非常重要,有name的才会提交。没有name是不会提交的。
    12. 并且浏览器向服务器提交数据的格式是?
    13. url?name=value&name=value&name=value&name=value&name=value
    14. 以上的提交数据的格式,是W3C指定的格式。所有浏览器都是这样的。
    15. 以下表单提交数据的时候,格式是这样的:
    16. http://192.168.145.2:8080/crm/login?x=zhangsan&y=111
    17. 这个格式非常重要,必须背会,所有浏览器都是这样提交数据的:name=value&name=value&name=value
    18. 类似map:
    19. key value
    20. ---------------------------
    21. x zhangsan
    22. y 111
    23. -->
    24. <form action="http://192.168.145.2:8080/crm/login">
    25. <!-- input是输入域,type不同,展示样式不同。text表示文本框 -->
    26. 用户名:<input type="text" name="x"/><!-- 文本框和密码框的value实际上是不需要程序员提供的,是用户输入的! -->
    27. <br>
    28. <!-- type="password"表示密码框 -->
    29. 密码:<input type="password" name="y" />
    30. <br>
    31. <!-- 提交表单的按钮 -->
    32. <input type="submit" value="登录"/>
    33. </form>
    34. </body>
  • 013

    1. <body>
    2. <!-- name有,就能提交,没有name属性就不能提交。 -->
    3. <!-- 提交格式:name=value&name=value&name=value -->
    4. <!-- 表单中,如果有一些项用户没有填写,默认提交的就是空字符串:"" -->
    5. <form action="http://localhost:80/crm/register">
    6. 用户名 <input type="text" name="username" /><!-- value不需要程序员提供 -->
    7. <br>
    8. 密码 <input type="password" name="userpwd" /><!-- value不需要程序员提供 -->
    9. <br>
    10. 性别 <!-- 最终提交给服务器的数据是:sex=1 或者 sex=0 -->
    11. <!-- 同一组的单选按钮,name是需要一致的,这样才可以做到单选的效果 -->
    12. <!-- checked 表示默认选中此项 -->
    13. <input type="radio" name="sex" value="1" checked /><!-- value需要程序员提供 -->
    14. <input type="radio" name="sex" value="0"/>
    15. <br>
    16. 兴趣
    17. <!-- 复选框,同一组的复选框name也是一致的。 -->
    18. <input type="checkbox" name="aihao" value="smoke"/>抽烟 <!-- value需要程序员提供-->
    19. <input type="checkbox" name="aihao" value="drink" checked />喝酒
    20. <input type="checkbox" name="aihao" value="firehair" checked />烫头
    21. <br>
    22. 学历
    23. <!-- 下拉列表 -->
    24. <select name="xueli"><!-- 假设选中专科,提交的是:xueli=zk -->
    25. <option value="gz">高中</option>
    26. <option value="zk">专科</option>
    27. <option value="bk" selected >本科</option><!-- selected默认选中 -->
    28. <option value="ss">硕士</option>
    29. </select>
    30. <br>
    31. 简介
    32. <!-- 文本域 --><!-- value是用户填写的!-->
    33. <textarea rows="10" cols="60" name="jianjie"></textarea>
    34. <br>
    35. <!-- 提交表单 -->
    36. <input type="submit" value="注册" /><!-- 这个提交按钮不能有name,不然,这个按钮的value也会提交给服务器。 -->
    37. <!-- 重置按钮 -->
    38. <input type="reset" value="重置" />
    39. <!-- 普通按钮不能提交 -->
    40. <input type="button" value="普通按钮" />
    41. </form>
    42. <!-- 不管用! -->
    43. <input type="reset" value="重置" />

    name=vaule&name=vaule&name=vaule 格式详解
    image.png

下拉列表多选

  1. <body>
  2. <!-- multiple 表示下拉列表支持多选 -->
  3. <!-- size是设置下拉列表一次最多显示的条目数量。 -->
  4. <select name="province" size="3" multiple >
  5. <option value ="hebei">河北省</option>
  6. <option value ="henan">河南省</option>
  7. <option value ="shandong">山东省</option>
  8. <option value ="shanxi">山西省</option>
  9. <option value ="hubei">湖北省</option>
  10. <option value ="hunan">湖南省</option>
  11. </select>
  12. </body>

file控件

  1. <body>
  2. <!-- 后台java程序使用IO流的方式接收这个文件! -->
  3. <form action="http://www.baidu.com">
  4. 文件:<input type="file" />
  5. <br><br><br><br>
  6. <input type="submit" value="文件上传" />
  7. </form>
  8. </body>

hidden控件

  1. <body>
  2. <!-- hidden隐藏域空间 -->
  3. <form action="http://127.0.0.1:8080/crm/save" >
  4. <!-- 隐藏域 -->
  5. <!-- 不希望用户在浏览器上看到,但是希望可以将这个数据提交过去! -->
  6. <input type="hidden" name="usercode" value="11111"/>
  7. <!-- 提交按钮 -->
  8. <input type="submit" value="提交" />
  9. </form>
  10. <!-- 最终提交:http://127.0.0.1:8080/crm/save?usercode=11111 -->
  11. </body>

readonly和disabled

  1. <body>
  2. <!--readonly和disabled都是只读的! -->
  3. <!-- http://127.0.0.1:8080/crm/save?orgcode=1111 -->
  4. <!-- readonly修饰的表单项可以提交给服务器,但是disabled修饰的不会提交! -->
  5. <form action="http://127.0.0.1:8080/crm/save">
  6. 机构代码 <input type="text" name="orgcode" value="1111" readonly />
  7. <br>
  8. 用户代码 <input type="text" name="usercode" value="2222" disabled />
  9. <br>
  10. <input type="submit" value="提交" />
  11. </form>
  12. </body>

maxlength属性

  1. <body>
  2. <!-- 最多输入3个字符 -->
  3. <input type="text" maxlength="3" />
  4. </body>

HTML元素的id属性

  1. <body id="mybody">
  2. <!-- HTML元素的id属性 -->
  3. <!--
  4. 1、在HTML中任何一个节点上,多有id属性
  5. 2、在同一个网页中,id属性是不能重复的。
  6. 3、id代表了这个节点,id是这个节点的身份证号。
  7. 4、后期学习了javascript之后,我们要通过javascript
  8. 对HTML的节点进行增删改,对节点增删改的时候,需要先
  9. 获取到该节点对象,id属性可以让我们方便的获取到该节点
  10. 对象。
  11. 5、通过id属性可以很方便的在Javascript中获取到该节点,
  12. 然后对这个节点进行操作,最终产生网页的动态效果,所以
  13. javascript可以让死气沉沉网页活跃起来。
  14. -->
  15. <form id="myform">
  16. <input id="username">
  17. </form>
  18. <ul id="myul">
  19. <li id="myli"></li>
  20. </ul>
  21. </body>

div和span

  1. <body>
  2. <!-- div和span -->
  3. <!--
  4. 1、div和span都是图层。(div和span都是盒子)
  5. 2、什么是图层,有什么用?
  6. 每一个图层在网页当中都是一个独立的盒子。
  7. 图层的最主要作用就是:网页布局
  8. 3、table表格不是可以布局吗?
  9. table表格布局有什么缺点:不灵活
  10. div和span布局更加灵活。
  11. 4、每一个div和span左上角的顶点,都有x和y轴的坐标,通过这个坐标可以定位div在网页当中的位置。
  12. 后面讲CSS的时候,我们可以通过CSS样式进行定位。
  13. 5、很久以前都是采用table进行布局,现代化的网页都是采用div+span进行布局。
  14. 6、对于web前端来说,怎么调试程序?
  15. 每一个浏览器都内置了调试器。
  16. 使用快捷键F12,可以调出来调试器。
  17. 7、div和span有什么区别?
  18. div默认情况下独自占用1行。
  19. span不会独占行!
  20. -->
  21. <div id="div1">
  22. 我是一个div!
  23. </div>
  24. 是新的一行吗?
  25. <span id="myspan">我是一个span标签!</span>
  26. <!-- div嵌套-->
  27. <div id="">
  28. <div id="">
  29. <div id="">
  30. <span id="">
  31. </span>
  32. <span id="">
  33. </span>
  34. </div>
  35. </div>
  36. </div>
  37. </body>

开发工具

  • 在hbudiler中 输入标签的名字,回车就出来了 不需要打括号

CSS

JAVAScript

HTML中嵌入JS代码的第一种方式:行间事件

笔记:
1、要实现的功能:
用户点击以下按钮,弹出消息框。

2、JS是一门事件驱动型的编程语言,依靠事件去驱动,然后执行对应的程序。
在JS中有很多事件,其中有一个事件叫做:鼠标单击,单词:click。并且任何
事件都会对应一个事件句柄叫做:onclick。【注意:事件和事件句柄的区别是:
事件句柄是在事件单词前添加一个on。】,而事件句柄是以HTML标签的属性存在
的。

3、onclick=”js代码”,执行原理是什么?
页面打开的时候,js代码并不会执行,只是把这段JS代码注册到按钮的click事件上了。
等这个按钮发生click事件之后,注册在onclick后面的js代码会被浏览器自动调用。

4、怎么使用JS代码弹出消息框?
在JS中有一个内置的对象叫做window,全部小写,可以直接拿来使用,window代表的是浏览器对象。
window对象有一个函数叫做:alert,用法是:window.alert(“消息”);这样就可以弹窗了。

5、JS中的字符串可以使用双引号,也可以使用单引号。

6、JS中的一条语句结束之后可以使用分号“;”,也可以不用。

7 事件和事件句柄的区别,多了一个on

画图理解:
image.png
代码:

  1. <html>
  2. <head>
  3. <title>HTML中嵌入JS代码的第一种方式</title>
  4. </head>
  5. <body>
  6. <!--
  7. -->
  8. <input type="button" value="hello" onclick="window.alert('hello js')"/>
  9. <input type="button" value="hello" onclick='window.alert("hello jscode")'/>
  10. <input type="button" value="hello" onclick="window.alert('hello zhangsan')
  11. window.alert('hello lis')
  12. window.alert('hello wangwu')"/>
  13. <!-- window. 可以省略。-->
  14. <input type="button" value="hello" onclick="alert('hello zhangsan')
  15. alert('hello lis')
  16. alert('hello wangwu')"/>
  17. <input type="button" value="hello" onclick="alert('hello zhangsan');
  18. alert('hello lis');
  19. alert('hello wangwu');"/>
  20. </body>
  21. </html>

在HTML中嵌入JS代码的第二种方式:脚本块的方式

  1. <html>
  2. <head>
  3. <meta charset="utf-8">
  4. <title>在HTML中嵌入JS代码的第二种方式:脚本块的方式</title>
  5. </head>
  6. <body>
  7. <!-- 这个按钮会先被加载到浏览器内存。 -->
  8. <input type="button" value="按钮1" />
  9. <!-- 脚本块 -->
  10. <!-- 一个页面中脚本块可以出现多个! -->
  11. <script type="text/javascript">
  12. /* 在这里直接编写JS代码,这些JS代码在页面打开的时候自上而下的顺序依次逐行执行! */
  13. //alert("hello world"); // 单行注释
  14. alert("hello zhangsan");
  15. alert("hello lisi");
  16. /*
  17. 多行注释
  18. */
  19. </script>
  20. <!-- 最后加载这个按钮2 -->
  21. <input type="button" value="按钮2" />
  22. </body>
  23. </html>
  24. <script type="text/javascript">
  25. alert("page end!")
  26. </script>

在HTML中嵌入JS的第三种方式:引入外部独立的JS文件

  1. <html>
  2. <head>
  3. <meta charset="utf-8">
  4. <title>在HTML中嵌入JS的第三种方式:引入外部独立的JS文件</title>
  5. <!-- 引入外部独立的CSS文件。这个标签link中属性是href -->
  6. <link rel="stylesheet" type="text/css" href=""/>
  7. </head>
  8. <body>
  9. <!-- 引入外部独立的js文件 -->
  10. <!-- script标签引入js文件的时候,是src属性,不是href。 -->
  11. <script type="text/javascript" src="js/1.js"></script>
  12. <!-- 引入第二次,这个操作没有意义,测试结果:只要引入一次JS文件,JS文件中的代码就会全部执行一遍 -->
  13. <script type="text/javascript" src="js/1.js"></script>
  14. <script type="text/javascript" src="js/1.js">
  15. //alert("hello world!~~~~~"); // 这里的代码不会执行!
  16. </script>
  17. <!-- 单独的脚本块 -->
  18. <script type="text/javascript">
  19. alert("hello world!%%%%%%%%");
  20. </script>
  21. </body>
  22. </html>

关于前端的各种注释:

  1. <html>
  2. <head>
  3. <meta charset="utf-8">
  4. <title>关于各种注释</title>
  5. <style type="text/css">
  6. /* CSS的注释 */
  7. </style>
  8. </head>
  9. <body>
  10. <!-- 这是HTML的注释 -->
  11. <script type="text/javascript">
  12. /* 这是javascript注释,多行 */
  13. // 这是javascript注释,单行
  14. </script>
  15. </body>
  16. </html>

标识符和关键字

  1. <html>
  2. <head>
  3. <meta charset="utf-8">
  4. <title>标识符和关键字</title>
  5. </head>
  6. <body>
  7. <script type="text/javascript">
  8. /* 标识符命名规则和命名规范按照java那一套来就行! */
  9. /*
  10. 以下这段代码是JS的for循环,找出其中的关键字和标识符?
  11. 关键字:var、for
  12. 标识符:i、alert
  13. 标识符命名规则:
  14. 标识符只能由数字、字母、下划线、美元符号组成,不能含有其它特殊符号
  15. 标识符不能以数字开始
  16. 标识符严格区分大小写
  17. 关键字不能做标识符
  18. 标识符理论上没有长度限制
  19. 标识符命名规范?
  20. .....
  21. */
  22. for(var i = 0; i < 10; i++){
  23. alert("i = " + i)
  24. }
  25. </script>
  26. </body>
  27. </html>

变量

  1. <html>
  2. <head>
  3. <meta charset="utf-8">
  4. <title>JS的变量</title>
  5. </head>
  6. <body>
  7. <script type="text/javascript">
  8. /*
  9. 回顾Java中的变量?
  10. 怎么声明?
  11. int i;
  12. double d;
  13. String s;
  14. 怎么赋值?
  15. i = 100;
  16. d = 3.14;
  17. s = "abc";
  18. 一行上能声明多个变量吗?
  19. int a, b, c = 300;
  20. a b c都是int类型。
  21. a和b没有赋值。
  22. c赋值300
  23. 重点:Java语言是一种强类型语言,有编译阶段,属于编译型语言。
  24. Java语言在编译阶段确定变量的数据类型,也就是说程序还没有
  25. 运行呢,变量的数据类型就已经确定了,并且该变量的数据类型
  26. 在这一生中,永远不可变。
  27. int x = 1200;【x = true; java的编译器会报错。不让这样做。语法不对!】
  28. double d = x;
  29. 这行代码表示x的变量中保存的值1200给d变量
  30. x变量还是int类型,d变量是double类型。一生不变。
  31. JS的变量?
  32. 怎么声明?
  33. var 变量名;
  34. var i;
  35. 怎么赋值?
  36. 变量名 = 值;
  37. i = 100;
  38. 一行上能声明多个变量吗?
  39. var a, b, c = 300;
  40. 声明3个变量,a b c,并且c赋值300,其中a和b变量没有赋值,系统默认赋值undefined
  41. undefined 在JS中一个具体的值,这个值就是 undefined
  42. 重点:JS语言是一种弱类型语言,没有编译阶段,直接浏览器打开解释执行,
  43. 在JS中声明变量时不需要指定变量的数据类型,程序在运行过程当中,赋什么
  44. 类型的值,变量就是什么数据类型,并且变量的数据类型是可变的。
  45. var i;
  46. i = 100; 到这里i是整数型
  47. i = false; 到这里i就是布尔类型了
  48. i = true;
  49. i = 3.14;
  50. i = new Object();
  51. */
  52. var i;
  53. alert(i) // 变量只声明没有赋值,系统默认赋值undefined, 在JS当中undefined是一个具体存在的值.
  54. var x = "undefined";
  55. alert(x) // "undefined"这个不是undefined,它是一个字符串.
  56. // 声明时,同时赋值
  57. var k = 100;
  58. alert(k + 1) // 101
  59. k = false;
  60. alert(k);
  61. k = "abc";
  62. alert(k)
  63. // 一行上可以声明多个变量
  64. //var是一个关键字,就是用来声明变量的,variables单词的前3个字母.
  65. var a, b, c = 100;
  66. alert(a) // undefined
  67. alert(b) // undefined
  68. alert(c) // 100
  69. </script>
  70. </body>
  71. </html>

函数初步

  1. <html>
  2. <head>
  3. <meta charset="utf-8">
  4. <title>函数初步</title>
  5. </head>
  6. <body>
  7. <script type="text/javascript">
  8. //alert(122222);
  9. /*
  10. 回顾Java中的方法:
  11. [修饰符列表] 返回值类型 方法名(形式参数列表){
  12. 方法体;
  13. }
  14. 例如:
  15. public static int sum(int a,int b){
  16. return a + b;
  17. }
  18. JavaScript当中的函数:
  19. 函数定义的语法格式是什么?
  20. function 函数名(形式参数列表){
  21. 函数体;
  22. }
  23. 例如:
  24. function sum(a, b){
  25. return a + b;
  26. }
  27. 函数名:sum
  28. 形式参数列表是:a和b (a和b都是变量名!)
  29. JS中的函数返回值类型是不需要指定的,因为可以返回任何类型的数据。没有限制。
  30. 关于JS的的调试?
  31. 首选方案是:alert(),在程序的某个位置先使用alert弹出某个变量的值,看看是否是你需要的。
  32. 通过alert可以调试JS代码。
  33. 另外一种方案是:采用浏览器自带的调试插件,F12
  34. F12这个插件中比较重要的面板:
  35. 控制台
  36. 查看器
  37. 网络
  38. 掌握以上三个面板!!!!!!!!!!!!
  39. */
  40. /* function sum(a, b){
  41. } */
  42. // 函数必须调用才会执行.
  43. function sum(x, y){
  44. alert(x + "," + y);
  45. //alert("sum函数执行了!");
  46. }
  47. //这一切都是因为js是一门弱类型语言!
  48. sum("abc", false);
  49. // 调用sum函数
  50. sum();
  51. // 调用sum函数
  52. sum(1);
  53. // 调用sum函数
  54. sum(1,2);
  55. // 调用sum函数
  56. sum(1,2,3);
  57. /* JS的函数还有另一种声明方式?*/
  58. /* function mysum(a, b){
  59. } */
  60. //效果相同
  61. mysum = function(a, b){
  62. return a + b; //返回计算结果!
  63. }
  64. // 调用函数
  65. var result = mysum(10, 20);
  66. alert(result)
  67. //定义一个函数
  68. function sayHello(username){
  69. alert("欢迎" + username + "光临!")
  70. }
  71. </script>
  72. <!-- 在事件句柄当中调用sayHello函数 -->
  73. <input type="button" value="hello" onclick="sayHello('李四')" />
  74. </body>
  75. </html>

函数初步

  1. <html>
  2. <head>
  3. <meta charset="utf-8">
  4. <title>函数初步</title>
  5. </head>
  6. <body>
  7. <script type="text/javascript">
  8. // 这里也可以调用sayHello()函数.
  9. //sayHello();
  10. // 函数必须手动调用才会执行!
  11. // 在JS当中函数声明的优先级比较高,打开网页的时候,网页中所有的函数先进行声明.
  12. function sayHello(){
  13. alert("hello world!")
  14. }
  15. // 这行代码暴露在script标签当中,在页面打开的时候遵循自上而下的顺序依次逐行执行!
  16. //sayHello();
  17. //再调用一次
  18. //sayHello();
  19. </script>
  20. <input type="button" value="hello" onclick="sayHello() "/>
  21. </body>
  22. </html>