一:表单标签
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<!--表单标签(form)
表单标签一般用来做用户信息收集,单独用没有意义,一般是结合相关标签来使用
(input,select,textarea)
表单标签可以对包含在这个标签中的其他标签做信息的提交和重置
action:提交位置(接口相关)
method:请求方式(get/post)
-->
<form action="" method="post">
</form>
<!--input
单标签
1.type属性:决定输入框的样式
text(默认):普通的文本输入框
2.name属性:
主要用来区分数据,提交的时候是以name = value的形式提交的
3.value属性
单标签中的value相当于双标签中的内容,value值只能是文本
设置value属性其实就是设置输入框默认显示的内容。修改内容就是修改value值
-->
<form action="" method="post">
<!--txet:文本输入框
placeholder:占位符(输入框中的提示信息)
maxlength : 输入框中最多输入的字符个数
-->
<input type="text" name="tel" value="12345" placeholder="请输入电话号码" maxlength="10"/>
<input type="text" name="email" id="" value="" />
<!--password:密码输入框
placeholder:占位符(输入框中的提示信息)
maxlength : 输入框中最多输入的字符个数
-->
<input type="password" name="密码" id="" value="123456" placeholder="请输入密码" />
<!--radio:单选按键
name - 同一组数据对应的name值设置成一样的才能做到单选
value - 这儿的value只是用于数据提交,不会显示出来
checked="checked" --让按钮处于默认选中状态
-->
<!--让文字和按钮关联,文字用label标签显示,for属性与 id 属性一样,点文字与点按钮效果一样-->
<input type="radio" name="sex" id="3" value="" /><label for="3">男生</label>
<input type="radio" name="sex" id="" value="女生" checked="checked" /><font>女</font>
<!--checkbox : 复选按钮
name - 同一组数据的name值要一样
value - 这儿的value只是用于数据提交,不会显示出来
-->
<input type="checkbox" name="s" id="" value="生物" /><font>生物</font>
<input type="checkbox" name="s" id="" value="物理" /><font>物理</font>
<!--button : 普通按钮
value - 值可以显示在按钮上,不会提交。
-->
<input type="button" name="" id="" value="按一下" />
<!--submit : 提交按钮
这个按钮的点击事件是将当前所在的form标签中,设置了name属性的相关标签数据以name =value的形式提交
-->
<input type="submit" name="" id="" value="提交" />
<!--reset : 重置按钮
将当前所在的form标签中,将所有标签设置成初始状态
-->
<input type="reset" name="" id="" value="重置" />
<input type="color" name="" id="" value="" />
</form>
<!--button标签(中间可以放图片)-->
<button>登陆</button>
</body>
</html>
二:下拉列表和多行文本域
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>下拉列表和多行文本域</title>
</head>
<body>
<!--下拉列表(菜单)
select标签 - 代表整个下拉列表
option标签 - 代表列表中的每个选项
可以通过设置selected="selected"来让这个选项默认选中
optgroup - 设置label的值来对当前下拉菜单内容进行分组
-->
<select name="省">
<optgroup label="大陆"></optgroup>
<option value="四川省">四川省</option>
<option selected="selected" value="哈哈省">哈哈省</option>
<option value="东北省">东北省</option>
<option value="华东">华东</option>
</select>
<select name="">
<optgroup label="市"></optgroup>
<option value="成都市">成都市</option>
<option value="峨眉市">峨眉山</option>
</select>
<!--多行文本域
textarea - 输入框,可以同时显示多行内容(可以上下滚动,自动换行)
name - 区分和提交
rows - 行数(不滚动最多能显示的行数,影响输入框的高度)
cols - 列数(一行显示的文字的数量,影响输入框的宽度)
placeholder - 占位符
maxlength - 限制文字输入的个数
-->
<textarea name="" rows="" cols="" placeholder="请输入你的问题">默认文字</textarea>
</body>
</html>
三:div和span
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<!--
1. div和span都是无语义标签:网页中分组分块,可以将div作为容器,
div占一行
2. html中标签分类:行内标签,块级标签
块级标签:一个占一行。例如div、h1、p、列表、table、tr、form
行内标签:一行显示多个.例如span、td、input、select、textarea
-->
<div id="">
div1
</div>
<div id="">
div2
</div>
<span id="">
span1
</span>
<span id="">
span2
</span>
</body>
</html>
四:css基础
<!--
1:什么是CSS(层叠样式表,简称样式表)
CSS是WEB标准中的表现标准,主要用来设置网页中内容布局和样式
2.怎么写CSS(语法)
选择器{属性名1:属性值1 ; 属性名2:属性值2 ……}
选择器 - 选中想要设置样式的标签
{} - 固定写法
属性 - 属性名和属性值用冒号连接,多个属性之间用分号分开,如果没有分号分导致后面的样式都无效
属性名必须是CSS提供的属性(大概200多个)
属性值 : 表示大小的数值必须加单位(px - 像素 em - 空格数 )(也可以使用百分比,相对于父标签)
a.常用属性
color - 字体颜色
backgroud-color - 背景颜色
font-size - 字体大小
width - 宽度
height - 高度
3.CSS写在哪儿
a. 内联样式表 :将样式表写在标签的style属性中;注意:这种样式表不需要写‘选择器{}’,直接给属性赋值
b. 内部样式表 :将样式表写在style标签中(这个标签可以放在head中,也可以放在body中)
c. 外部样式表 :将样式表写在一个CSS文件中,在head中通过link导入
内联样式表不管在什么情况下,优先绩都是最高的
内部样式和外部样式,谁后写谁的优先级高
4.CSS中的值
颜色:颜色英文单词,#16进制颜色值,rgb(红,绿,蓝 ),rgba(红,绿,蓝,透明度); 透明度范围0-1
-->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<!--3.外部样式表
link - 导入外部文件
rel - 导入的文件的作用,stylesheet样式表,icon设置网页图标
type - 对导入的文件类型说明,类型/文件后缀
text/css - 导入一个文本文件,文件后缀是css
href - 文件路径
-->
<!--导入一个外部样式表-->
<link rel="stylesheet" type="text/css" href="css/04CSS基础.css"/>
<link rel="icon" type="img/jpg" href="img/QQ图片20190122144809.jpg"/>
<!--内部样式表-->
<style type="text/css">
/*在这儿写CSS代码*/
div{
background: sandybrown;
}
/*一个style标签中,可以写多个样式表*/
p{
color: slateblue;
}
</style>
</head>
<body>
<!--1.内联样式表-->
<div style="color:red; font-size: 40px;">
我是div1
</div>
<p>我是段落</p>
<div id="">
我是div2
</div>
<h1>我是标题</h1>
</body>
</html>
五:选择器
<!--
选择器(选中标签)
1.元素选择器(标签选择器):
直接将标签名作为选择器,选中所有指定标签,
例如:div{} , p{} , a{}选中所有这个名字的标签
2.id选择器
将标签的id属性值前面加#做为选择器,选中id属性值是指定的值的标签
注意:一个页面中id值要唯一(不同标签的id值不一样)
例如:#p2{}
3.class选择器(类选择器)
将标签的class属性值前面加 . 做为选择器,选中所有class属性值是指定值的标签
4. *(通配符)
直接将星号作为选择器,选中当前页面中所有的标签
例如: *{}
5. 群组选择器
将多个选择器用逗号隔开作为一个选择器,选中每个单独的选择器选中的所有标签。
例如:a,p{} 选中所有a和p标签
#p1,div{} 选中id值是p1和所有的div标签
.c1,#p1,a{} 选中所有class值是c1,id值是p1和所有的a标签
6.层级选择器(后代选择器)
将多个选择器用空格隔开作为一个选择器,按层级选中最后一个选择器选中的标签
例如: div .c1{} - 选中所有在div标签中的class值是c1的标签
.c1 .c2 #d1{} - 选中class是c1中class是c2的id是d1的标签
7.选择器的权重
不同的选择器的权重值不一样;权重值越大优先绩越高,只有在权重相同的时候,谁后写谁优先绩高
不管什么情况,内联样式优先绩最高
元素选择器 : 0001(1)
class选择器:0010(2)
id选择器:0100(4)
通配符:0001(1)
群组选择器:分开看每一个选择器的权重
后代选择器:用空格分开的是所有选择器权重之和
-->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
/*通配符*/
*{
}
#p2{
background-color: #FF4500;
}
/*class选择器*/
.c1{
color: deeppink;
font-size: 30px;
}
</style>
</head>
<body>
<p id="p2">我是段落</p>
<!--class=后面可以加多个值,用空格隔开-->
<div class="c1">我是div</div>
<h1 class="c1">我是标题</h1>
</body>
</html>
六:伪类选择器
<!--伪类选择器
普通选择器是选中某一个标签,伪类选择器是选中标签的某种状态
1.语法:
普通选择器:状态{}
2.创建状态
link - 初始状态(对于a标签来说,初始状态指的是标签对应的地址没有成功访问过的时候)
visited - 访问后的状态(一般针对a标签)
hover - 鼠标悬停在标签上的时候对应的状态
active -鼠标按住不放的时候
注意:1.状态前不是只能写元素选择器,更不是只能写a标签
2.需要遵守‘爱恨’原则,'loVeHAte'
-->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
/*设置a标签所有状态的样式*/
/*a{
color: aqua;
}*/
a:link{
color: red;
}
a.visited{
color: greenyellow;
}
a:hover{
color: darkorange;
background-color: gray;
font-size: 30px;
}
a:active{
background-color: red;
}
</style>
</head>
<body>
<a href="https://www.jianshu.com/u/ba8efa9a6f67">你好,青春!</a>
</body>
</html>