HTML&CSS
HTML
web概念概述
JavaWeb
使用java语言开发局域互联网的项目
资源分类
静态资源
- 使用静态网页开发技术发布的资源
- 特点
- 所有用户访问,得到的结果是一样的
- 如:文本、图片、音频、视频、HTML、CSS、JavaScript
- 如果用户请求的是静态资源,那么服务器会直接将静态资源发送给浏览器。浏览器中内置了静态资源的解析引擎,可以来展示这些静态资源
HTML
用于搭建基础网页,展示页面的内容
CSS
用于美化页面,布局页面
JavaScript
控制页面的元素,让页面有一些动态效果
动态资源
- 使用动态网页技术发布的资源
- 特点
- 所有的用户访问,得到的结果可能不一样
- 如:jsp/servlet、php、asp….
- 如果用户请求的是动态资源,那么服务器会执行动态资源,转换为静态资源,在发送给浏览器
HTML
Hyper Text Markup Language 超文本标记语言,是最基础的网页开发语言
超文本
超文本是用超链接的方法,将各种不同空间的文字信息组织在一起的网状文本
标记语言
- 由标签构成的语言。< 标签名称> 如html、xml
- 标记语言不是编程语言
快速入门
语法
html文档后缀名 .html或者.htm
标签分为
围堵标签
有开始标签和结束标签,如
自闭合标签
开始标签和结束标签在一起,如
标签可以嵌套,但是需要正确嵌套
错误
1
<a><b></a></b>
正确
1
<a><b></b></a>
在开始标签中可以定义属性。属性是由键值对构成,值需要用引号(单双都可以)引起来
html的标签不区分大小写,建议使用小写
标签
注释
1 |
|
属性定义
- color(颜色)
- 使用英文单词:red、green、blue
- rgb(值1,值2,值3) :值的范围0~255 如rgb(0,0,255)表示的是蓝色
- #值1值2值3:值的范围:00~FF之间。 如#FF00FF
- width(宽度)
- 数值:width=’20’,数值的单位,默认是px(像素)
- 数值%:占比相对于父元素的比例
文件标签
构成html最基本的标签
html
html文档的根标签
head
头标签,用于指定html文档的一些属性,引入外部的资源
meta标签
用于指定字符集编码,指定为UTF-8表示页面支持中文,防止中文乱码
1
<meta charset="UTF-8">
title
定义标题标签
body
体标签
<! DOCTYPE html >: html5中定义该文档是html文档
文本标签
h1 to h6
标题标签 ,h1到h6字体大小逐渐递减
p
段落标签
br
换行标签
hr
展示一条水平线,有以下属性
- color:颜色
- width:宽度
- size:高度
- align:对其方式
- center:居中
- left:左对齐
- right:右对齐
b
字体加粗
i
字体斜体
font
字体标签
center
文本居中,有以下属性
- color:颜色
- size:大小
- face:字体
图片标签
img:展示图片,有以下属性
- src:指定图片的位置
1
22<!--展示一张图片 img-->
<img src="image/jingxuan_2.jpg" align="right" alt="古镇" width="500" height="500"/>相对路径:以.开头的路径
./
代表当前目录
../
代表上一级目录
列表标签
- 有序列表
- ol
- li
- 无序列表
- ul
- li
链接标签
- a:定义一个超链接
- href:指定访问资源的URL(统一资源定位符)
- target:指定打开资源的方式
- _self:默认值,在当前页打开
- _blank:在空白页打开
1 |
|
Div和Span
- div:每一个div占满一整行,块级标签
- span:文本信息在一行展示。行内标签,内联标签
语义化标签
html5中为了提高程序的可读性,提供了一些标签
- header:页面
- footer:页脚
表格标签
- table:定义表格
- width:宽度
- border:边框
- cellpadding:定义内容和单元格的距离
- cellspacing:定义单元格之间的距离,如果指定为0,则单元格的线会合为一条
- bgcolor:背景色
- align:对齐方式
- tr:定义行
- bgcolor:背景色
- align:对齐方式
- td:定义单元格
- colspan:合并列
- rowspan:合并行
- th:定义表头单元格
- caption:表格标题
- thead:表示表格的头部分
- tbody:表示表格的体部分
- tfoot:表示表格的脚部分
1 |
|
案例:旅游网站首页
确定使用table来完成布局
如果某一行只有一个单元格,则使用tr、td的的方式
如果某一行有多个单元格则使用
1
2
3
4
5<tr>
<td>
<table></table>
</td>
</tr>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>XX旅游网</title></head>
<body>
<!--采用table来完成布局-->
<!--最外层的table,用于整个页面的布局-->
<table width="100%" align="center">
<!-- 第1行 -->
<tr>
<td>
<img src="image/top_banner.jpg" width="100%" alt="">
</td>
</tr>
<!-- 第2行 -->
<tr>
<td>
<table width="100%" align="center">
<tr>
<td><img src="image/search.png" alt=""></td>
<td><img src="image/hotel_tel.png" alt=""></td>
</tr>
</table>
</td>
</tr>
<!-- 第3行 -->
<tr>
<td>
<table width="100%" align="center">
<tr bgcolor="#ffd700" align="center" height="45">
<td><a href="">首页</a></td>
<td>门票</td>
<td>门票</td>
<td>门票</td>
<td>门票</td>
<td>门票</td>
<td>门票</td>
<td>门票</td>
<td>门票</td>
<td>门票</td>
</tr>
</table>
</td>
</tr>
<!-- 第4行 轮播图 -->
<tr>
<td>
<img src="image/banner_3.jpg" alt="" width="100%">
</td>
</tr>
<!-- 第5行 XX精选-->
<tr>
<td>
<img src="image/icon_5.jpg" alt=""> XX精选
<hr color="#ffd700">
</td>
</tr>
<!-- 第6行 -->
<tr>
<td>
<table align="center" width="95%">
<tr>
<td>
<img src="image/jiangxuan_1.jpg" alt="">
<p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)</p>
<font color="red">¥899</font>
</td>
<td>
<img src="image/jiangxuan_1.jpg" alt="">
<p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)</p>
<font color="red">¥899</font>
</td>
<td>
<img src="image/jiangxuan_1.jpg" alt="">
<p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)</p>
<font color="red">¥899</font>
</td>
<td>
<img src="image/jiangxuan_1.jpg" alt="">
<p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)</p>
<font color="red">¥899</font>
</td>
</tr>
</table>
</td>
</tr>
<!-- 第7行 国内游 -->
<tr>
<td><img src="image/icon_6.jpg" alt=""> 国内游
<hr color="#ffd700">
</td>
</tr> <!-- 第8行 -->
<tr>
<td>
<table align="center" width="95%">
<tr>
<td rowspan="2">
<img src="image/guonei_1.jpg" alt="">
</td>
<td>
<img src="image/jiangxuan_2.jpg" alt="" height="100%">
<p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)</p>
<font color="red">¥699</font>
</td>
<td>
<img src="image/jiangxuan_2.jpg" alt="">
<p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)</p>
<font color="red">¥699</font>
</td>
<td>
<img src="image/jiangxuan_2.jpg" alt="">
<p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)</p>
<font color="red">¥699</font>
</td>
</tr>
<tr>
<td>
<img src="image/jiangxuan_2.jpg" alt="">
<p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)</p>
<font color="red">¥699</font>
</td>
<td><img src="image/jiangxuan_2.jpg" alt="">
<p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)</p>
<font color="red">¥699</font>
</td>
<td>
<img src="image/jiangxuan_2.jpg" alt="">
<p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)</p>
<font color="red">¥699</font>
</td>
</tr>
</table>
</td>
</tr>
<!-- 第9行 境外游 -->
<tr>
<td>
<img src="image/icon_7.jpg" alt=""> 境外游
<hr color="#ffd700">
</td>
</tr>
<!-- 第10行 -->
<tr>
<td>
<table align="center" width="95%">
<tr>
<td rowspan="2"><img src="image/jiangwai_1.jpg" alt=""></td>
<td>
<img src="image/jiangxuan_3.jpg" alt="" height="100%">
<p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)</p>
<font color="red">¥699</font>
</td>
<td>
<img src="image/jiangxuan_3.jpg" alt="">
<p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)</p>
<font color="red">¥699</font>
</td>
<td>
<img src="image/jiangxuan_3.jpg" alt="">
<p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)</p>
<font color="red">¥699</font>
</td>
</tr>
<tr>
<td>
<img src="image/jiangxuan_3.jpg" alt="">
<p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)</p>
<font color="red">¥699</font>
</td>
<td>
<img src="image/jiangxuan_3.jpg" alt="">
<p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)</p>
<font color="red">¥699</font>
</td>
<td>
<img src="image/jiangxuan_3.jpg" alt="">
<p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)</p>
<font color="red">¥699</font>
</td>
</tr>
</table>
</td>
</tr>
<!-- 第11行 -->
<tr>
<td>
<img src="image/footer_service.png" alt="" width="100%">
</td>
</tr>
<!-- 第12行 -->
<tr>
<td align="center" bgcolor="#ffd700" height="40">
<font color="gray" size="2">XXXXXX科技股份有限公司 版权所有Copyright 2006-2018©, All Rights Reserved 苏ICP备123456 </font>
</td>
</tr>
</table>
</body>
</html>
表单标签
用于采集用户输入的数据,用于和服务器进行交互。
通常使用form定义表单。可以定义一个范围,范围代表采集用户数据的范围。
属性
action
指定提交数据的URL
method
指定提交的方式,一共7种,2种比较常用
- get
- 请求参数会在地址栏中显示。会封装到请求行中
- 请求参数大小是有限制的
- 不太安全
- post
- 请求参数不会在地址栏显示。会封装在请求体中
- 请求参数大小是没有限制
- 较为安全
- get
表单项中的数据想要被提交,必须指定其name属性
表单项标签
input标签
可以通过type属性值,改变元素展示的样式
type属性
text
文本输入框,默认值
placeholder
指定输入框的提示信息,当输入框的内容发生变化,会自动清空提示信息
password
密码输入框
radio
单选框
注意:
- 要想让多个单选框实现单选的效果,则多个单选框的name属性值必须一样
- 一般会给每一个单选框提供value属性,指定其被选中后提交的值
- checked属性,可以指定默认值
checkbox
复选框
注意:
- 一般会给每一个单选框提供value属性,指定其被选中后提交的值
- checked属性,可以指定默认值
file
文件选择框
hidden
隐藏域,用于提交一些信息
按钮
- submit:提交按钮,可以提交表单
- button:普通按钮
- image:图片提交按钮,src属性指定图片的路径
label
指定输入项的文字描述信息
注意:label的for属性一般会和input的id属性值对应。如果对应了,则点击label区域,会让input输入框获取焦点
select标签
下拉列表
- 子元素:option,指定列表项
textarea标签
文本域
- cols:指定列数,每一行有多少个字符
- rows:默认多少行
1 |
|
CSS
页面美化和布局控制。
Cascading Style Sheets 层叠样式表
层叠:多个样式可以作用在同一个html的元素上,同时生效
好处
- 功能强大
- 将内容展示和样式分离
- 降低耦合度,解耦
- 让分工协作更容易
- 提高开发效率
使用
css与html结合方式
内联样式
在标签内使用style属性指定css代码
1
<div style="color:red;">hello css</div>
内部样式
在head标签内,定义style标签,style标签的标签体内容就是css代码
1
2
3
4
5
6
7
8<style>
div{
color:blue;
}
</style>
<div>
hello css
</div>
外部样式
定义css资源文件
在head标签内,定义link标签,引入外部的资源文件
a.ccs文件
1
2
3div{
color:green;
}html文件
1
2
3
4
5
6
7<link rel="stylesheet" href="css/a.css"></link>
<div>
hello css
</div>
<div>
hello css
</div>
注意:
1、2、3种方式,css作用范围越来越大
1方式不常用、后期常用2、3
第三种格式可以写为
1
2
3<style>
@import "css/a/css";
</style>
CSS语法
语法
1 |
|
注意:每一对属性需要使用:隔开,最后一对属性可以不加;
选择器
筛选具有相似特征的元素,就比如说选择器替换为div,那么在这个页面中的所有div都具有选择器中写的样式
基础选择器
id选择器
选择具体的id属性值的元素,建议在一个html页面中id值唯一
语法:#id属性值{}
元素选择器
选择具有相同标签名称的元素
语法:标签名称{}
注意:id选择器优先级高于元素选择器
类选择器
选择具有相同的class属性值的元素
语法:.class属性值{}
注意:类选择器优先级高于元素选择器
1 |
|
扩展选择器
选择所有元素
语法:*{}
并集选择器
语法:选择器1,选择器2{}
子选择器
筛选选择器1元素下的选择器2元素
语法:选择器1 选择器2{}
父选择器
筛选选择器2的父元素选择器1
语法:选择器1 > 选择器2{}
伪类选择器
选择一些元素具有的状态
语法:元素:状态{}
a标签有以下状态
- link:初始化状态
- visited:被访问过的状态
- active:正在访问状态
- hover:鼠标悬浮状态
属性选择器
选择元素名称,属性名=属性值的元素
语法:
元素名称[ 属性名= '属性值']{}
1 |
|
CSS属性
字体、文本
- font-size:字体大小
- color:文本颜色
- text-align:对其方式
- line-height:行高
背景
- background
边框
- border:设置边框,符合属性
尺寸
- width:宽度
- height:高度
1 |
|
盒子模型
控制布局
- margin:外边距
- padding:内边距
- 默认情况下内边距会影响整个盒子的大小
- box-sizing:border-box; 设置盒子的属性,让width和height就是最终盒子的大小
- float:浮动
- left:向左浮动
- right:向右浮动
1 |
|
案例
注册页面
1 |
|