一、form表单
能够获取用户输入(输入,选择,上传的文件)并且将用户输入的内容全部发送给后端。
参数:action 控制数据提交的地址
三种书写方式
1.不写 默认就是朝当前这个页面所在地址提交数据
2.写全路径(https://www.baidu.com)
3.只写路径后缀(/index/)
method 控制数据提交的方式
get form表单默认是get请求
post
通常情况下input需要结合label一起使用
<label for="d1">用户名:<input type="text" id="d1"></label>
绑定id值后 点击label标签内任何的位置都可以自动选中input框
<label for="d2">用户名:</label>
<input type="text" id="d2">
form表单中的input就类似于是前端的变形金刚
根据type参数的不同 展示不同的功能
text 普通文本
password 输入的内容 会变成密文
date 日期
radis 单选圆圈
checkbox 多选 打钩
hidden 隐藏
file 传文件
button 普通按钮 没有任何意义 可以给它绑定js事件
reset 重置按钮
submit 提交按钮 能够自动触发form表单提交数据的动作
select标签 下拉框
一个个的option标签就是一个个的选项
默认是单选
你可以给select标签加一个multiple参数 就可以变成多选
textarea 标签 获取大段文本
input 标签可以加disable属性 禁用该input框
input 标签可以加value属性 设置默认值
选择的标签 如何默认选中
radio
checkbox
checked='checked'
当属性名和属性值相同的时候 可以只写属性名
能够触发form表单提交数据的动作有两个标签可以
input标签type=submit
button标签
所有获取用户输入的标签 都应该有name属性
name属性就类似于字典的key
input框获取到的用户输入都会放到input框的value属性中
针对选择框 传到后端的数据 由value属性决定
form表单如果要提交文件数据 必须修改以下参数
enctype="multipart/form-data"
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>form表单</title>
</head>
<body>
<h1>注册页面</h1>
<form action="http://127.0.0.1:8080/index/" method="post" enctype="multipart/form-data">
<p>
<label for="d1">用户名:<input type="text" id="d1"></label>
</p>
<p>
密码:<input type="password">
</p>
<p>
生日:<input type="date">
</p>
<p>
性别:
男<input type="radio" name="gender" value="male">
女<input type="radio" name="gender" value="female">
</p>
<p>
爱好:
篮球<input type="checkbox" name="hobby" value="basketball">
足球<input type="checkbox" name="hobby" value="football">
双色球<input type="checkbox" checked name="hobby" value="doublecolorball">
</p>
<p>
省份:
<select name="province" id>
<option value="sh">上海</option>
<option value="bj">北京</option>
<option value="sz">深圳</option>
</select>
</p>
<p>
前女友:
<select name id multiple>
<option value>波多野结衣</option>
<option value>苍井空</option>
<option value>jenny</option>
</select>
</p>
<p>
自我介绍:
<textarea name="info" id cols="100" rows="8"></textarea>
</p>
<p>
个人简历:
<input type="file" name="myfile">
</p>
<p>
猜猜我在哪:
<input type="hidden">
</p>
<p>
<input type="button" value="按钮">
<input type="reset" value="重置">
<input type="submit" value="提交">
<button>我是一个button标签</button>
</p>
</form>
</body>
</html>
二、CSS
层叠样式表:用来控制html标签样式的
注释:
/*单行注释*/
/*
多行注释1
多行注释2
*/
通常我们在写CSS的时候 都会单独写一个CSS文件 里面只有CSS代码
CSS的语法结构:选择器(属性1:属性值1)
CSS的三种引入方式
1.通过link标签引入外部的CSS文件(最正规用法)
<link rel="stylesheet" href="CSS样式.css">
2.直接在html页面上的head内通过style标签直接书写CSS代码
<style>
h1{
color: greenyellow;
}
</style>
3.行内式(直接在标签内部通过style属性直接书写) 不推荐使用
<h1 style="color:orchid">我是Oscar</h1>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<link rel="stylesheet" href="CSS样式.css">
<style>
h1{
color: greenyellow;
}
</style>
</head>
<body>
<h1 style="color:orchid">我是Oscar</h1>
</body>
</html>
三、选择器
1.基本选择器
元素选择器
id选择器
类选择器
通用选择器
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
/*!*让页面上所有的span变成红色 标签选择器 直接写标签名字即可 *!*/
/*span{*/
/*color: red;*/
/*}*/
/* id选择器 #+id值*/
/*#d1{*/
/*color: yellow;*/
/*}*/
/*!*类选择器 .+类值*!*/
/*.c1{*/
/*color: orchid;*/
/*}*/
/*通用选择器 */
*{
color: aqua;
}
</style>
</head>
<body>
<p class="c1">p</p>
<span id="d3" class="c2 c1">span</span>
<div id="d2" class="c1">div
<span>span</span>
</div>
<p id="d1" class="c1">p
<span>span</span>
</p>sjjdd
<a href> sjhshdhg</a>
</body>
</html>
2.组合选择器
div span
div>span
div+span
div~span
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
/*!*后代选择器 只要在标签内部都算作该标签的后代*!*/
/*div span{*/
/*color: blue;*/
/*}*/
/*!*儿子选择器*!*/
/*div>span{*/
/*color: green;*/
/*}*/
/*!*弟弟选择器 同级别下面所有的*!*/
/*div~span{*/
/*color:orange;*/
/*}*/
/*毗邻选择器 紧挨着的同级别下面的那一个*/
div+span{
color: green;
}
</style>
</head>
<body>
<span>span</span>
<span>span</span>
<div>div
<span>div里面的span</span>
<p>
div里面的p
<span>div里面的p里面的span</span>
</p>
<span>div里面最下面的span</span>
</div>
<p>ppp</p>
<span>span</span>
<p>ppp</p>
<span>span</span>
</body>
</html>
3.属性选择器
任何的标签都有自己的默认的属性 id class
标签还支持自定义任何多的属性 (也就意味着可以让标签帮你携带一些额外的数据)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
/*1.含有某个属性名的标签
2.含有某个属性名并且属性值是...的标签
3.找p标签并且含有某个属性名 属性值是...的标签*/
/*[password]{*/
/*color:red;*/
/*}*/
/*[username='ksj']{*/
/*color: orange;*/
/*}*/
span[username='dsd']{
color: orchid;
}
</style>
</head>
<body>
<p username="ksj">ppp</p>
<p username="eeww">ppp</p>
<p username="seed">ppp</p>
<span username="dsd">span</span>
<span password="123">span</span>
<div password>div</div>
</body>
</html>
4.分组与嵌套
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
/*#d1{*/
/*color: red;*/
/*}*/
/*.c1{*/
/*color: blue;*/
/*}*/
/*p{*/
/*color: aqua;*/
/*}*/
/*div,span,p{*/
/*color: aquamarine;*/
/*}*/
#d1,.c1,p{
color: orangered;
}
</style>
</head>
<body>
<div id="d1">div</div>
<span class="c1">span</span>
<p class="c2">p</p>
</body>
</html>
5.伪类选择器
a标签有四种状态
1.没有被点击过
2.鼠标悬浮上面
3点击之后不松手
4点击之后 再回去
我们将input框鼠标点进去之后的那个状态 input获取焦点 聚焦 focus 鼠标移出去之后的状态 叫做input框失去焦点
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
a:link{
color:red;
}
a:hover{
color: aquamarine;
}
a:active{
color: yellow;
}
a:visited{
color: deeppink;
}
input:focus{
background-color: yellow;
}
span:hover{
background-color: darkred;
}
</style>
</head>
<body>
<a href="http://fanyi.youdao.com/">点我吧</a>
<input type="text">
<span>span</span>
</body>
</html>
5.伪元素选择器(清除浮动带来的负面影响):可以通过CSS添加文本内容
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
/*p:first-letter{*/
/*font-size: 50px;*/
/*color: deeppink;*/
/*}*/
/*p:before{*/
/*content: '*';*/
/*font-size: 50px;*/
/*color: green;*/
/*}*/
p:after{
content: '?';
font-size: 50px;
color: orangered;
}
</style>
</head>
<body>
<p>
::before
去浪淘尽,荆轲刺秦王!大江东去浪淘尽,荆轲刺秦王!大江东去浪淘尽,荆轲刺秦王!大江东去浪淘尽,荆轲刺秦王!大江东去浪淘尽,荆轲刺秦王!大江东去浪淘
::after
</p>
</body>
</html>
6.选择器优先级:
选择器相同的情况下 引入方式不同
遵循就近原则 谁离标签更近 就听谁的
选择器不同的情况下
行内选择器>id选择器>类选择器>元素选择器
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!--<style>-->
<!--p{-->
<!--color: red;-->
<!--}-->
<!--</style>-->
<!--<link rel="stylesheet" href="CSS.css">-->
<style>
<!--/*#d1{*/-->
<!--/*color: blue;*/-->
<!--/*}*/-->
<!--/*.c1{*/-->
<!--/*color: orangered;*/-->
<!--/*}*/-->
<!--p{-->
<!--color: aqua;-->
<!--}-->
<!--</style>-->
</head>
<body>
<p style="color: pink">苍茫的天涯是我的爱,绵绵的青山脚下花正开</p>
<p id="d1" class="c1" style="color: aquamarine">苍茫的天涯是我的爱,绵绵的青山脚下花正开</p>
</body>
</html>
CSS.cssp{color: greenyellow}