HTML
1、系统结构:
B/S架构:(以后主要走的方向是这个。)
Browser / Server (浏览器/服务器的交互形式。)
Browser支持哪些语言:HTML CSS JavaScript
写HTML CSS JavaScript代码的这波人职位叫做:WEB前端开发工程师。(Java程序员目前来看也需要会一些前端的东西。)
前端页面上的图片需要UI设计师完成。(PS对java程序员来说没有太高的要求。)
S是服务器端Server,Server端的语言很多:C C++ Java python.....(我们主要是使用Java语言完成服务器端的开发)
B/S架构的系统有什么优点和缺点?
优点:升级方便,只升级服务器端代码即可。维护成本低。
缺点:速度慢、体验不好、界面不炫酷
企业内部的解决方案都是采用B/S架构的系统,因为企业内部办公需要的一些系统
不需要炫酷,不需要特别好的用户体验,只要能做数据的增删改查即可。并且企业
内部更注重维护的成本。
B/S架构的系统有哪些代表?
京东
百度
天猫
....
C/S架构
Client / Server (客户端/服务器端的交互形式。)
缺点:升级麻烦,维护成本较高。
优点:速度快,体验好,界面炫酷。(娱乐型的系统多数是C/S架构的。)
常见的C/S架构的系统:
QQ
微信
支付宝
....
2、什么是HTML?怎么开发HTML?怎么运行HTML?
* HTML: Hyper Text Markup Language (超文本标记语言)
由大量的标签组成,每一个标签都有开始标签和结束标签。
<标签>
<标签>
<标签 属性名="属性值" 属性名="属性值">
</标签>
</标签>
</标签>
超文本: 流媒体、图片、声音、视频....
* HTML开发的时候使用普通的文本编辑器就行,创建的文件扩展名是.html或者.htm
HTML也有专业的开发工具,例如:DreamWeaver、HBuilder.....
* 直接采用浏览器打开HTML文件就是运行。
3、HTML是谁制定的?
W3C:世界万维网联盟
W3C制定了HTML的规范,每个浏览器生产厂家都会遵守规范。HTML程序员也会按照这个规范去写代码。
HTML规范目前最高的版本是:HTML5.0,简称H5.
我们这里学习HTML4.0(主要是学习一下HTML的基础用法。)
W3C制定了很多规范:
HTML/XML/http协议/https协议......
为了方便中国web前端程序员的开发,提供大量的帮助文档。为开发提供方便。
w3school:先出现的,和W3C没有关系
w3cschool:后出现的,和W3C没有关系
<!-- 3.HTML不区分大小写,语法松散不严格 -->
<title>网页的标题</title><!-- 网页标题 ,显示在网页左上角-->
网页的主体内容
基本标签
DOCTYPE文档类型 表示html5<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Html基本标签</title>
<!-- 段落标记 -->
<p></p>
<!-- 标题字:是HTML预留的格式,和word中的标题字相同 -->
<h1>1</h1>
<h2>2</h2>
<h3>3</h3>
<h4>4</h4>
<h5>5</h5>
<h6>6</h6>
<!-- 换行标记,br标签是一个独目标记 -->
hello <br> world
<!-- 横线,独目标记 -->
<hr>
<!-- color和width都是hr标签的属性 -->
<hr color="red" width="50%">
<!-- 语法太松散了 -->
<hr color="green" width="30%">
<!-- 预留格式 -->
<pre> for(int i=0;i<10;i++){
System.out.println("i=" +i)
}</pre>
<del>删除字</del>
<ins>插入字</ins>
<b>粗体字</b>
<i>斜体字</i>
10<sup>2</sup>
10<sub>m</sub>
<font color='red' size='50'>字体标签</font>
实体符号
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>实体符号</title>
b<a>c 符号冲突
<!-- 实体符号特点是:以&开始,以;结束。<是小于号 $gt是大于号 -->
b<a>c
abc def<br>
abc def
HTML的表格
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>表格</title>
<br> <br> <br> <br> <br> <br> <br> <br>
<center>
<h1>员工信息列表</h1>
</center>
<hr>
<!-- border="1px" 设置表格的边框为1像素宽度 -->
<table align="center" border="1px" width="300px" height="150px">
<!--宽高也可以写百分比-->
<!-- align对齐方式 -->
<tr align="center">
<td>a</td>
<td>b</td>
<td>c</td>
</tr>
<tr>
<td>d</td>
<td>e</td>
<td>f</td>
</tr>
<tr>
<td>x</td>
<td>y</td>
<td align="center">z</td>
</tr>
</table>
表格单元格合并
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>表格单元格合并</title>
<!--注意事项:
1、row合并的时候,删除“下面的”单元格
2、col合并的时候,对删除哪个没有要求-->
<table border="1px" width=50%>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>a</td>
<td>b</td>
<td rowspan="2">cf</td>
<!--c行加上rowspan-->
</tr>
<tr>
<td colspan="2">de</td>
<!-- <td>f</td> 去掉f行 -->
</tr>
</table>
#th标签
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>表格单元格合并,以及th标签</title>
<!--注意事项:
1、row合并的时候,删除“下面的”单元格
2、col合并的时候,对删除哪个没有要求-->
<table border="1px" width=50%>
<tr>
<!-- <td>员工编号</td>
<td>员工薪资</td>
<td>部门名称</td> -->
<!-- th 标签也是单元格标签,比td多的是居中、加粗,一般表格的第一行都加th -->
<th>员工编号</th>
<th>员工薪资</th>
<th>部门名称</th>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>a</td>
<td>b</td>
<td rowspan="2">cf</td>
<!--c行加上rowspan-->
</tr>
<tr>
<td colspan="2">de</td>
<!-- <td>f</td> 去掉f行 -->
</tr>
</table>
HTML的表格-thead tbody tfoot
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>thead tbody tfoot 在table中不是必须的,只是这样做便于后期js代码的编写</title>
<!--注意事项:
1、row合并的时候,删除“下面的”单元格
2、col合并的时候,对删除哪个没有要求
thead tbody tfoot 在table中不是必须的,只是这样做便于后期js代码的编写-->
<table border="1px" width=50%>
<thead>
<!--头-->
<tr>
<!-- <td>员工编号</td>
<td>员工薪资</td>
<td>部门名称</td> -->
<!-- th 标签也是单元格标签,比td多的是居中、加粗 -->
<th>员工编号</th>
<th>员工薪资</th>
<th>部门名称</th>
</tr>
</thead>
<tbody>
<!--体-->
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>a</td>
<td>b</td>
<td rowspan="2">cf</td>
<!--c行加上rowspan-->
</tr>
<tr>
<td colspan="2">de</td>
<!-- <td>f</td> 去掉f行 -->
</tr>
</tbody>
<tfoot>
<!--脚-->
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
</tfoot>
</table>
背景颜色和背景图片
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>背景颜色和背景图片</title>
background:设置背景图片
以上的设置都是对背景设置 -->
<body bgcolor="red" background="./img/2.jpg">
图片img
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>图片img</title>
1.设置图片宽度和高度的时候,只设置宽度,高度会进行等比例缩放
2.img标签就是图片标签
3.src属性是图片的路径
4.width设置宽度 height设置高度
5.title 设置鼠标悬停时显示的信息
6.alt设置图片加载失败时显示的提示信息
<img src="./图片/Snipaste_2021-05-30_23-57-47.png" width="1600px">
<br><br><br>
<img src="./图片/Snipaste_2021-05-30_23-59-31.png" alt="">
超链接 热链接
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>超链接 热链接</title>
<!-- 超链接的特点:
有下划线
鼠标停留在超链接上显示小手形状
点击超链接之后还能跳转页面。 -->
<!-- 超链接有一个target属性:
可取值:
_blakn:新窗口
_self:当前窗口(默认就是这种方式。)
_top:顶级窗口
_parent:父窗口 -->
<a href="http://www.baidu.com" target="_blakn">百度</a>
<a href="http://news.baidu.com" target="_self">百度新闻</a>
<a href="http://www.jd.com">京东</a>
<a href="http://www.tmall.com">天猫</a>
<br><br>
<!-- href:hot reference 热引用
href属性后面一定是一个资源的地址
href后面的路径可以是绝对路径,也可以是相对路径,可以是网络中某个资源的路径,也可以是本地资源的路径-->
<!-- a和/a之间除了可以写文本,还可以写<img src="" alt=""> 图片 -->
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>超链接 热链接</title>
<!-- 超链接的特点:
有下划线
鼠标停留在超链接上显示小手形状
点击超链接之后还能跳转页面。 -->
<!-- 超链接有一个target属性:
可取值:
_blakn:新窗口
_self:当前窗口(默认就是这种方式。)
_top:顶级窗口
_parent:父窗口 -->
<a href="http://www.baidu.com" target="_blakn">百度</a>
<a href="http://news.baidu.com" target="_self">百度新闻</a>
<a href="http://www.jd.com">京东</a>
<a href="http://www.tmall.com">天猫</a>
<br><br>
<!-- href:hot reference 热引用
href属性后面一定是一个资源的地址
href后面的路径可以是绝对路径,也可以是相对路径,可以是网络中某个资源的路径,也可以是本地资源的路径-->
<!-- a和/a之间除了可以写文本,还可以写<img src="" alt=""> 图片 -->
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>超链接 热链接</title>
<!-- 超链接的特点:
有下划线
鼠标停留在超链接上显示小手形状
点击超链接之后还能跳转页面。 -->
<!-- 超链接有一个target属性:
可取值:
_blakn:新窗口
_self:当前窗口(默认就是这种方式。)
_top:顶级窗口
_parent:父窗口 -->
<a href="http://www.baidu.com" target="_blakn">百度</a>
<a href="http://news.baidu.com" target="_self">百度新闻</a>
<a href="http://www.jd.com">京东</a>
<a href="http://www.tmall.com">天猫</a>
<br><br>
<!-- href:hot reference 热引用
href属性后面一定是一个资源的地址
href后面的路径可以是绝对路径,也可以是相对路径,可以是网络中某个资源的路径,也可以是本地资源的路径-->
<!-- a和/a之间除了可以写文本,还可以写<img src="" alt=""> 图片 -->
order list
- 水果
-
<ol type="a"> <li>苹果</li> <li>西瓜</li> <li>桃子</li> </ol> </li> <li>蔬菜 <ol> <li>西红柿</li> </ol> </li> <li>甜点</li> </ol> <!-- 无序列表 --> <ul> <li>中国 <ul type='square'> <li>北京 <ul type='disc'> <li>东城区</li> <li>西城区</li> <li>海淀区</li> <li>朝阳区</li> </ul> </li> <li>天津</li> <li>上海</li> </ul> </li> <li>美国</li> <li>日本</li> </ul>
表达form
<!-- 画一个提交按钮,这个按钮可以提交表达 --> <!-- 画按钮可以使用input输入域,type="submit"的时候表示该按钮是一个提交按钮,具有提交表单的能力。 --> <!-- 对于按钮来说,按钮的value属性用来指定按钮上显示的文本信息 --> <input type="submit" value="注册"> <!-- 这是一个普通按钮,不具备提交表单的能力。 --> <input type="button" value="设置按钮上显示的文本">
<input type="text"> <input type="submit" value="百度">
用户名<input type="text"><br> 密码<input type="password"><br> <input type="submit" value="登录">
<table> <tr> <td>用户名</td> <td><input type="text" name="username"></td> </tr> <tr> <td>密码</td> <td><input type="password" name="userpwd"></td> </tr> <tr align="center"> <td colspan="2"><input type="submit" value="登录"> <input type="reset" value="清空"> </td> </tr> </table>
用户注册的表单
<meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>用户注册的表单</title>
<!-- 用户注册: 用户名 密码 确认密码 性别 兴趣爱好 学历 简介 form表单method属性: get:采用get方式提交的时候,用户提交的信息会显示在浏览器的地址栏上。 post:采用post方式提交的时候,用户提交的信息不会提交在浏览器地址栏上。 当用户提交的信息中含有敏感信息,例如:密码,建议采用post方式提交。 method属性不指定,或者指定get,这种情况下都是get。 只有当method属性指定为post的时候才是post请求。 剩下所有的请求都是get请求 post提交的时候提交的数据格式和get还是一样的,只不过不在地址栏上显示出来。 post提交的数据还是:name=value&name=value&name=value.... --> <form action="http://localhost:8080/jd/register" method="post"> 用户名 <input type="text" name="username"> <br> 密码 <input type="password" name="userpwd"> <br> 确认密码 <input type="password"> <br> 性别 <input type="radio" name="gender" value="1" checked>男 <input type="radio" name='gender' value="0">女 <!-- 单选按钮的value必须手动指定 --> 兴趣爱好 <input type="checkbox" name="interest" value="smoke">抽烟 <input type="checkbox" name="interest" value="drink">喝酒 <input type="checkbox" name="interest" value="Hot head" checked>烫头 <br> 学历 <select name="grade"> <option value="high school">高中</option> <option value="polytechnic">大专</option> <option value="graduate" selected>本科</option> <!--默认选中--> <option value="master">硕士</option> </select> <br> 简介 <!--文本域没有value属性,用户填写的内容就是value--> <textarea name="introduce" id="" cols="30" rows="10"></textarea> <input type="submit" value="注册"> <input type="reset" value="清空"> <!-- 超链接也可以提交数据给服务器,但是提交的数据都是固定不变的。 超链接是get请求。不是post请求 --> </form>
下拉列表支持多选
<meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>下拉列表支持多选</title>
<select multiple="multiple" size="2"> <!--multiple 支持多选 size默认选中的条数--> <option value="">河北</option> <option value="">河南</option> <option value="">山东</option> <option value="">山西</option> </select>
<meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>file控件</title>
<!-- file控件 文件上传专用 --> <input type="file"> <form action="http://localhost:8080/oa/save"> <!-- 隐藏域:网页上看不到,但是表单提交的时候数据会自动提交给服务器 --> <input type="hidden" name="userid" value="111"> 用户代码<input type="text" name="usercode"> <input type="submit" value="提交"> </form>
readonly和disabled
<meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>readonly disabled</title>
readonly和disabled相同点:都是只读不能修改。 但是readonly可以提交给服务器,disabled数据不会提交(即使有name属性也不会提交) <form action="http://localhost:8080/taboabo/save"> 用户代码<input type="text" name="usercode" readonly> <br> 用户姓名<input type="text" name="username" disabled> <br> <input type="submit" value="提交数据"> </form>
input控件 maxlength
<meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title>
<!-- maxlength 设置文本框中可输入的字符数量 --> <input type="text" maxlength="3">
HTML中元素的id属性
3.id有什么用?
javascript语言:可以对HTML文档当中的任意节点进行增删改操作 增删改之前需要先拿到这个节点,通常我们通过id来拿节点对象 id的存在让我们获取元素(节点)更方便 HTML文档是一棵树,树上有很多节点,每一个节点都有惟一的id javascript主要就是对这棵DOM树上的节点进行增删改的 DOM(document)树
<meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>HTML中元素的id属性</title>
<form id="myform"> <input type="text" id="username" name="username"> <input type="password" name="userpwd" id="userpwd">
</form>
<meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>div和span</title>
<!-- 1.div和span是什么? 有什么用? div和span都可以称为“图层” 图层的作用是为了保证页面可以灵活的布局 图层就是一个一个盒子,div嵌套div就是盒子套盒子 div和span是可以定位的,只要定下div左上角的x轴和y轴坐标即可。 2.其实最早的网页是采用table进行布局的,但是table不灵活,太死板。 现代的网页开发中div布局使用最多,几乎很少使用table进行布局了。 3.div和span的区别? div独自占用一行(默认情况下) span不会独自占一行 --> <div id="div1">我是一个div</div> <div id="div2">我是一个div</div> <span id="div1">我是一个span标签</span> <span id="div2">我是一个span标签</span> <div id="div3"> <div> <div>test</div> </div> </div>