本身可以嵌入到HTML文件中编写,需要一个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>
</head>
<body>
<style>
div{
color: rebeccapurple;
font-size: 100px;
//CSS的属性名命名方式都是这种带-的(脊柱命名)
//-这个符号在css中不能起到算术运算的作用
//上一行为CSS具体设置的属性,键值对,若干个属性都在一个{}中,
//属性之间用;来分割
//键和值之间使用:来分割
//color可以写成16进制形式,可以写成rgb/rgba形式,也可以直接写单词
}
</style>
<div>
你好 CSS
</div>
</body>
</html>
//div本身是选择器,声明了针对页面上的哪一个元素或者那些元素生效
注意:css中只支持/* */这种方式的注释,不支持//这种形式的注释
上述使用css的方式叫做内部样式,还有一种内联样式,就是每个标签都可以有style属性,里面就可以写css,不需要写选择器,但是只针对当前元素生效,如下:
<!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>
</head>
<body>
<style>
/* div{
color: rebeccapurple;
font-size: 100px;
} */
</style>
<div style="color:green">
你好 CSS
</div>
</body>
</html>
当给一个元素分多种方式设置样式的时候,如果是不同的属性,彼此会叠加
相同属性下,style属性设置优先级要大于style标签的
还有一种外部样式,把css写到一个单独的.css文件中,通过link标签导入到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>
<link rel="stylesheet" href="style.css">
//需要在head标签前写上link标签来使用外部样式,加上这个才能让css生效
</head>
<body>
<style>
/* div{
color: rebeccapurple;
font-size: 100px;
} */
</style>
<div>
你好 CSS
</div>
</body>
</html>
div{
color: blue;
font-size: 200px;
}
外部样式和内联样式冲突,还是内联样式优先级高,外部样式和内部样式冲突,要看谁离元素更近。
CSS选择器
描述了你要选中页面中的哪个或是那些元素。{}的样式就是针对这些元素生效的
标签选择器
div{
color:blue;
font-size:200px;
}
//写个标签名字,针对所有标签名字叫这个的标签生效
<!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>
<link rel="stylesheet" href="style.css">
</head>
<body>
<style>
div{
color: red;
font-size: 200px;
}
p{
color: sandybrown;
font-size: 100px;
}
</style>
<div>咬人猫</div>
<div>咬人猫</div>
<p>玉子</p>
<p>玉子</p>
</body>
</html>
类选择器
类选择器允许让多个元素引用同一个类(为CSS选择器中最灵活的,最常用的方式)
<!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>
<link rel="stylesheet" href="style.css">
</head>
<body>
<style>
.one {
color: aqua;
font-size: 200px;
}
</style>
<div class="one">咬人猫</div>
<div>咬人猫</div>
<p>玉子</p>
<p>玉子</p>
</body>
</html>
id选择器
每个元素都有一个id属性,值应该要在页面中是唯一的
使用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>Document</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<style>
#the-id {
color: blue;
font-size: 100px;
}
</style>
<div>咬人猫</div>
<div>咬人猫</div>
<p id="the-id">玉子</p>
<p>玉子</p>
</body>
</html>
通配符选择器
可以选择页面中的所有元素,可以让页面所有元素都被选中,通常用于改掉 浏览器的默认样式(例如文本 默认颜色 字体大小 p 默认的段落间距)
*{
}
后代选择器
<ul>
<li>
<div></div>
</li>
</ul>
//此时ul是li的父标签,li是div的父标签
就是在指定的元素里面去筛选后代元素
<!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>
ul li{
color: red;
//先选择ul合集 然后选择li下的标签,也可以使用.one的形式
}
</style>
</head>
<body>
<ul>
<li>咬人猫</li>
<li>咬人猫</li>
<li>咬人猫</li>
</ul>
<ol>
<li>咬人猫</li>
<li>咬人猫</li>
<li>咬人猫</li>
</ol>
</body>
</html>
子选择器
和后代选择器不同的是,只是选择儿子而不选择孙子及其后面
<style>
ul>li{
color: red;
}
</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>
div, p{
color: red;
font-size: 200px
}
</style>
</head>
<body>
<div>咬人猫</div>
<div>咬人猫</div>
<div>咬人猫</div>
<p>兔子</p>
<p>兔子</p>
<p>兔子</p>
</body>
</html>
伪类选择器
选中元素的不同状态
hover 鼠标放上去
active 鼠标按下去
<!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>
div{
font-size: 100px
}
div:hover{
color: red;
}
</style>
</head>
<body>
<div>咬人猫</div>
</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>
div{
font-size: 100px
}
div:hover{
color: red;
}
div:active{
color: burlywood;
}
</style>
</head>
<body>
<div>咬人猫</div>
</body>
</html>
设置文本对齐:
div{
text-align: center;
}
//上述为居中对齐,还有左对齐和右对齐
文本装饰
用于加上上划线,下划线,中划线
<style>
div{
text-decoration: underline; //下划线
text-decoration: overline; //上划线
text-decoration: line-through; //中划线
}
<style>
文本缩进
扩大第一行字到页边距的距离
<style>
div{
text-indent: 10px;
//这里可以把10px换成2em 就是指往内缩进2个文字的距离
}
</style>
</head>
<body>
<div>
这是一段测试话
这是一段测试话
这是一段测试话
这是一段测试话
</div>
</body>
设置文字的行高
<style>
div{
line-height: 80px;
}
</style>
设置背景图片
<style>
div{
width: 100000px;
height: 100000px;
background-image: url(78551403_p0.jpg);
}
</style>
</head>
<body>
<div>
</div>
</body>
但是图片现在是平铺的,是铺满的
<style>
div{
width: 100000px;
height: 100000px;
background-image: url(78551403_p0.jpg);
background-repeat: no-repeat;
//使用no-repeat来取消平铺
}
</style>
//background-repeat:repeat-y 在y方向平铺
//background-repeat:repeat-x 在x方向平铺
单个图片在左上角,我们把它设置到中间位置
<style>
div{
width: 5000px;
height: 5000px;
background-image: url(78551403_p0.jpg);
background-repeat: no-repeat;
background-position: center center;
//这里面可以写center left right top bottom来描述位置
//也可以写具体的数值来表示坐标(第一个是纵坐标 第二个是横坐标)
//坐标系原点在左上角 往右为x轴 往下为y轴
}
</style>
我们再来设置背景图的大小
<style>
div{
width: 5000px;
height: 5000px;
background-image: url(78551403_p0.jpg);
background-repeat: no-repeat;
background-position: center center;
background-size: 100px 200px;
//size后面写contain和cover可以让图片变大,尽可能适应div的尺寸
}
</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>
div{
width: 100%;
height: 100%;
//width height后面写100%就是让图片和父级也就是body的大小一样宽,也就是浏览器窗口
background-image: url(78551403_p0.jpg);
background-repeat: no-repeat;
background-position: center center;
background-size: 100px 200px;
}
html,body{
height: 100%;
//需要再给html和body设置一个大小
}
</style>
</head>
<body>
<div>
</div>
</body>
</html>
圆角矩形
<style>
button{
width: 200px;
height: 200px;
border: none;
background-color:royalblue ;
color: white;
border-radius: 10px;
//这里px的值越大 角就越圆
}
</style>
</head>
<body>
<button>
这是按钮
</button>
</body>
元素的显示模式
块级元素:独占一行的 例如div h1 p table tr
行内元素:不独占一行的 例如 span a u b strong
可以用display属性针对行内/块级元素进行转化,大部分都是行内元素转换成块级元素,而不是块级元素转换成行内元素
<style>
a{
display: block;
}
</style>
</head>
<body>
<a href="#">你好</a>
</body>
display可以让元素隐藏