HTML学习笔记

1.系统结构

1.1 B/S架构

Browser / Server(浏览器/服务器的交互形式)

Browser支持的语言:HTML CSS JavaScript

Server后端有很多语言:C、C++、Java、Python

1.1.1 优点

升级方便,只升级服务器代码即可

1.1.2 缺点

速度慢、体验不好、界面不炫酷

1.1.3 常见代表

京东、百度、天猫

企业内部的解决方案都是采用B/S架构的系统,因为企业内部办公需要的一些系统不需要炫酷和特别好的用户体验,只要能做数据的增删改查即可。并且企业内部更加注重维护的成本

1.2 C/S架构

1.2.1 缺点

升级麻烦,维护成本高

1.2.2 优点

速度快、体验好、界面炫酷。(娱乐性的系统多是C/S架构的。)

1.2.3 常见代表

QQ、微信、支付宝

2.HTML

2.1 概念

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

由大量标签组成,每一个标签都有开始标签和结束标签。

<标签1>
	<标签2>
		<标签3 属性名1=”属性值“ 属性名2=”属性值“>
        
        </标签3>
    </标签2>
</标签1>

2.2 开发

使用普通的文本编辑器就行,创建的文件扩展名是 .html或者 .htm

HTML也有专业的开发工具:DreamWeaver、HBuider

2.3 运行

运行直接使用浏览器打开HTML文件就行

2.4 第一个HTML

<!--
    1.这是HTML的注释
    2.加上以下代码就表示HTML5语法,去掉就表示HTML4
	3.HTML语法松散,对大小写要求不严格
-->
<!doctype html>
<!--根-->
<html>

    <!--头-->
    <head>
         <!--网页标题,显示在网页左上角-->
        <title>网页标题</title>
    </head>

    <!--体-->  
    <body>
        网页的主体内容,欢迎学习HTML!
    </body>

</html>

2.5 基本标签

2.5.1 段落标记

<p>段落1</p>

2.5.2 标题字

<h1>一级标题<h1>
<h2>二级标题<h2>
<h3>三级标题<h3>
<h4>四级标题<h4>
<h5>五级标题<h5>
<h6>六级标题<h6>

2.5.3 换行标记

Hello<br>World

网页展示效果:

Hello
World

2.5.4 横线,独目标记

<!--color和width都是hr的属性 -->
<!--属性右边单引号双引号都可以  -->
<hr color="red" width="50%">

网页展示效果:


2.5.5 预留格式

<!--当我们想让我们输入的东西以我们看到的格式保留在网页上,就可以使用预留格式-->

<pre>
	H
	e
	l
	l
	o
	!
</pre>

网页展示效果:

	H
	e
	l
	l
	o
	!

2.5.6 删除字、插入字、粗体字、斜体字

<del>删除字</del>
<ins>插入字</ins>
<b>粗体字</b>
<i>斜体字</i>

网页展示效果:

删除字
插入字
粗体字
斜体字

2.5.7 右上角、右下角加字

<!--比如10的2次方-->
<!--右上角-->
10<sup>2</sup>
<!--右下角-->
10<sub>2</sub>

网页效果展示:

102
102

2.5.8 字体标签

<font color="red" size="5">字体标签</font>

网页效果展示:

字体标签

2.6 实体符号

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

2.7 表格

2.7.1 基本表格

<!--这是表格
	border表示边框像素大小
	width表示表格的宽度,60%表示宽度总是窗口的60%大小
	height表示高度,150px也是像素大小
	align表示对齐方式,对table、tr、td通用
		其中参数值可为:left center right
-->
<table align="center" border="1px" width="60%" height="150px">
    
    <!--tr是行,这是2行
		td是每行的格子,下面的代码中每行有2个格子
	-->
    <tr>
        <td>a</td>
    	<td>b</td>
    </tr>
    <tr>
    	<td>c</td>
    	<td>d</td>
    </tr>
    
</table>

2.7.2 单元格合并

<!--
	首先找到要和合并的单元格
	其次找到合并单元格下面的单元格的td标签
	然后使用rowspan

	注意事项:
		row合并的时候要删除“下面的”单元格,而col合并的时候没有要求。
-->
<table>
    <tr>
        <td>a</td>
        
        <!--这里表示的是将单元格b和d合并-->
    	<td rowspan="2">b</td>
        
    </tr>
    <tr>
    	<td>c</td>
    	<!--
		<td>d</td>
		-->
    </tr>
</table>


<table>
    <tr>
        <!--
        <td>a</td>
        -->
        
        <!--这里表示的是将单元格a和b合并-->
    	<td colspan="2">b</td>
        
    </tr>
    <tr>
    	<td>c</td>
		<td>d</td>
    </tr>
</table>

2.7.3 th标签

th标签和单元格标签一样,多的是加粗和居中。在实际的使用中,一般来说一张表的第一个<tr>标签中,会以<th>开头。

2.7.4 thead、tbody、tfoot

这三个标签可有可无,这样做会让我们的结构更加清晰,也方便后期 JS代码的编写。

2.8 背景颜色和背景图片

<!DOCTYPE html>
<html>
	<head>
		<!--下面这句表示让浏览器用什么编码打开-->
		<meta charset="utf-8">
		<title>背景颜色和背景图片</title>
	</head>
		<!--
			bgcolor设置背景色
			背景色在图片下面
			background设置背景图片
		-->
		<body bgcolor="black" background="imagine/6d1ffde61ff84984a225945dd3383da0.jpg">
	</body>
</html>

2.9 图片

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>图片</title>
	</head>
	<body>
		<!--
			1.设置图片高度的时候只设置width,高度会等比例的缩放,手动设置会导致失真
			2.img标签就是图片标签
			3.src属性是图片的路径
			4.width设置宽度,height设置高度
			5.title设置戍边悬停图片上时显示的信息。
			6.alt设置图片加载失败时显示的提示信息
		-->
		
		<!--如果开始标签和结束标签中不填写文本信息,可以采用下面的写法省略结束标签-->
		<img src="imagine/001.jpg" width="100px" title="这是张图片" alt="图片信息丢失"/>	
		
	</body>
</html>

2.10 超链接

2.10.1 基础

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>超链接</title>
	</head>
	<body>
		
		<!--href:hot reference
			该属性后面一定是一个资源地址
			
			超链接的特点:
				有下划线
				鼠标停留在超链接是上鼠标指针会变成手提示点击
				点击链接以后话可以跳转页面
		-->
		<a href="https://www.baidu.com">百度</a>
		
        <!--图片超链接-->
        <a  href="https://www.baidu.com/">
			<img src="imagine/002.png" width="120px">
            target="_self"
		</a>
        <!--target是超链接的属性之一
			可取值:
				_blank:点击超链接跳转新窗口
				_self:当前窗口跳转超链接(默认)
				_top:顶级窗口
				_parent:父窗口
		-->
        
	</body>
</html>

2.10.2 超链接的作用

1、通过超链接可以从浏览器向服务器发送请求。

2、浏览器向服务器发送数据(请求:request)

3、服务器向浏览器返回数据(相应:response)

B/S系统的结构每一个操作都会对应一个响应。不管是在浏览器输入URL还是点击超链接本质上都是向服务器发送请求。相对而言,超链接更加方便。

2.11 列表

2.11.1无序列表

		<!--无序列表-->
		<!--type是列表的属性
			该属性有三个可选值:
				disc:实心圆
				circle:空心圆			
				square:表示方块
				其等级由上往下
		 -->
		<ul type="disc">
			<!-- li表示列表项 -->
			<li>北京
				<!-- 嵌套使用,列表里面套列表 -->
				<ul>
					<li>海淀区
                    	<ul>
                            <li>DEMO</li>
                        </ul>
                    </li>
					<li>朝阳区</li>
				</ul>
			</li>
		</ul>

网页展示效果:

  • 北京
    • 海淀区
      • DEMO
    • 朝阳区

2.11.2 有序列表

<!-- 无序列表 -->
		<!--
			type的可选值有四个
			1:以阿拉伯数字为序号
			A:以大写的英文字母为序
			a:以小写的英文字母为序
			i:以大写的罗马数字为序
			I:以小写的罗马数字为序
		-->
		<ol type="1">
			<li>水果
				<ol>
					<li>苹果</li>
					<li>桃子</li>
				</ol>
			</li>
			<li>蔬菜
				<ol>
					<li>西红柿</li>
					<li>土豆</li>
				</ol>
			</li>
		</ol>

网页展示效果:

  1. 水果
    1. 苹果
    2. 桃子
  2. 蔬菜
    1. 西红柿
    2. 土豆

2.12 表单

2.12.1 前提了解

  1. 表单可用于收集用户信息,用户填写表单,点击提交按钮后,将信息交给服务器。
  2. 表单的语法:<form>表单</form>
  3. 网页中可以有多个表单
<!-- 表单是需要给服务器的,属性action是用来填写url地址的 
		form表单method属性:
			get:采用get方式提交的时候,用户提交的信息会显示在浏览器的地址栏上。
			post:采用post方式提交的时候,用户提交的信息不会显示在浏览器地址栏上。
			当用户提交的信息中含有敏感信息,例如:密码,建议采用post方式提交。
-->
		
		<form action="http://192.168.111.3:8000/oa/save" method="method">
			<!-- 输入域标签 -->
			<!-- 
				这里type和value都是输入域标签的属性
				value表示的是按钮上展示的文本,对于submit默认value为”提交“
				
				type表示按钮的类型
				type有很多个值。下面我只展示常用的
				button:普通按钮
				checkbox:复选框
				submit:提交按钮(将表单提交给服务器)
				text:文本框
				password:密码框
				radio:单选按钮
				reset:清空
			-->
			<input type="" value="普通按钮"/>
			<!-- 超链接与表单类似,但是表单具有将信息提交给服务器的功能 -->
			<input type="submit" value="提交按钮"/>
			<!-- 为了整齐起见,我们可以在form里面嵌套table,再将按钮填充到表格里 -->
			
		</form>
<!--下拉列表-->
<!--
	表单中还有一个标签表示下拉菜单
	option标签表示菜单内的选项
	下拉列表有一个属性multiple。multiple=“multiple”表示支持多选,size设置显示条目数量。
			<select multiple=“multiple”,size="2"> 
				<option>河南省</option>
				<option>河北省</option>
				<option>湖北省</option>
				<option>湖南省</option>
			</select>
-->

下拉列表多选展示

<select multiple=“multiple”,size=“2”>
河南省
河北省
湖北省
湖南省

2.12.2 实例演练:做一个简单的用户登录页面

<!--
	表单是以什么格式提交数据给服务器的?
				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就是什么。
			
			当name没有写的时候,该项不会提交给服务器。
			当value没有写的时候,value的默认值是空字符串"",会将空字符串提交给服务器。

-->		

		<form action="http://localhost:8080/jd/login">
			<table>
				<tr	align="center">
					<td>用户名</td>
					<td><input type="text" name="username" /></td>
				</tr>
				<tr	align="center">
					<td>密码</td>
					<td><input type="password" name="userpwd" /></td>
				</tr>
				<tr align="center">
					<td colspan="2">
						<input type="submit" value="登录" />
						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
						<input type="reset" value="清空" />
					</td>
				</tr>
			</table>
		</form>

网页展示效果:

	<form action="http://localhost:8080/jd/login">
		<table>
			<tr	align="center">
				<td>用户名</td>
				<td><input type="text" name="username" /></td>
			</tr>
			<tr	align="center">
				<td>密码</td>
				<td><input type="password" name="userpwd" /></td>
			</tr>
			<tr align="center">
				<td colspan="2">
					<input type="submit" value="登录" />
					&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
					<input type="reset" value="清空" />
				</td>
			</tr>
		</table>
	</form>

2.12.3 用户注册的表单

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>用户注册的表单</title>
	</head>
	<body>
		<!--
			用户注册:
				用户名
				姓名
				密码
				确认密码
				性别
				兴趣爱好
				学历
				简介
			
			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>
			密码
            <!-- 下面这个输入域没有value,因为它输入的值就是value -->
			<input type="password" name="userpwd" />
			<br>
			确认密码
			<input type="password"/>
			<br>
			性别
			<input type="radio" name="gender" value="1" /><!-- check修饰的单选按钮表示默认被选中 --> 
			<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标签表示下拉菜单 -->
			<select name="grade">
                <!-- option标签表示菜单内的选项 -->
				<option value="gz">高中</option>
				<option value="dz">大专</option>
				<option value="bk" selected>本科</option> <!--默认选中-->
				<option value="ss">硕士</option>
			</select>
			<br>
			简介 <!--文本域,文本域没有value属性,用户填写的内容就是value,通过设置rows和cols可以限制字数-->
			<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>
		
		
	</body>
</html>

<!--
http://localhost:8080/jd/register?username=jack&userpwd=111&gender=1&interest=smoke&interest=drink&grade=ss&introduce=jackgoodman
-->

2.12.4 file控件

<!--用来上传文件-->
<input type="file" />

2.12.5 hidden控件

<input type="hidden" name="userid" value="111"/>

隐藏域,网页上看不到,但是表单提交的时候数据会自动提交给服务器。

2.12.6 readonly和disabled

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

2.12.7 maxlength

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

2.13 HTML中元素的id属性

<form id="1">
    <input type="text" id="2">
</form>
  1. 在HTML中,任何一个元素都有一个唯一标识(id)
  2. 表单在提交时跟id没有关系
  3. JavaScript可以对html文档中的任意节点(元素)进行增删改查操作,id就是为了方便我们查找节点
  4. HTML文档是一棵树,树上有很多节点,每个节点都有唯一的id。JavaScript主要就是为了操作这颗dom树。

请添加图片描述

2.14 div和span

2.14.1 作用

div和span都可以成为图层,其目的是为了更i灵活的布局。图层就是一个一个的盒子,div嵌套div就是盒子套盒子。

最早的网页都是使用table进行布局,但是table不灵活。现代的网页开发中div布局使用最u都,几乎很少使用table进行布局。

div和span都可以定位,只要定下其左上角的xy坐标即可。div和span的区别就是:div独占一行,而span不行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

少不入川。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值