CSS
- CSS:层叠样式表。主要用于设置HTML页面中的文本内容(字体、大小、对齐方式等)、图片的外形(宽高、边框样式、边距等)以及版面的布局等外观显示样式。
- CSS语法:CSS实例由选择器,以及一条或多条声明(属性)两部分组成。每个声明(属性)可以有一个或多个值。属性和值被冒号分开。CSS声明以分号;结束,声明以大括号{}括起来。
p {
color: red;
}
/* 我是注释内容 */
- CSS引入:引入CSS样式表的方法有三种。外部样式表、内部样式表、内联样式。
Hello there
Hello A
CSS选择器
- CSS选择器(一):用于选取页面上的某个标签,在CSS中称为选择器。
- 通配符选择器:通配符选择器是以*选取所有标签。
- 标签选择器:直接使用标签名选取该标签名的所有标签。
- id选择器:id选择器可以选取到标有该id属性的HTML标签。id选择器以"#"来定义。一个元素只能有一个ID
- 类选择器:类选择器可以选取到标有该class属性的HTML标签。类选择器以"."来定义。class选择器有别于id选择器,class属性可以在多个标签中使用。也支持一个标签中有多个class属性值(用空格隔开)。
Hello A
Hello B
/* 通配符选择器 */
* {
color: gray;
}
/* id选择器 */
#china {
color: red;
}
/* 类选择器 */
.america {
color: green;
}
/* 标签选择器 */
li {
color: yellow;
}
后台选择器:两个元素用空格隔开,并且选中的是元素1所有层级的后代
子代选择器:只能选择子元素
并集选择器:并集选择器中间用逗号隔开,支持任意其他选择器,多个元素要求竖着写
伪类选择器:伪类选择器表示的是同一个标签,根据其不同的种状态,有不同的样式。例如标签有点击前和点击后两种状态。
- 1
-
我是儿子
- 3
我是孙子
熊大
熊二
光头强
百度一下
曹
- color:文本颜色。
- text-align:设置文本的水平对齐方式。左对齐(left)、右对齐(right)、居中(center)和两端对齐(justify)。
- line-height:设置文本垂直的对齐方式(行高)【实现原理:行高由文字高度 + 上下空隙组成,当父类有高度,则会自动填满上下空隙,保证文字居中。】
- word-spacing:设置文本字间距
- letter-spacing:设置单词和字符间距
- text-transform:设置文本转换。无、首写字母大写、大写和小写。
- text-decoration:设置文本装饰。下划线、删除线、上划线、闪烁等。
- text-indent:设置首行文本缩进距离。
#cqz {
/* 设置文本颜色(具体设置方式见下文CSS中颜色定义) */
color: #00f0ff;
/* 设置文本水平对齐方式:左对齐(left)、右对齐(right)、居中(center)和两端对齐(justify)。 */
text-align: center;
/* 设置文本垂直对齐方式(设置行高,当行高与父容器的高度相同时且文字仅有一行,则文本垂直居中) */
line-height: 100px;
/* 设置文本装饰:下划线(underline)、删除线(line-through)、上划线(overline)、闪烁(blink)等。注意:标签默认值为underline,想要去除标签的下划线,就将text-decoration设置为none */
text-decoration: line-through;
/* 设置文本缩进:一般设置为em,代表当前文字大小的距离,是一个相对单位 */
text-indent: 2em;
}
a {
/* 去除标签的默认下划线 */
text-decoration: none;
}
- CSS中颜色定义:W3C标准化组织定义的标准的16中颜色的名称分别是:aqua(水蓝)、black(黑)、blue(蓝)、fuchsia(紫红)、gray(灰)、green(绿)、lime(绿黄)、maroon(酱紫)、navy(深蓝)、olive(橄榄绿)、ourple(紫)、red(红)、silver(银)、teal(青)、white(白)、和yellow(黄)。还可以使用十六进制RGB:#ff0000、#00ff00、#0000ff等。还可以使用rgb函数【rgb(0,255,255)】
#cqz {
/* RGB函数 */
color: rgb(0, 255, 255);
/* 十六进制RGB */
color: #fff000;
/* W3C标准色 */
color: red;
}
- background-color:设置背景颜色
- background-image:设置背景图片
- background-repeat:设置背景图片重复/平铺方式
- background-position:设置背景图片定位
- background-attachment:设置背景图片是否固定或者随着页面的其余部分滚动
- background-size:设置背景图片大小【CSS3以前,背景图像大小由图像的实际大小决定】
- background:复合写法。任意属性都可以省略。
元素显示模式
- 元素显示模式:在CSS中,根据元素显示模式的不同元素标签被分为了两类。行内元素(inline-level)、块级元素(block-level)。
- 行内元素:行内元素就是不会独占一行的元素,行内元素不能设置宽度和高度。它的宽度和高度会随着文本的改变而该改变。内部不能填写块级元素。例如:
等;
- 块级元素:块级元素就是会独占一行的元素,块级元素可以设置宽度和高度,如果没有设置宽度和高度,默认父元素一样宽,高度则为0。例如:
-
-
- 等。
- 行内块级元素:由于我们有的时候不仅要设置元素的宽度和高度,同时也希望元素不会独占一行,这时就出现了行内块级元素(inline-block)。同一行的行内块级元素会有空白间隔。例如
等。
- 转换CSS元素的显示模式:设置元素的display属性。inline(行内)、block(块级)、inline-block(行内块级)
我是行内元素,被转换成了块级元素
我是块级元素,被转换成了行内元素
CSS三大特性
- CSS三大特性:CSS的三个特性是指层叠性、继承性以及优先级。
- 层叠性:层叠性是在HTML中对于同一个元素可以有多个CSS样式存在,当有相同权重的样式存在时,会根据这些样式书写的先后顺序来决定,处于最后面的CSS样式将会覆盖前面的CSS样式。
- 继承性:子标签会继承父标签的某些样式,如文本颜色和字号。想要设置一个可继承的属性,只需将它应用于父元素即可。合理使用继承可以简化代码,降低CSS样式的复杂性。对于字体、字号、颜色、行距等文本类属性具有继承性,都可以在body中统一设置,然后影响文档中所有文本。但是,并不是所有的CSS属性都可以继承,如边框、外边距、内边距、背景、定位、元素高度等与块级元素相关的属性都不具有继承性。
- 优先级:在复杂CSS样式表,经常出现两个或多个不同样式规则应用在同一元素上,这时到底采用哪个样式呢?这就是典型的CSS优先级问题。计算优先级有如下规则:继承 < 元素选择器 < 类选择器/伪类选择器 < ID选择器 < 行内样式 < !important
- 权重叠加问题:每种选择器的权重见下方表格。样式继承的权重为0,复合选择器使权重叠加,权重之间不能越界,11个类也没有id的权重大
选择器
权重
0000
0000
标签选择器
0001
类选择器与伪类选择器
0010
ID选择器
0100
行内样式
1000
!important
+∞
|