1.HTML
1.1 表单标签:form
<form> 表单标签,在html页面创建一个表单,表单标签在浏览器上没有任何显示。如果数据需要提交到服务器,负责收集数据的标签必须放在表单标签体内容。
action属性:请求路径,确定表单提交到服务器的地址(路径)
method属性:请求方式。常用的取值:get、post
get:默认值
提交的数据追加在请求路径上。例如:/1.html?username=alex&password=1234,数据格式k/v,追加是使用?连接,之后每一对数据使用&连接
因为请求路径长度有限,所有get请求提交的数据有限。
post:
提交的数据不再请求路径上追加(既不显示在地址栏上)
提交的数据大小不显示
<body> <!-- 表单 --> <form action="" method=""> <!-- 此处的内容可能被提交到服务器 --> </form> <!-- 此处的内容在<form>标签外部,此处数据不能提交到表单 --> </body>
1.2 输入域标签:input
<input> 标签用于获得用户输入信息,type属性值不同,收集方式不同。最常用的标签。
rype属性
text:文本框,单行的输入字段,用户可在其中输入文本。默认宽度为20个字符
password:密码框,密码字段。该字段中的字符以黑圆显示。
radio:单选框,表示一组互斥选项按钮中的一个。当一个按钮被选中,之前选中的按钮就变为非选中的。
submit:提交按钮。提交按钮会把表单数据发送到服务器。一般不写name属性,否则将"提交"两个字提交到服务器。
因为不同项目需要的字段不同,所以我没有把所有的表单元素写出来,以下标签使用也需要大家掌握。
checkbox:复选框
filee:文件上传组件,提供"浏览",按下可以选择需要上传的文件。
hidden:隐藏字段,数据会发送给服务器,但是浏览器不进行显示。
reset:重置按钮。将表单恢复到默认值。
image:图像提交按钮,通过src给按钮设置图片。
button:普通按钮,常用于与JavaScript结合使用。
name:元素名,如果需要表单数据提交到服务器,必须提供name属性值,服务器通过属性值获得提交的数据。
value:设置input标签的默认值。submit和reset按钮提交数据
size:大小
checked属性:单选框或者复选框被选中。
readonly:是否只读
disabled:是否可用
maxlength:允许输入的最大长度
1.3 下拉列表标签:select
<select> 下拉列表。可用进行单选或多选。需要使用子标签<option>指定列表项
name 属性:发送给服务器的名称
multiple属性:不写默认单选,取值为"multiple"表示多选
size属性:多选时,可见选项的数目。
<option> 子标签:下拉列表中的一个选项(一个条目)
selected:勾选当前列表项
value:发送给服务器的选项值。
1.4 文本域标签:textarea
<textarea> 文本域。多行的文本输入控件。
cols属性:文本域的列数
rows属性:文本域的行数
1.5 按钮标签:button(了解)
<button type="button|reset|submit"> 按钮标签一般很少使用,提供"普通|重置|提交"功能,不同的浏览器默认值不同。
2. DIV+CSS
2.1 什么是div
div就是html一个普通标签,进行区域划分。特性:独占一行。独自不能实现复杂效果。必须结合CSS样式进行渲染。
div通常其是块级元素
2.2 CSS的概述
2.2.1 CSS是什么
CSS通常称为CSS样式或层叠样式表,主要用于设置HTML页面中的文本内容(字体、大小、对齐方式等)、图片的外形(高宽、边框样式、边距等)以及版面的布局等外观显示样式。
CSS可以使HTML页面更好看,CSS色系的搭配可以让用户更舒服,CSS+DIV布局更加灵活,更容易绘制出用户需要的结构。
2.2.2 CSS名词解释
CSS(Cascading Style Sheets):指层叠样式表
样式:给HTML标签添加需要显示的效果。
层叠:使用不同的添加方式,给同一个HTML标签添加样式,最后所有的样式都叠加到一起,共同作用于该标签。
2.2.3 CSS样式规则
使用HTML时,需要遵从一定的规范。CSS亦如此,想要熟练的使用CSS对网页进行修饰,首先需要了解CSS样式规则。具体格式如下
选择器{属性1:属性值;属性2:属性值;..}
在上面的样式规则中,“选择器”用于指定CSS样式作用的HTML对象,花括号内是对该对象设置的具体样式。属性和属性值以键值对方式出现,使用英文冒号“:”分隔。多个属性之间使用英文分号“;”分隔。例如:
<style> h2{ color: red; font-size: 100px; } </style>
初学者在书写CSS样式时,除了要遵循CSS样式规则,还必须注意CSS代码结构中的几个特点,具体如下:
CSS样式“选择器”严格区分大小写,“属性”和“属性值”不区分大小写。
多个属性之间必须用英文状态下的分号隔开,最后一个属性后的分号可以省略,但是,为了便于增加新样式最好保留。
如果属性的值由多个单词组成且之间包含空格,则必须为这个属性值加上英文状态下的引号。例如:
p{font-family:"Times New Roman";}
在编写CSS代码时,为了提高代码的可读性,通常会加上CSS注释,例如:
/* 这是css注释文本,此文本不会显示在浏览器窗口中 */
在CSS代码中空格是不被解析的,花括号以及分号前后的空格可有可无。因此,可以使用空格键、Tab键、回车键等对样式代码进行排版,即所谓的格式化CSS代码,这样可以提高代码的可读性。例如:
h1{color: red; font-size: 20px;}
和
<style> h1{ color: red; /* 定义字体大小属性 */ font-size: 20px; /* 定义颜色属性 */ } </style>
上述两段代码所呈现的效果是一样的,但是,第二种书写方式的可读性更高。需要注意的是,属性的值和单位之间是不允许出现空格的,否则浏览器解析时会出错。例如,下面这行代码就是不正确的。
h1{ font-size:20 px;} /* 20和单位px之间有空格 */
2.2.4 引入CSS样式
CSS使用非常灵活,即可以嵌入在HTML文档中,也可以是一个单独的文件,如果是单独的文件,则必须以.css为扩展名。CSS和HTML的结合3种常用方式:
(1)行内样式
行内样式,是通过标签的style属性来设置元素的样式。
<!-- 方式1:行内样式
color : 表示字体颜色
font-size : 表示字体大小
-->
<a style="color: #f00; font-size: 30px;">小灰灰</a>
行内样式通过标签的属性来控制样式,这样并没有做到结构与表现(HTML展示结构、CSS显示效果)相分离,所有一般很少使用。学习阶段有时候为了快速编程,偶尔使用。
(2)内部样式
内部样式又称为内嵌式,是将CSS代码集中卸载HTML文档的<head>头部标签体中,并且使用<style>标签定义。
给当前html文件中的多个标签设置样式。
在html的<head>标签中使用<style>标签来定义CSS
<!-- 方式2:内部样式 background-color :表示背景色 --> <style type="text/css"> body{ background-color: #ddd; } </style>
(3)外部样式
外部样式又称为链入式,是将所有的样式放在一个或多个以.css为扩展名的外部样式表文件中,通过<link>标签将样式连接到HTML文档中。
<!-- 方式3:外部样式 rel="stylesheet",固定值,表示样式表 type="text/css",固定值,表示css类型 href,表示css文件位置 font-family 表示使用的字体系列,多个字体使用逗号分隔。例如:"字体1,字体2,字体3",此时优先使用"字体1",如果"字体1"系统不存在,再使用"字体2",以此类推。 --> <link rel="stylesheet" type="text/css" href="css/demo00.css"/>
链入式最大的好处是同一个CSS样式表可以被不同的HTML页面链接使用,同时一个HTML页面也可以通过多个<link/>标记链接多个CSS样式表。
2.3 选择器
想要将CSS样式应用于特定的HTML元素,首先需要找到该目标元素。在CSS中,执行这一任务的样式规则不符被称为选择器,本小节将对CSS基础选择器进行详细地讲解,具体如下:
2.3.1 元素选择器
标记选择器是指用HTML标记名称作为选择器,按标记名称分类,为页面中某一类标记指定统一的CSS样式。其基本语法格式如下:
标记名{属性1:属性值1; 属性2:属性值2; 属性3:属性值3; }
该语法中,所有的HTML标记名都可以作为标记选择器,例如body、h1、p、strong等。用标记选择器定义的样式对页面中该类型的所有标记都有效
例如:
<head> <style type="text/css"> h1{ color: #F00; font-size: 50px; } </style> <meta charset="utf-8" /> <title>超链接</title> </head> <body> <h1>小灰灰一号</h1> <h1>小灰灰二号</h1> <h1>小灰灰三号</h1> </body>
标记选择器最大的优点是能快速为页面中同类型的标记统一样式,同时这也是他的缺点,不能设计差异化样式
2.3.2 ID选择器
id选择器使用"#"进行标识,后面紧跟id名,其基本语法格式如下:
#id名{ 属性1:属性值1; 属性2:属性值2; 属性3:属性值3; }
该语法中,id名即为HTML元素的id属性值,大多数HTML元素都可以定义id属性,元素的id值是唯一的,只能对应于文档中某一个具体的元素。
例如:
<head> <style type="text/css"> #demo1{ color: #0f0; } </style> <meta charset="utf-8" /> <title>超链接</title> </head> <body> <h1 id="demo1">小灰灰</h1> </body>
2.3.3 类选择器
类选择器使用“.”(英文点号)进行标识,后面紧跟类名,其基本语法格式如下:
.类名{ 属性1:属性值1; 属性2:属性值2; 属性3:属性值3; }
该语法中,id名即为HTML元素的class属性值,大多数HTML元素都可以定义class属性。类选择器最大的优势是可以为元素对象定义单独或相同的样式。
例如:
<head> <style type="text/css"> .myClass{ font-size: 25px; } </style> <meta charset="utf-8" /> <title>超链接</title> </head> <body> <h1 class="myClass">小灰灰</h1> </body>
类选择器的高级用法:给指定的标签设置class样式
标签.类名 { 属性1:属性值1; 属性2:属性值2; 属性3:属性值3; }
2.3.4 扩展:属性选择器
属性选择器,在标签后面是有中括号标记,其基本语法格式如下:
标签名 [标签属性='标签属性值'] {属性1:属性值1; 属性2:属性值2; 属性3:属性值3;}
该选择器,是对"元素选择器"的扩展,对一组标签进一步过滤。
例如:
<head> <style type="text/css"> input[type="text"]{ background-color: yellow; } input[type="password"]{ background-color: green; } </style> <meta charset="utf-8" /> <title>超链接</title> </head> <body> <form action="" method="post"> <input type="text" id="" value="" /> <input type="password" name="" /> </form> </body>
2.3.5 扩展:包含选择器
包含选择器,两个标签之间使用空格,给指定父标签的后代标签设置样式,可以方便在区域内编写样式。
父标签 后代标签{ 属性1:属性值1; 属性2:属性值2; 属性3:属性值3; }
该选择器,是对"元素选择器"的扩展,对一个标签内部所有后代标签进行过滤。
<head> <style type="text/css"> #d1 div{ color: red; } </style> <meta charset="utf-8" /> <title>超链接</title> </head> <body> <div id="d1"> <div id="d2"> 小灰灰1 </div> <span id="s1"> 小灰灰2 </span> </div> </body>
2.4 CSS的样式:
2.4.1 边框和尺寸:border、width、height
border:设置边框的样式
格式:宽度 样式 颜色
例如:style="border:1px solid #f00" ,1像素实边红色。
样式取值:solid 实线,none 无边, double 双线 等
width、height:用于设置标签的宽度、高度。
<head> <style type="text/css"> div{ border: 1px solid #000; /* 1像素,实边,黑色*/ width:200px; height:200px; } </style> <meta charset="utf-8" /> <title>超链接</title> </head> <body> <div id=""> 小灰灰 </div> </body>
2.4.2 布局:float、clear
通常默认的排版方式,将页面中的元素从上到下一一罗列,而实际开发中,需要左右方式进行排版,就需要使用浮动
选择器{float:属性值}
常用属性值:
left:元素向左浮动
right:元素向右浮动
none:元素不浮动(默认值)
由于浮动元素不再占用原文档流的位置,所以它会对页面中其他元素的排版产生影响。如果要避免影响,需要使用clear属性进行清除浮动。
选择器{clear:属性值;}
常用属性值:
left:不允许左侧有浮动元素(清除左侧浮动的影响)
right:不允许右侧有浮动元素(清除右侧浮动的影响)
both:同时清除左右两侧浮动的影响
例如:
<head>
<meta charset="utf-8" />
<title>超链接</title>
</head>
<body>
<!-- 默认上下布局 -->
<div>
<div>区域1-1</div>
<div>区域1-2</div>
</div>
<hr />
<!-- 浮动左右布局 -->
<div>
<div style="float: left;">区域2-1</div>
<div style="float: left;">区域2-2</div>
</div>
<!-- 取消浮动,另起一行布局 -->
<div style="clear: both;"></div>
<hr />
<div>
<div style="float: left;">区域3-1</div>
<div style="float: left;">区域3-2</div>
<div style="float: left;">区域3-3</div>
</div>
</body>
2.4.3 转换:display
HTML提供丰富的标签,这些标签被定义成了不同的类型,一般分为:块标签和行内标签。
块标签:以区域块方式出现。每个块标签独占一整行或多整行。
常见的块元素:<h1>、<div>、<ul>等
行内元素:不必再新一行开始,同时也不强迫其他元素在新的一行显示。
常见的行内元素:<span>、<a>等
在开发中,希望行内元素具有块元素的特性,需要使用display进行转换
选择器{ display:属性值}
常用的属性值:
inline:此元素将显示为行内元素(行内元素默认的display属性值)
block:此元素将显示为块元素(块元素默认的display属性值)
inline-block:将对象呈递为内联对象,但是对象的内容作为块对象呈递。
none:此元素将被隐藏,不显示,也不占用页面空间。
例如:
<head> <style type="text/css"> span{ border: 1px solid #000; width: 100px; height: 40px; } </style> <meta charset="utf-8" /> <title>超链接</title> </head> <body> <!-- 默认显示一行、边框环绕,高宽没有作用 --> <span>显示1-1</span> <span>显示1-2</span> <!-- 每一行显示,高宽有作用 --> <span style="display: block;">显示2-1</span> <span style="display: block;">显示2-2</span> </body>
2.4.4 字体:color、font-size
color:颜色,字体颜色
例如:
<head> <meta charset="utf-8" /> <title>超链接</title> </head> <body> <div style="height: 50px;width: 200px;border: 1px solid #000;"> <a href="">点击</a> <a href="" style="text-decoration: none;">点击</a> </div> <div style="height: 50px;width: 200px;border: 1px solid #000;"> <a href="" style="line-height: 50px;">点击</a> <a href="" style="color: red;">点击</a> </div> </body>
2.4.5 背景色:background-color
<ul style="background-color: #999;color: #FFF;"> <li>点击</li> <li>点击</li> <li style="background-color: #000;">点击</li> <li>点击</li> </ul>
2.5 CSS的盒子模型
2.5.1 什么是盒子模型
CSS框模型(Box Model)规定了元素框处理元素内容、内边距、边框和外边距的方式。
2.5.2 内边距:padding
例如,如果您希望所有h1元素的个边都有10px的内边距,只需要这样:
h1{ padding:10px;}
还可以按照上、右、下、左的顺序分别设置各边的内边距,各边均可以使用不同的单位或百分比值:
h1 {padding:10px 0.25em 2ex 20%}
单边内边距属性
也通过使用下面四个单独的属性,分别设置上、右、下、左内边距:
padding-top
padding-right
padding-bottom
padding-left
2.5.3 边框:border
border-top-style
border-right-style
border-bottom-style
border-left-style
2.5.4 外边距:margin
margin-top
margin-right
margin-bottom
margin-left