Web前端 第一章 HTML

1.系统架构

  • B/S架构:
    Browser / Server (浏览器/服务器的交互形式)
    Browser支持哪些语言:HTML CSS JavaScript
    优点:升级方便,只升级服务器端代码即可。维护成本低。
    缺点:速度慢、体验不好、界面不炫酷
    企业内部的解决方案都是采用B/S架构的系统,注重维护的成本。
    B/S架构的系统代表:京东、百度、天猫…
  • C/S架构:
    Client / Server (客户端/服务器端的交互形式)
    缺点:升级麻烦,维护成本较高。
    优点:速度快,体验好,界面炫酷。(娱乐型的系统多数是C/S架构的。)
    常见的C/S架构的系统:QQ、微信、支付宝…

2.HTML概述

HTML: Hyper Text Markup Language (超文本标记语言)
超文本: 流媒体、图片、声音、视频…
由大量的标签组成,每一个标签都有开始标签和结束标签。
HTML开发的时候使用普通的文本编辑器就行,创建的文件扩展名是.html或者.htm
HTML也有专业的开发工具,例如:DreamWeaver、HBuilder…
HTML由W3C(世界万维网联盟)制定,HTML规范目前最高的版本是:HTML5.0,简称H5.

3.基本标签

<!--
	1、这是HTML的注释
	2、<!doctype html>加上以下代码的第一行就表示HTML5语法。去掉就表示HTML4.0
	3、HTML不区分大小写,语法松散不严格。
-->
<!doctype html>
<html>
	<head>
		<title>HTML</title>
	</head>
	<body>
		<!--段落标记-->
		<p></p>

		<!--标题字:是HTML预留的格式,和word中的标题字相同-->
		<h1>标题字</h1>
		<h2>标题字</h2>
		<h3>标题字</h3>
		<h4>标题字</h4>
		<h5>标题字</h5>
		<h6>标题字</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>
	</body>
</html>

4.实体符号

<!-- 实体符号特点是:以&开始,以;结束。&lt;是小于号 &gt;是大于号 &nbsp;是空格 -->
b&lt;a&gt;c
<br>
a&nbsp;bc

5.表格

<table align="center" border="1px" width="60%" 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>
</table>

单元格合并

<!--注意事项:
	1、row合并的时候,删除“下面的”单元格
	2、col合并的时候,对删除哪个没有要求。
-->
<table border="1px" width="50%">
<!--thead tbody tfoot 在table中不是必须的,只是这样做便于后期的JS代码的编写-->
	<tr>
		<!-- th 标签也是单元格标签,比td多的是居中、加粗。-->
		<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">f</td>
	</tr>
	<tr>
		<td colspan="2">d</td>
	</tr>
</table>

6.背景、图片

<body bgcolor="red" background="img/bd_logo1.png">
<!--
	1、设置图片宽度和高度的时候,只设置宽度,高度会进行等比例缩放。
	2、img标签就是图片标签
	3、src属性是图片的路径
	4、title设置鼠标悬停时显示的信息。
	5、alt设置图片加载失败时显示的提示信息。
-->
	<img src="img/bd_logo1.png" width="100px" title="我是百度图片哦" alt="图片找不到哦!"/>
</body>

7.超链接

		<!--
			href:hot references 热引用
			href属性后面一定是一个资源的地址。
			是绝对路径也可以是相对路径,可以是网络中某个资源的路径,也可以是本地资源的路径。
		-->
		<!--
			超链接有一个target属性:
				_blank : 新窗口
				_self : 当前窗口(默认就是这种方式。)
				_top : 顶级窗口
				_parent : 父窗口
		-->
		<a href="https://www.hao123.com/" target="_self">
			<img src="img/hao123.png" width="120px"/>
		</a>
<!--
	超链接的作用:
		通过超链接可以从浏览器向服务器发送请求。
		浏览器向服务器发送数据(请求:request)
		服务器向浏览器发送数据(响应:response)
		
		B/S结构的系统:每一个请求都会对应一个响应。
	用户点击超链接和用户在浏览器地址栏上直接输入URL:本质上没有区别,都是向服务器发送请求。
-->

8.列表

<!--有序列表-->
<ol type="I">
	<li>水果
		<ol type="a">
			<li>苹果</li>
			<li>西瓜</li>
			<li>桃子</li>
		</ol>
	</li>
	<li>甜点</li>
</ol>
<!--无序列表-->
<ul type="circle">
	<li>中国
		<ul type="square">
			<li>北京
				<ul type="disc">
					<li>东城区</li>
					<li>西城区</li>
					<li>海淀区</li>
					<li>朝阳区</li>
				</ul>
			</li>
			<li>天津</li>
		</ul>
	</li>
	<li>美国</li>
</ul>

9.表单

<!--
	1、表单有什么用?
		收集用户信息。表单展现之后,用户填写表单,点击提交按钮提交数据给服务器。
	2、form标签有一个action属性,这个属性用来指定服务器地址:
		action属性用来指定数据提交给哪个服务器。
		action属性和超链接中的href属性一样。都可以向服务器发送请求(request)
-->
<form action="http://192.168.111.3:8080/oa/save">
	<!-- 画按钮可以使用input输入域,type="submit"的时候表示该按钮是一个提交按钮,具有提交表单的能力。-->
	<!-- 对于按钮来说,按钮的value属性用来指定按钮上显示的文本信息。-->
	<input type="submit" value="登录"/>
	
	<!--这是一个普通按钮,不具备提交表单的能力。-->
	<input type="button" value="设置按钮上显示的文本"/>	
</form>

<a href="http://www.baidu.com">百度</a>
<!--这个按钮和普通的超链接没什么太大的区别。(超链接和表单都可以向服务器发送请求,只不过表单发送请求的同时可以携带数据。)-->
<form action="http://www.baidu.com">
	<input type="submit" value="百度" />
</form>

<!--
	表单是以什么格式提交数据给服务器的?
		http://localhost:8080/jd/login?username=abc&userpwd=111
		格式:action?name=value&name=value&name=value&name=value&name=value...
		W3C的HTTP协议规定的,必须以这种格式提交给服务器。
	
	重点强调:表单项写了name属性的,一律会提交给服务器。不想提交这一项,就不要写name属性。
	文本框和密码框的value不需要程序员指定,用户输入什么value就是什么。
	但是当value没有写的时候,value的默认值是空字符串"",会将空字符串提交给服务器。java代码得到的是:String username = "";
-->

9.1用户注册的表单

<!--
	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">
	用户名
	<input type="text" name="username"/>
	<br>
	密码
	<input type="password" name="userpwd" />
	<br>
	确认密码
	<input type="password"/>
	<br>
	性别
	<input type="radio" name="gender" value="1" /><input type="radio" name="gender" value="0" checked/><!--单选按钮的value必须手动指定-->
	<br>
	兴趣爱好
	<input type="checkbox" name="interest" value="smoke"/>抽烟
	<input type="checkbox" name="interest" value="drink" checked/>喝酒
	<input type="checkbox" name="interest" value="fireHair" checked/>烫头
	<br>
	学历
	<select name="grade">
		<option value="gz">高中</option>
		<option value="dz">大专</option>
		<option value="bk" selected>本科</option> <!--默认选中-->
		<option value="ss">硕士</option>
	</select>
	<br>
	简介 <!--文本域,文本域没有value属性,用户填写的内容就是value-->
	<textarea rows="10" cols="60" name="introduce"></textarea>
	<br>
	<input type="submit" value="注册" />
	<input type="reset" value="清空" />
</form>

<!--超链接也可以提交数据给服务器,但是提交的数据都是固定不变的。-->
<!--超链接是get请求。不是post请求。-->
<a href="http://localhost:8080/oa/save?username=zhangsan&password=111">提交</a>

9.2下拉列表支持多选

<!-- multiple="multiple" 支持多选的 size设置显示条目数量。-->
<select multiple="multiple" size="2">
	<option>河北省</option>
	<option>河南省</option>
	<option>山东省</option>
	<option>山西省</option>
</select>

9.3file控件

<!--file控件:文件上传专用。-->
<input type="file" />

9.4隐藏域

<form action="http://localhost:8080/oa/save">	
	<!--隐藏域:网页上看不到,但是表单提交的时候数据会自动提交给服务器。-->
	<input type="hidden" name="userid" value="111" />
	用户代码<input type="text" name="usercode" />
	<input type="submit" value="提交" />	
</form>

9.5readonly和disabled

<!--
	readonly和disabled相同点:都是只读不能修改。
	但是readonly可以提交给服务器,disabled数据不会提交(即使有name属性也不会提交。)
-->
<form action="http://localhost:8080/taobao/save">
	用户代码<input type="text" name="usercode" value="110" readonly />
	用户姓名<input type="text" name="username" value="zhangsan" disabled />
	<input type="submit" value="提交数据" />
</form>

9.6maxlength

<!--
	maxlength 设置文本框中可输入的字符数量。
-->
<input type="text" maxlength="3" />

9.7HTML中元素的id属性

<!--
	1、在HTML文档当中,任何元素(节点)都有id属性,id属性是该节点的唯一标识。所以在同一个HTML文档当中id值不能重复。
	2、注意:表单提交数据的时候,只和name有关系,和id无关。
	3、id有什么用?
		javascript语言:可以对HTML文档当中的任意节点进行增删改操作。
		javascript可以对HTML文档当中的任意节点进行增删改,那么增删改之前需要先拿到这个节点,通常我们通过id来拿节点对象。
		id的存在让我们获取元素(节点)更方便。
	4、HTML文档是一棵树,树上有很多节点,每一个节点都有唯一的id。
		javascript主要就是对这棵DOM树上的节点进行增删改的。
		DOM(Document)树。
-->
<form id="myform">
	<input type="text" id="username" name="username"/>
	<input type="password" id="userpwd" name="userpwd"/>
</form>

10.HTML中的div和span

<!--
	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="span1">我是一个SPAN标签</span>
<span id="span2">我是一个SPAN标签</span>

<div id="div3">
	<div>
		<div>test</div>
	</div>
</div>

11.总结

在这里插入图片描述

传送门

下一章:Web前端 第二章 CSS

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值