css知识点总结(级联样式表)
1、语法
一条CSS样式规则由两个主要的部分构成:选择器,以{}
包裹的一条或多条声明:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OBDgAP55-1615905582398)(http://10.1.74.238/web/brief-css/img/86e63894cd2a6e2f.jpg)]
2、选择器
a. id选择器
<!--选择器前要加#-->
#sky{
color: blue;
}
<p id="sky">蓝色的天空</p>
元素的id值必须唯一,所以,id 选择器适用范围只有一个元素。
b. class选择器
<p class="sky">我是红色的</p>
<p class="sky">我也可以是红的</p>
元素的class值可以多个,也可以重复。因此,实际应用中,class 选择器应用非常普遍。
3、css生效
1)外部样式表
新建如下内容的一个 HTML文件(后缀为.html),在同一目录新建一个样式表文件mycss.css(注意后缀名为css),在html中的head中加上对应的css
2)内部样式表
将样式放在styple内,并放在head中
<head>
...
<style>
body {
background-color: linen;
text-align: center;
}
h1 {
color: red;
}
.haha {
margin-top: 100px;
color: chocolate;
font-size: 50px;
}
</style>
</head>
3)内联样式表
所谓内联样式,就是直接把样式规则直接写到要应用的元素中,如:
<h3 style="color:green;">I am a heading</h3>
4)级联优先级
从高到低分别是:
- 内联样式
- 内部样式表或外部样式表
- 浏览器缺省样式
4、颜色,大小
.example-1 {
width: 100%;
height: 200px;
background-color: powderblue;
text-align: center;
}
在css样式中设置,尺寸单位有:像数 px,百分比 %等
5、盒子模型
盒子模型指的是一个 HTML 元素可以看作一个盒子。从内到外,这个盒子是由内容 content, 内边距 padding, 边框 border, 外边距 margin构成的
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YpSQ4e2O-1615905582400)(http://10.1.74.238/web/brief-css/img/bd78f5d3be0673d6.jpg)]
html:
<div class="box1">我是内容一,外面红色的是我的边框。注意边框的内外都有25px的距离。</div>
css:
.box1 {
height: 200px;
width: 200px;
background-color:#615200;
color: aliceblue;
border: 10px solid red;
padding: 25px;
margin: 25px;
}
6、边框与边距
无论边框、内边距还是外边距,它们都有上下左右四个方向。
1)边框
.example-1 {
border: 1px dotted black; /* 上下左右都相同 */
}
.example-2 {
border-bottom: 1px solid blue; /* 只设置底部边框 */
}
2)边距
padding: 20px; /* 上下左右都相同 */
padding-top: 20px;
padding-bottom: 100px;
padding-right: 50px;
padding-left: 80px;
padding: 25px 50px 75px 100px; /* 简写形式,按上,右,下,左顺序设置 */
padding: 25px 10px; /* 简写形式,上下为25px,左右为10px */
7、定位
设置了元素的position
属性后,我们才能使用top, bottom, left, right
属性,否则定位无效。
- static 静态,元素的默认定位方式
- relative 相对,元素相对于他的静态(正常)位置进行偏移
- fixed 固定,元素固定不动
- absolute 绝对,素相对于其最近设置了定位属性(非static)的父元素进行偏移。如果该元素的所有父元素都没有设置定位属性,那么就相对于
<body>
这个父元素。
8、溢出overflow
- visible 默认值,溢出部分不被裁剪,在区域外面显示
- hidden 裁剪溢出部分且不可见
- scroll 裁剪溢出部分,但提供上下和左右滚动条供显示
- auto 裁剪溢出部分,视情况提供滚动条
<!-- HTML -->
<div class="example-overflow-scroll-y">You can use the overflow property when you want to have better control of the
layout. The overflow property specifies what happens if content overflows an element's box.
</div>
<!-- CSS -->
.example-overflow-scroll-y {
width: 200px;
height: 100px;
background-color: #eee;
overflow-y: scroll;
}
9、浮动 float
在一个区域或容器内,我们可以设置float
属性让某元素水平方向上向左或右进行移动,其周围的元素也会重新排列。

如果希望浮动元素后面的元素在其下方显示,可使用clear: both
样式来进行清除
10、不透明度 opacity
值在[0.0~
1.0]之间,值越低,透明度越高
<img class="opacity-2" src="https://mdbootstrap.com/img/Photos/Horizontal/Nature/4-col/img%20(87).jpg">
.opacity-2 {
opacity: 0.2;
}
11、组合选择器
CSS有三种选择器:元素、id 和 class 。但我们也可以进行组合,以得到简洁精确的选择。
1)后代选择器
以空格作为分隔,如:.haha p
代表在div
元素内有.haha
这种类的所有元素
Paragraph 2 in the div .haha>.
Paragraph 3 in the div .haha.
Paragraph 4. Not in a div .haha.
Paragraph 5. Not in a div .haha.
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d78CJFs1-1615905582402)(C:\Users\86152\AppData\Roaming\Typora\typora-user-images\image-20210315223320278.png)]
2)子选择器
也称为直接后代选择器,以>
作为分隔,如:.haha > p
代表在有.haha
类的元素内的直接<p>
元素。
12、伪类和伪元素
伪类(pseudo-class)或伪元素(pseudo-element)用于定义元素的某种特定的状态或位置等。