day 31 表单标签,CSS

时间:2021-12-26 16:51:37

一、 HTML表单标签

HTML表单用于搜集不同类型的用户输入,然后把数据提交给服务器处理。

  • 常用的表单标签:

标签

作用

form

所有表单标签的根标签

input

输入标签,包括单行输入框、密码框、单选框、复选框、提交按钮等等

textarea

文本域

select、option

下拉列表框

1.1     form标签属性

属性

作用

action

指定表单的提交地址

method

指定表单的提交方式,例如:Get和Post

enctype

指定表单数据在发送到服务器之前应该如何编码

  • Get和Post提交方式的区别:

使用Get方式提交数据,那么这些数据就会显示在地址栏上;使用Post方式提交数据,那么表单的数据就不会显示地址栏上面;

1.2     表单标签的基本属性

属性

作用

id

指定元素的唯一标识

name

指定元素的名字

style

指定元素的内联样式

class

指定元素的类名

title

指定提示文本

placeholder

指定输入框的提示信息

注意:如果要把表单数据提交给服务器处理,那么表单项就必须要指定name属性。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<!--
表单标签的根标签
action:指定提交的URL地址
注意:表单只会提交有name属性的表单项数据。
所有表单标签都有name属性 . 如果没有指定method属性,默认就是get请求。
get请求的请求参数是显示在地址栏上面。
一般表单提交方式使用post方式。 get和post的区别?
1)get请求的参数会显示在浏览器地址栏上,而post请求不会把请求参数显示在地址栏;
2)Post请求的安全性比get高;
3)get请求参数的长度有限制,而Post请求的参数大小没有限制;
4)get请求有缓存,而post请求没有缓存; -->
<form action="http://www.baidu.com" method="post">
用户名:<input type="text" id="username" name="username"
title="请输入用户名" placeholder="请输入用户名" value=""/><br/>
密码:<input type="password" name="userpass"/><br/>
<!-- 同一组单选框的name属性必须相同 -->
性别:男<input type="radio" name="gender" value="male" checked/>
女<input type="radio" name="gender" value="female"/><br/>
<!-- 同一组的复选框的name属性必须相同 -->
兴趣爱好:吃<input type="checkbox" name="hobby" value="eat"/>
喝<input type="checkbox" name="hobby" value="drink"/>
玩<input type="checkbox" name="hobby" value="play"/><br/>
居住地:
<select>
<option>请选择省份</option>
<option>广东省</option>
<option>湖南省</option>
</select>
<select name="city">
<option>请选择城市</option>
<option>深圳</option>
<option>广州</option>
<option>惠州</option>
</select><br/>
大头照:<input type="file"/><br/>
自我介绍:<textarea name="introduce" cols="30" rows="5"></textarea><br/>
<!--
submit: 提交按钮
button: 普通按钮
-->
<input type="submit" value="注册"/>
</form><br/>
<img src="data:images/tv01.jpg" title="这是电视机"/>
</body>
</html>

示例

1.3 事件属性(了解)

HTML4的新特性之一是可以使 HTML 事件触发浏览器中的行为,比方说当用户点击某个 HTML 元素时启动一段 JavaScript。在现代浏览器中内置大量的事件处理器。这些事件处理器会监听特定条件的用户行为,例如:单击鼠标,移动鼠标等等。

1.3.1 窗口事件

窗口事件仅在body和frameset标签中才有效。

day 31 表单标签,CSS

1.3.2 表单元素事件

表单元素事件仅在表单元素中才有效。

day 31 表单标签,CSS

1.3.3 键盘事件

day 31 表单标签,CSS

1.3.4 鼠标事件

day 31 表单标签,CSS

注意:键盘事件和鼠标事件在下列元素中无效:base、bdo、br、frame、frameset、head、html、iframe、meta、param、script、style 以及 title 元素。

CSS样式:

使用层叠样式表的好处:

1)  使得网页内容与网页表现分离;

2)  可以同时多一个或多个元素进行样式化,极大提高了工作效率;

2.2 如何编写CSS

方式一:在style标签中编写CSS

day 31 表单标签,CSS

注意:一个HTML文件可以有零个或多个style标签。

方式二:引入外部CSS文件

第一步:新建一个CSS文件;

day 31 表单标签,CSS

第二步:在CSS文件中编写CSS代码;

day 31 表单标签,CSS

第三步:在HTML中引入CSS文件;

day 31 表单标签,CSS

方式三:在元素的style属性中编写CSS

所有元素都可以指定style属性。

day 31 表单标签,CSS

一般而言,所有样式会根据以下规则层叠在一个虚拟的样式表中,其中数字4拥有最高优先级。

优先级

规则

1

浏览器缺省设置

2

外部样式表

3

内部样式表(位于<head>标签内部)

4

内联样式表(位于HTML元素内部)

2.3 CSS注释

HTML的注释:<!--  注释内容 --->

CSS的注释:/*注释的内容*/

2.4 CSS选择器

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
/* 交集选择器:只会对选择1中的选择2进行样式化
tbody input {
font-size: 28px;
}*/ /* 并集选择器:同时对多个选择器进行样式化
tbody, input {
font-size: 28px;
}*/ /* 通用选择器 */
* {
font-size: 20px;
} /* 伪类选择器:对元素的不同状态进行样式化 */
a:link {
font-size: 14px;
color: red;
} a:hover {
font-size: 22px;
} a:active {
font-size: 22px;
color: blue;
} a:visited {
color: grey;
}
</style>
</head>
<body>
<table>
<tbody>
<tr>
<td>用户名:</td>
<td><input type="text" value="小宝"/></td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="2">
<input type="button" value="提交"/>
</td>
</tr>
</tfoot>
</table> <a href="http://www.baidu.com">百度</a>
</body>
</html>

选择器示例

CSS语法由三部分组成:选择器、属性和值

div {
color: green;
} div:为选择器
color:属性
green:值

2.3.1 标签选择器

标签选择器就是根据元素的名字查找元素并进行样式化,其定义格式:

tag_name {

样式列表…

}

2.3.2 类选择器

类选择器就是根据元素的class属性查找元素并进行样式化,其定义格式:

.class_name {

样式列表…

}

2.3.3 ID选择器

ID选择器就是根据ID属性查找元素并进行样式化,其定义格式:

#ID {

样式列表…

}

选择器的优先级:

  ID选择器的优先级比Class选择器的优先级高,而Class选择器比标签选择器的优先级高。

2.3.4 交集选择器

交集选择器就是对选择器1中的选择器2进行样式化,其定义格式:

选择器1 选择器2 … {

样式列表…

}

2.3.5 并集选择器

并集选择器就是同时对多个选择器进行样式化,其定义格式:

选择器1, 选择器2, … {

样式列表…

}

2.3.6 通用选择器

通用选择器就是对所有元素进行样式化,其定义格式:

* {

样式列表…

}

通用选择器一般用于指定页面的默认样式。注意:通用选择器的优先级最低。

2.3.7 伪类选择器

伪类选择器是对元素处于某一个特定状态进行样式化。

  • 元素的状态:

:link

未访问状态,只对a标签有效

:visited

已访问状态,只对a标签有效

:hover

鼠标划过时候的状态

:active

鼠标选定时候的状态

2.4 CSS属性

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
body {
height: 2000px;
background-color: yellow; /* 设置背景颜色 */
background-image: url("images/time1.jpg");/* 设置背景图片 */
background-repeat: no-repeat; /* 设置背景图片不重复 */
background-position: 50% 50%; /* 设置背景图片的位置 */
background-attachment: fixed; /* 设置背景图不滚动 */
}
</style>
</head>
<body> </body>
</html>

背景样式

字体样式:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
* {
font-size: 18px;
} span {
color: red;
font-weight: bolder; /* 字体加粗 */
} p {
text-indent: 2em; /* 字体缩进(1个em代表1个字体大小) */
text-align: left; /* 文本对齐方式 */
letter-spacing: 5px; /* 设置文本距离 */
text-transform: capitalize; /* 转换大小写 */
} a {
text-decoration: none; /* 去掉下划线 */
}
</style>
</head>
<body>
<p>
<!-- 行内标签 -->
设置字体的重量,例如:字体加粗<span>bold border</span>
</p>
<a href="">老男孩</a>
</body>
</html>

字体样式

表格样式

 <style>
table {
/*border-collapse: collapse; 合并单元格边框 */
border-spacing: 10px; /* 设置单元格边框的距离 */
}
</style>

表格样式

边框样式

<style>
/*span {
border-width: 3px; !* 边框的宽度 *!
border-color: red; !* 边框颜色 *!
border-style: double; !* 边框风格 *!
}*/ span {
/*border: 1px solid red;*/
border-left: 1px solid red;
border-top: 1px dotted blue;
border-right: 1px dashed green;
border-bottom: 3px double yellow;
}
</style>

边框样式

盒子样式

 <style>
div {
width: 180px;
height: 180px;
border: 1px solid red;
/*padding-left: 10px; 设置左内边距 */
/*padding-top: 10px; 设置上内边距 */
/*padding: 20px 0px 0px 20px; 设置四条边内边距(上右下左) */
padding: 10px 10px; /* 设置上下和左右内边距 */
}
</style>

盒子样式

定位

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
*{
margin: 0px;
} div {
width: 150px;
height: 150px;
border: 1px solid gray;
} .red {
background-color: red;
} .green {
background-color: green;
/* position: relative; 相对定位 */
position: absolute; /*绝对定位 */
left: 20px;
top: 20px;
} .blue {
background-color: blue;
}
</style>
</head>
<body>
<div class="red"></div>
<div class="green"></div>
<div class="blue"></div>
</body>
</html>

定位

固定定位

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
body {
height: 2000px;
} img {
position: fixed; /* 固定定位 */
top: 250px;
left: 980px;
}
</style>
</head>
<body>
<img src="data:images/dialog.png"/>
</body>
</html>

固定定位

浮动定位

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
*{
margin: 0px;
} div {
width: 150px;
height: 150px;
border: 1px solid gray;
} .red {
background-color: red;
float: left; /* 左浮动 */
height: 200px;
} .green {
background-color: green;
float: left; /* 左浮动 */
} .blue {
background-color: blue;
float: left; /* 左浮动 */
}
</style>
</head>
<body>
<div class="red"></div>
<div class="green"></div>
<div class="blue"></div>
<div>我是老男孩</div>
</body>
</html>

浮动定位