一、CSS简介
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。 CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。
二、CSS语法
CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明:
选择器通常是您需要改变样式的 HTML 元素。
每条声明由一个属性和一个值组成。
属性(property)是您希望设置的样式属性(style attribute)。每个属性有一个值。属性和值被冒号分开。
实例:
CSS声明总是以分号(;)结束,声明总以大括号({})括起来:
p {color:red;text-align:center;}
为了让CSS可读性更强,你可以每行只描述一个属性:
p
{
color:red;
text-align:center;
}
三、注释
注释是用来解释你的代码并且可以随意编辑它,但是浏览器会忽略它。
CSS注释以 /*
开始, 以 */
结束,如下:
/* 这是一个注释 */
p {
/* 这是一个注释 */
color: red;
text-align: center;
}
四、CSS 引入方式
应用CSS样式有3种方式 :
内联样式、嵌入式样式表和外部样式表
(1)内联样式
直接在标签里面定义style的属性。
这样的标签很长,不利于维护
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<!--引入内联样式-->
<p style="color: red;text-align: center">外部样式</p>
</body>
</html>
(2)嵌入式样式表
将CSS代码集中写在HTML文档的<head>
头部标记中,并用<style>
标记定义
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<!--引入内部样式表-->
<style type="text/css">
选择器 { 属性1:属性值1;
属性2:属性值2;
属性3:属性值3;
}
</style>
</style>
</head>
<body>
<p>外部样式</p>
</body>
</html>
注:
<style>
标记一般位于<head>
标记中的<title>
标记之后,因为浏览器是从上到下解析代码的,把CSS代码放在头部便于提前被加载和解析,以避免网页内容加载后没有样式修饰带来的问题。
(3)外部样式表
将所有的样式放在一个或多个以.css为扩展名的外部样式表文件中,通过标记将外部样式表文件链接到HTML文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<!--引入外部样式表-->
<link href="main.css" type="text/css" rel="stylesheet" />
</head>
<body>
<p>外部样式</p>
</body>
</html>
href定义所链接外部样式表文件的地址,可以是相对路径,也可以是绝对路径。
type定义所链接文档的类型,这里需要指定为“text/css”,表示链接的外部文件为CSS。
rel定义当前文档与被链接文档之间的关系,这里需要指定为“stylesheet”,表示被链接的文档是一个样式表文件。
main.css文件
p {
color: red;
text-align: center;
}
五、CSS背景属性
值 | 描述 |
---|---|
background | 简写属性,作用是将背景属性设置在一个声明中。 |
background-color | 设置元素的背景颜色。 |
background-image | 把图像设置为背景。 |
background-position | 设置背景图像的起始位置。 |
background-repeat | 设置背景图像是否及如何重复。 |
background-attachment | 背景图像是否固定或者随着页面的其余部分滚动。 |
background-color
background-color
属性定义了元素的背景颜色,页面的背景颜色使用在body的选择器中。
常用颜色代码:
1、常用颜色单词,比如green(绿色),yellow(黄色),red(红色),transparent(透明色)等;
2、以#号开头的六个字符组成的颜色代码,比如:#FF0000(红色),#000000(黑色),#F9F900(黄色)等;
3、颜色rgb值,表达方式:rgb(参数1,参数2,参数3),如:“rgb(255,0,0)”,三个参数分别表示r,g,b
R:红色值。正整数 | 百分数
G:绿色值。正整数 | 百分数
B:蓝色值。正整数 | 百分数
如:
<!DOCTYPE html>
<html>
<head>
<style>
h1{
background-color:#6495ed;
}
p{
background-color:#e0ffff;
}
div{
background-color:#ffff00;
}
</style>
</head>
<body>
<h1>Test</h1>
<div>
div
<p>color</p>
div
</div>
</body>
</html>
效果:
background-image
background-image
属性描述了元素的背景图像。默认情况下,背景图像进行平铺重复显示,以覆盖整个元素实体。
属性的值
值 | 描述 |
---|---|
url(‘URL’) | 图像的URL |
none | 无图像背景会显示。这是默认 |
linear-gradient() | 创建一个线性渐变的 “图像”(从上到下) |
radial-gradient() | 用径向渐变创建 “图像”。 (center to edges) |
repeating-linear-gradient() | 创建重复的线性渐变 “图像” |
repeating-radial-gradient() | 创建重复的径向渐变 “图像” |
inherit | 指定背景图像应该从父元素继承 |
例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>test</title>
<style>
body
{
background-image:url('paper.gif');
background-color:#cccccc;
}
</style>
</head>
<body>
<h1>Hello World!</h1>
</body>
</html>
效果:
background-position
background-position
属性设置背景图像的起始位置。这个属性设置背景原图像的位置,背景图像如果要重复,将从这一点开始。
属性值
值 | 描述 |
---|---|
如果仅规定了一个关键词,那么第二个值将是"center"。默认值:0% 0%。 | |
x% y% | 第一个值是水平位置,第二个值是垂直位置。左上角是 0% 0%。右下角是 100% 100%。如果仅规定了一个值,另一个值将是 50%。 |
xpos ypos | 第一个值是水平位置,第二个值是垂直位置。左上角是 0 0。单位是像素 (0px 0px) 或任何其他的 CSS 单位。如果仅规定了一个值,另一个值将是50%。可以混合使用 % 和 position 值。 |
如:
body
{
background-image:url('/1.gif');
background-repeat:no-repeat;
background-attachment:fixed;
background-position:center;
}
效果:
六、CSS选择器
1.标签选择器
每一种标签的名称都可以作为相应标签选择器的名称
<style type="text/css">
p{
color: #f40;
font-size: 25px;
}
</style>
<body>
<div>
<p>这是标签选择器</p>
</div>
</body>
2.类选择器
通过类名进行选择
<style type="text/css">
.p1{
color: #00ff00;
}
.p2{
color: #0000ff;
}
</style>
<body>
<p class="p1">这是类选择器</p>
<p class="p2">hello world</p>
</body>
3.ID选择器
每个标签都可以使用ID属性来唯一标识当前标签,通过ID进行选择
<style type="text/css">
#text{
color: red;
}
</style>
<body>
<p id="text">这是id选择器</p>
</body>
4.通用选择器
选择所有标签以设置相同样式
<style type="text/css">
*{
color: red;
}
</style>
<body>
<p>这是通用选择器</p>
<p>hello</p>
<p>world</p>
</body>
5.派生选择器
态生选择器又称为包含选择器或后代选择器,该选择器作用于某个元素中的任意后代元素。
<style type="text/css">
div ul li{
color: red;
list-style: none;
}
</style>
<body>
<div>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</div>
</body>
6.分组选择器
可一次选择多个标签以设置相同样式,当多个选择器拥有相同的约束条件时,可以用逗号对他们进行分组。
<style type="text/css">
p,a,li{
color: blue;
}
</style>
<body>
<p>这是分组选择器</p>
<p>hello</p>
<a href="#">world</a>
<div>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</div>
</body>
7.属性选择器
通过属性(如name属性)进行选择以设置相同的样式
<style type="text/css">
[name="pra1"]{
color: blue;
}
[name="pra2"]{
color: red;
}
</style>
<body>
<p name="pra1">这是属性选择器</p>
<p name="pra2">hello world</p>
</body>
8.兄弟选择器
选择兄弟关系的标签设置样式
<style type="text/css">
p+a{
color: green;
}
</style>
<body>
<p>这是兄弟选择器</p>
<a>hello world</a>
</body>
9.后续兄弟选择器
后续兄弟选择器选取所有指定元素之后的相邻兄弟元素。定义的时候用 ~ 隔开。
<style type="text/css">
div ~ p {
background-color: red;
}
</style>
<body>
<div>
<p>DIV 内部段落。</p>
</div>
<p>DIV 之后的第一个 P 元素。</p>
<p>DIV 之后的第二个 P 元素。</p>
</body>
10.直接父子选择器
选择父子关系的标签中子标签设置样式
<style type="text/css">
div>p {
color: red;
}
</style>
<body>
<div>
<p>这是直接父子选择器</p>
</div>
</body>
基本选择器实例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
/*标签选择器 所有span标签的颜色都是红色*/
span {color: orange}
/*ID 选择器*/
#s1 {font-size :36px}
/*类选择器*/
.c1 {color: blue}
/* 通用选择器*/
* {color : deeppink}
</style>
</head>
<body>
<span id ="s1">span</span>
<div class="c1">div
<p>p
<span>span</span>
</p>
</div>
<div class ="c1">div</div>
</body>
</html>
组合选择器实例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
/*后代选择器*/
div span{color:blue}
/*儿子选择器*/
div>span {color:red}
/*兄弟选择器*/
div+span {color:blue}
/*后续兄弟选择器*/
div~span {color:deeppink}
</style>
</head>
<body>
<span>我是div上面的span</span>
<div>
<span>我是div里面的第一个span</span>
<p>我是div里面的第一个p
<span>我是div里面第一个p里面的第一个span</span>
</p>
<span>我是div里面的第二个span</span>
</div>