html只是搭建初步的结构,css的作用就是美化外观,使得结构和样式分离,各司其职。
CSS目录
一、CSS样式的三种方法
1.行内式(内联样式)
<div style="color: red; font-size: 12px;">基础使用</div>
style其实就是标签的属性,可以通过它来设置标签的样式。
2.内部样式表(内嵌样式表)
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
table {
height: 70px;
width: 600px;
text-align: center;
border: black 1px solid;
}
td,
th {
border-collapse: collapse;
border: black 1px solid;
}
th {
height: 40px;
}
</style>
</head>
将CSS代码集中书写到头部head标签里面使用style标签定义。
3.外部样式表(外链式)
<head>
<link rel="stylesheet" type="text/css" href="css文件路径">
</head>
将所有的样式放在一个或多个以.CSS为扩展名的外部样式表文件中,通过link标签将外部样式表文件链接到HTML文档中。
其中外联是使用频率最高的方法。
二、CSS基础选择器
css即使用选择器后对对应html页面元素做出样式的改变,分为基础选择器和复合选择器
1.标签选择器
HTML标签名称
作为选择器,按标签名称分类,为页面中某一类标签指定统一的CSS样式。
<style>
div {
属性: 属性值;
}
</style>
2.类选择器
类选择器使用.
(英文点号)进行标识,后面紧跟类名。
且单个标签可以指定多个类名,空格隔开即可。
<style>
.contianr {
属性: 属性值;
}
</style>
3.id选择器
id选择器使用#
(英文点号)进行标识,后面紧跟ID名。
元素的id值是唯一的,只能对应于文档中某一个具体的元素
<style>
#newId {
属性: 属性值;
}
</style>
4.通配符选择器
配符选择器用*
号表示, * 就是 选择所有的标签 他是所有选择器中作用范围最广的,能匹配页面中所有的元素。
<style>
* {
属性: 属性值;
}
</style>
三、复合选择器
1、后代选择器
父子之间空格符号隔开,选择的是父级中所有的子级元素。
<style>
父级 子级 {
font-size:20px;
}
</style>
2、子元素选择器
父子之间>
符号隔开,选择的是父级中最近一级的子级元素。
<style>
<style>
父级>子级 {
font-size:20px;
}
</style>
</style>
3、交集选择器
交集选择器由两个选择器构成,找到的标签必须满足:既有标签一的特点,也有标签二的特点。
<style>
标签.标签 {
font-size:20px;
}
</style>
4、并集选择器
并集选择器(CSS选择器分组)是各个选择器通过,
符号连接而成的,通常用于集体声明。
<style>
标签,
h4,
.class,
#id {
font-size:20px;
}
</style>
5、链接伪类选择器
向某些选择器添加特殊的效果,比如给链接添加特殊效果
<style>
a:hover {
color:green
}
</style>
属性 | 描述 |
---|---|
a:link | 未访问的链接 |
a:visited | 已访问的链接 |
a:hover | 鼠标移动到链接上 |
a:active | 选定的链接 |
四、font字体样式
1、font-size(字体大小)
<style>
标签 {
font-size:20px;
}
</style>
常用的单位有px和em。
2、font-family(字体样式)
<style>
标签 {
font-family: Arial,"Microsoft Yahei", "微软雅黑";
font-family:"微软雅黑";
}
</style>
常用的字体有宋体和微软雅黑
3、font-weight(字体粗细)
<style>
标签 {
font-weight: normal/bold/数字;
}
</style>
属性值 | 描述 |
---|---|
normal | 默认值(不加粗的) |
bold | 定义粗体(加粗的) |
100~900 | 400 等同于 normal,而 700 等同于 bold |
4、font-style(字体风格)
<style>
标签 {
font-style: normal/italic;
}
</style>
属性 | 作用 |
---|---|
normal | 默认值,浏览器会显示标准的字体样式 font-style: normal; |
italic | 浏览器会显示斜体的字体样式。 |
5、font(复合属性)
<style>
标签 {
font: font-style font-weight font-size/line-height font-family;
}
</style>
属性 | 表示 | 注意点 |
---|---|---|
font-size | 字号 | 通常用的单位是px 像素,要跟上单位 |
font-family | 字体 | 实际中按照约定来写字体 |
font-weight | 字体粗细 | 加粗是 700 或者 bold 不加粗 是 normal 或者 400 |
font-style | 字体样式 | 倾斜是 italic 不倾斜 是 normal 最常用 normal |
font | 字体连写 | 1. 字体连写是有顺序的 不能随意换位置 2. 其中字号 和 字体 必须同时出现 |
五、CSS基础外观属性
1.color(文本颜色)
常用属性有十六进制和预定义的颜色如:#FFFF yellow
表示表示 | 属性值 |
---|---|
预定义的颜色值 | red,green,blue,还有我们的御用色 pink |
十六进制 | #FF0000,#FF6600,#29D794 |
RGB代码 | rgb(255,0,0)或rgb(100%,0%,0%) |
2.text-align(文本水平对齐方式)
常用属性有center 进行文本居中对齐
属性 | 解释 |
---|---|
left | 左对齐(默认值) |
right | 右对齐 |
center | 居中对齐 |
3.line-height(行间距)
line-height属性用于设置行间距,就是行与行之间的距离,即字符的垂直间距,一般称为行高。
<style>
标签 {
line-height: 盒子大小;
}
</style>
行高和盒子大小高度设置一样可以实现垂直居中的效果
4.text-indent(首行缩进)
text-indent属性用于设置首行文本的缩进,
<style>
p {
/*行间距*/
line-height: 25px;
/*首行缩进2个字 em 1个em 就是1个字的大小*/
text-indent: 2em;
}
</style>
5.text-decoration(文本的装饰)
常用来取消a标签的下划线。
值 | 描述 |
---|---|
none | 默认。定义标准的文本。 取消下划线(最常用) |
underline | 定义文本下的一条线。下划线 也是我们链接自带的(常用) |
overline | 定义文本上的一条线。(不用) |
line-through | 定义穿过文本下的一条线。(不常用) |
6.CSS外观属性总结
常用color,line-height,text-align
属性 | 表示 | 注意点 |
---|---|---|
color | 颜色 | 我们通常用 十六进制 比如 而且是简写形式 #fff |
line-height | 行高 | 控制行与行之间的距离 |
text-align | 水平对齐 | 可以设定文字水平的对齐方式 |
text-indent | 首行缩进 | 通常我们用于段落首行缩进2个字的距离 text-indent: 2em; |
text-decoration | 文本修饰 | 记住 添加 下划线 underline 取消下划线 none |
六、标签显示模式(display)
display的三种转换模式方法。
<style>
.class {
display:block;
display:inline;
display:inline-block
}
</style>
三种模式的区别:
元素模式 | 元素排列 | 设置宽高 | 默认宽度 | 包含 |
---|---|---|---|---|
块级元素 | 独占一行 | √ | 容器的100% | 容器级可以包含任何标签 |
行内元素 | 一行多个 | × | 它本身内容的宽度 | 容纳文本或则其他行内元素 |
行内块元素 | 一行多个 | √ | 它本身内容的宽度 |
七、CSS 背景(background)
1.背景颜色(color)
background-color:颜色值; 默认的值是 transparent 透明的
2.背景图片(image)
<style>
.class {
background-image : url(images/demo.png);
}
</style>
3.背景平铺(repeat)
<style>
.class {
background-repeat : repeat | no-repeat | repeat-x | repeat-y
}
</style>
参数 | 作用 |
---|---|
repeat | 背景图像在纵向和横向上平铺(默认的) |
no-repeat | 背景图像不平铺 |
repeat-x | 背景图像在横向上平铺 |
repeat-y | 背景图像在纵向平铺 |
4.背景位置(position)
<style>
.class {
background-position: x y || 方位词 方位词;
}
</style>
参数 | 值 |
---|---|
length | 百分数 | 由浮点数字和单位标识符组成的长度值 |
position | top | center | bottom | left | center | right 方位名词 |
5.背景附着
background-attachment : scroll | fixed
解释背景是滚动的还是固定的
参数 | 作用 |
---|---|
scroll | 背景图像是随对象内容滚动 |
fixed | 背景图像固定 |
6.背景复合写法
background: 背景颜色 背景图片地址 背景平铺 背景滚动 背景位置;
<style>
.class {
background: transparent url(image.jpg) repeat-y scroll center top ;
颜色 地址 是否平铺 附着与否 图片位置
}
</style>
背景透明写法:background: rgba(0, 0, 0, 0.3);
7.背景总结
属性 | 作用 | 值 |
---|---|---|
background-color | 背景颜色 | 预定义的颜色值/十六进制/RGB代码 |
background-image | 背景图片 | url(图片路径) |
background-repeat | 是否平铺 | repeat/no-repeat/repeat-x/repeat-y |
background-position | 背景位置 | length/position 分别是x 和 y坐标, 切记 如果有 精确数值单位,则必须按照先X 后Y 的写法 |
background-attachment | 背景固定还是滚动 | scroll/fixed |
背景简写 | 更简单 | 背景颜色 背景图片地址 背景平铺 背景滚动 背景位置; 他们没有顺序 |
背景透明 | 让盒子半透明 | background: rgba(0,0,0,0.3); 后面必须是 4个值 |
八、CSS 三大特性
1.层叠性
两个选择器设置相同的属性,后设置的属性会覆盖掉原先的属性。
2.CSS继承性
子标签会继承父标签的某些样式,如文本颜色和字号。
想要设置一个可继承的属性,只需将它应用于父元素即可。
3.CSS优先性(权重)
标签选择器 | 计算权重公式 |
---|---|
继承或者 * | 0,0,0,0 |
每个元素(标签选择器) | 0,0,0,1 |
每个类,伪类 | 0,0,1,0 |
每个ID | 0,1,0,0 |
每个行内样式 style="" | 1,0,0,0 |
每个!important 重要的 | ∞ 无穷大 |
- div ul li ------> 0,0,0,3
- .nav ul li ------> 0,0,1,2
- a:hover -----—> 0,0,1,1
- .nav a ------> 0,0,1,1
-
交集选择器,后代选择器会出现权重叠加