1、CSS样式
CSS:层叠样式嵌套,作用:用来美化界面
语法:属性名:属性值,......
2、CSS的引入方式
1、行内样式 2、内部样式 3、外部样式
(1)行内样式
内联样式:在标签中直接通过style属性设置样式的方式。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<!--
1、在标签上使用style属性对元素进行添加样式
2、在style标签中添加样式
语法:属性名:属性值;....
在任何一个html标签都可以使用style属性
-->
<span style="color:pink;font-size:30px">添加一段文字</span>
</body>
</html>
(2)内部样式
内部样式:可以在head标签中添加一个style标签进行定义样式
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
p{font-size:30px;
background-color:pink;
}
</style>
</head>
<body>
<!--
内部样式语法:
1、在head中添加style
2、在style标签中编写样式
选择器{
属性名:属性值;
属性名:属性值;
....
}
-->
<p>添加想要写的文字</p>
<p>添加你想要对我说的话</P>
</body>
</html>
(3)外部样式
就是将公用样式抽取到外部样式文件中(xx.css),在html页面通过link引用外部文件。
语法:在head标签引用。
<!--首先就是在目录下建立文件夹 文件下要建立要以.css结尾
在.css中我们点需要写规则 然后将规则在head下面就行。
link 在你所需要的文件中-->
<!--优先级问题 与引入顺序有关 后引入的会覆盖先引入的 就近原则 行内大于 内部样式和外部样式 就近原则-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<!-- 引入外部的css文件 href:css 文件的资源路径 rel:指定文件类型-->
<link rel="stylesheet" href="css/01.css"> 这里就link了
</head>
<body>
<!--
外部样式:
(1)创建一个.css文件
(2)在css文件中编写属性
选择器{
属性名:属性值;
属性名:属性值;
....
}
(3)引入外部css样式(在head标签中添加link标签引入css)
-->
<P>翱翔</P>
<P>飞翔</P>
</body>
</html>
(4)样式优先级问题
仔细看我们会发现 ,若将三个样式作为比喻 行内样式是一把刀,内部样式是一把剪子,外部样式,是一个指甲刀,同时拿三把武器去劫持,那请问谁对你的伤害最大呢。
很明显是一把刀。也就是说 人要听对他伤害最大的武器从大到小是,行内样式大于内部样式和外部样式(内部样式和外部样式 可不一定哟)要遵循的原则就是就近原则。
(5)CSS选择器
CSS选择器从大方面分为:(1)简单选择器(2)层次选择器(3)伪类选择
(1)简单选择器:1、id选择器 2、class选择器 3、标签选择器 4、*选择器
简单选择器
1 id选择器
在标签中添加id属性。
在style标签中编写样式。
语法:#id名称{属性名:属性值;......}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title></title>
<style>
/* id选择器建议不多次使用 在标签中使用ID属性引用ID名称*/
#d1{
color:orange;
font-size: 40px;
}
</style>
</head>
<body>
<P id="d1">飞翔</P>
</body>
</html>
2 class选择器
在标签中添加class属性。
在style标签中编写样式。
语法:class名称{属性名:属性值;......}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
/* 类选择器 使用.开头 可以多次使用 在标签中使用class属性引用c1名称 */
.c1{
color:blue;
font-size:35px;
}
</style>
</head>
<body>
<div class="c1">翱翔</div>
</body>
</html>
3 标签选择器
在style标签中编写样式。
语法:标签名称{属性名:属性值;......}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
/* p 标签 如果没有其他的东西 在body中的标签全会被弄成一种样式*/
/* id选择器>类选择器>标签选择器 */
p{
color:red;
font-size:20px;
}
span{
backgound-color:#FF0000;
}
</style>
</head>
<body>
<P>测试</P>
<span>这是一个span标签</span>
</body>
</html>
*选择器
*选择器表示选择页面上所有元素(全局选择器)
语法:*{属性名:属性值;......}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
/* 全局选择器*/
*{
font-size: 30px;
color:orange;
}
</style>
</head>
<body>
<p>这是p标签</p>
<span>这是一个span标签</span>
<div>这是一个div标签</div>
</body>
</html>
优先级顺序:id>class>标签>*
层次选择器
(1)后代选择器
后代选择器指的是被选择的元素所有的后代 div span。 有点c++继承的味道了。
语法:选择器1 选择器2 选择器3 {属性名;属性值......}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=, initial-scale=1.0">
<title>Document</title>
<style>
/* 后代选择器:包含子子孙孙*/
.d1 .p1{
color:aqua;
font-size:30px;
}
</style>
</head>
<body>
<!--这里面不只是可应用标签,其他均可 例如我们应用 类 .c1 span{
color:aqua;
}-->
<!-- 这样就可以 选择d1中的子子孙孙 -->
<div class="d1">
<p class="p1">这是div中的p标签</p>
<div>
<p class="p1">这是div中的p标签2</p>
</div>
</div>
<div class="p1">
<p class="p1">这是div中的p标签</p>
<div>
<p class="p1">这是div中的p标签2</p>
</div>
</div>
</body>
</html>
(2)子代选择器
子代选择器指的是被选择元素的所有子代(不包含孙子)div>span
语法:选择器1>选择器2{属性名:属性值;......}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=, initial-scale=1.0">
<title>Document</title>
<style>
/* 子选择器:只包含子代 不包含间接元素*/
div>span{
color:bisque;
font-size:30px;
}
</style>
</head>
<body>
<!--子代选择器-->
<div class="d1">
<p class="p1">这是div中的p标签</p>
<div>
<p class="p1">这是div中的p标签2</p>
</div>
</div>
</body>
</html>
伪类选择器
语法:元素:伪类名称{属性名:属性值;......}
a:link 未被单击时 默认状态
a:hover 悬浮状态
a:active 激活状态
a:visited 单击过后
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
/*默认状态 目前 去下划线 换个颜色*/
a:link{ /*超链接初始状态*/
text-decoration:none;
color:aqua;
}
/* 鼠标悬浮*/
a:hover{ /*鼠标放上去的状态*/
text-decoration:underline;
color:yellow;
}
/*激活状态*/
a:active{ /*鼠标点击不松开的状态*/
color:green;
}
/*访问过后*/
a:visited{ /*超链接点击之后的状态*/
color:pink;
}
</style>
</head>
<body>
<a href="https://www.baidu.com/">百度</a>
</body>
</html>
CSS的属性
(1)文字属性: font
文字大小:font-size
文字字体:font-family
文本样式:font-style(italic/normal)
文字加粗:font-weight(bold/bolder 300px)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
span{
font-size:30px;
font-family: 宋体;
font-style:italic;
font-weight:bold;
}
</style>
</head>
<body>
<span>这是一句话......</span>
</body>
</html>
(2) 文本属性
文本颜色:color
文本对齐方式:text-align
(1)center:居中对齐
文本装饰:text-decoration
(1)line-through 删除线
(2)underline 下划线
(3)none 去除装饰
文本行高:line-height
将行高和容器是高度设置一样可以实现垂直居中
字符间距:letter-spacing
文本阴影:text-shadow 语法: text-shadow 5px 10px 8px red
参数1:横向偏移量
参数2:纵向偏移量
参数3:阴影模糊程度
参考4:阴影颜色