概念:
Cascading Style Sheets 层叠样式表
* 层叠:多个样式可以作用在同一个html的元素上,同时生效。
特点
1. 功能强大
2. 将内容展示和样式控制分离
* 降低耦合度。解耦
* 让分工协作更容易
* 提高开发效率
CSS的使用:
1.内联样式
* 在标签内使用style属性指定css代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<!-- * 在标签内使用style属性指定css代码 -->
<div style="color:red">hello css</div>
</body>
</html>
2.内部样式
* 在head标签内,定义style标签,style标签的标签体内容就是css代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<!-- /*定义style标签*/ -->
<style>
div{
color:blue;
}
</style>
</head>
<body>
<!--内部样式
* 在head标签内,定义style标签,style标签的标签体内容就是css代码
-->
<div>hello css</div>
</body>
</html>
3.外部样式
1. 定义css资源文件。
2. 在head标签内,定义link标签,引入外部的资源文件
/* css01.css文件 */
div{
color:red;
}
p{
color:yellow;
}
<!-- 外部样式.html -->
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<!-- css文件引入方法一 -->
<link rel="stylesheet" type="text/css" href="../css/css01.css">
<!-- css文件引入方法二 -->
<style>
@import url("../css/css01.css");
</style>
</head>
<body>
<!--1. 定义css资源文件。
2. 在head标签内,定义link标签,引入外部的资源文件
-->
<div>外部样式</div>
<p>引用css文件</p>
</body>
</html>
CSS语法:
* 格式:
选择器 {
属性名1:属性值1;
属性名2:属性值2;
...
}
* 选择器:筛选具有相似特征的元素
* 注意:
* 每一对属性需要使用;隔开,最后一对属性可以不加;
CSS选择器:
* 分类:
基础选择器
1. id选择器:选择具体的id属性值的元素.建议在一个html页面中id值唯一
* 语法:#id属性值{}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
#div11{
color: #0000FF;
}
</style>
</head>
<body>
<!-- id选择器:选择具体的id属性值的元素.建议在一个html页面中id值唯一
* 语法:#id属性值{}
-->
<div id="div11">id选择器</div>
</body>
</html>
2. 元素选择器:选择具有相同标签名称的元素
* 语法: 标签名称{}
* 注意:id选择器优先级高于元素选择器
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
div{
color: #0000FF;
}
</style>
</head>
<body>
<!-- . 元素选择器:选择具有相同标签名称的元素
* 语法: 标签名称{}
* 注意:id选择器优先级高于元素选择器
-->
<div>元素选择器</div>
</body>
</html>
3. 类选择器:选择具有相同的class属性值的元素。
* 语法:.class属性值{}
* 注意:类选择器选择器优先级高于元素选择器
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
.cls1{
color: #0000FF;
}
</style>
</head>
<body>
<!-- .类选择器:选择具有相同的class属性值的元素。
* 语法:.class属性值{}
* 注意:类选择器选择器优先级高于元素选择器
-->
<div class="cls1">类选择器</div>
</body>
</html>
扩展选择器:
1. 选择所有元素:
* 语法: *{}
/* css02.css */
* {
color: #FF0000;
}
<!-- 所有元素选择器.html -->
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<link rel="stylesheet" type="text/css" href="../css/css02.css" />
</head>
<body>
<!--选择所有元素:
* 语法: *{}
-->
<h1>选择所有元素</h1>
<p>hello css</p>
</body>
</html>
2. 并集选择器:
* 选择器1,选择器2{}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
div , p{
color: #0000FF;
}
</style>
</head>
<body>
<!-- . 并集选择器:
* 选择器1,选择器2{}
-->
<div>并集选择器1</div>
<p>并集选择器2</p>
</body>
</html>
3. 子选择器:筛选选择器1元素下的选择器2元素
* 语法: 选择器1 选择器2{}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
div p{
color: aqua;
}
</style>
</head>
<body>
<!-- 子选择器:筛选选择器1元素下的选择器2元素
* 语法: 选择器1 选择器2{}
-->
<div>
父元素
<p>
子元素
</p>
</div>
</body>
</html>
4. 父选择器:筛选选择器2的父元素选择器1
* 语法: 选择器1 > 选择器2{}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
div > p{
color: aqua;
}
</style>
</head>
<body>
<!-- 父选择器:筛选选择器2的父元素选择器1
* 语法: 选择器1 > 选择器2{}
-->
<div>
父元素
<p>
子元素
</p>
</div>
</body>
</html>
5. 属性选择器:选择元素名称,属性名=属性值的元素
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
input[]submit="登陆"]{
color: #0000FF;
}
</style>
</head>
<body>
<!-- 属性选择器:
语法:选择元素名称,属性名=属性值的元素 -->
<input type="submit" value="登陆">
</body>
</html>
6.相邻选择器
*语法:选择器1+选择器2{}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
div+p{
color: #00FFFF;
}
</style>
</head>
<body>
<!-- 相邻选择器
*语法:选择器1+选择器2{}
-->
<div>AAAAAA</div>
<p>BBBBBB</p>
</body>
</html>
7.兄弟选择器
* 语法: 选择器1~选择器2
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
h1~h1{
color: #FF0000;
}
</style>
</head>
<body>
<!-- 兄弟选择器
* 语法: 选择器1~选择器2 -->
<h1>大哥</h1>
<h1>二哥</h1>
<h1>小弟</h1>
</body>
</html>
伪选择器
伪类选择器:选择一些元素据有状态
属性值有4个:
*:visited 被访问的链接
*:hover鼠标悬浮的链接
*:active 正造被访问的链接
*:link 未访问的链接
语法:元素:状态{}
如:超链接<a>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
/* 选择所有未访问链接 */
a:link{
color: #0000FF;
}
/* 选择正在访问的链接 */
a:active{
color: #FF0000;
}
/* 选择被访问过的链接 */
a:visited{
color: #FF9224;
}
/* 把鼠标放在链接上的状态 */
a:hover{
color: #008000;
}
</style>
</head>
<body>
<!-- 语法:元素名:状态 -->
<a href="#">登录</a>
<br/>
<input type="button" name="denglu" value="登录">
</body>
</html>
CSS属性
1. 字体、文本
* font:对其方式
* line-heigh-size:字体大小
* color:文本颜色
* text-alignt:行高
2. 背景
* background:
3. 边框
* border:设置边框,符合属性
4. 尺寸
* width:宽度
* height:高度
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
p{
font-size: 20px;
color: #FF0000;
text-align: center;
line-height: 50px;
border:1px red solid;
}
div{
background:url(../../img/tu.PNG) no-repeat center;
background: ur;
border: #0000FF;
width: 100px;
height: 100px;
text-align: center;
color: #FF0000;
}
</style>
</head>
<body>
<p>折耳猫</p>
<div>百转千回</div>
</body>
</html>
CSS边距
Margin(外边距)属性定义元素周围的空间,接受任何长度单位、百分数值甚至负值。
Padding(内边距)属性定义元素周围的空间,接受任何长度单位、百分数值甚至负值。
都有上下左右四个属性:
margin(padding)-left | 外(内)左边距 |
margin(padding)-right | 外(内)右边距 |
margin(padding)-top | 外(内)上边距 |
margin(padding)-bottom | 外(内)下边距 |
可能的值:
auto | 设置浏览器边距。 这样做的结果会依赖于浏览器 |
length | 定义一个固定的margin(使用像素,pt,em等) |
% | 定义一个固定的margin(使用像素,pt,em等) |
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
.div1{
border: 1px solid red;
background: #FF0000;
width: 500px;
height: 500px;
/* 内边距 */
padding: 30px;
}
.div2{
border: 1px solid red;
width: 300px;
height: 300px;
background: blue;
/* 外边距 */
margin: 100px;
}
</style>
</head>
<body>
<div class="div1">
<div class="div2"></div>
</div>
</body>
</html>