CSS基本知识
一、CSS的基本样式(内联,嵌入,外联)
1.内联式
- 将style属性(
style attribute
)添加到相关标签(relevant tag
)
<p style="color:white; background-color:gray;">
This is an example of inline styling.
</p>
效果如下:
This is an example of inline styling.
2.嵌入式
- 在HTML页面
head
的<style>
元素内定义
<head>
<style>
p {
color:white;
background-color:gray;
}
</style>
</head>
3.外联式(最有用)
使用此方法,所有样式规则都包含在单个文本文件中,该文件以
.css
扩展名保存。然后使用<link>
标记在HTML中引用此CSS文件。<link>
元素位于头部内部。
- HTML:
<head>
<link rel="stylesheet" href="example.css">
</head>
- CSS:
p {
color:white;
background-color:gray;
}
二、CSS选择器和常用属性
样式规则包含三部分:选择器(selector),属性(property)和值(value)。
声明块包含一个或多个用分号分隔的声明。 每个声明都包含一个属性名称和一个值,并用冒号分隔。
1.类型选择器
标记名{属性1:属性值1;属性2:属性值2;属性3:属性值3;}
p {
color: red;
font-size:130%;
}
2.id选择器
#id名{属性1:属性值1;属性2:属性值2;属性3:属性值3;}
id是唯一的!只能对应文档中的某一个具体的元素!
- HTML:
<div id="intro">
<p> This paragraph is in the intro section.(此段落在简介部分。)</p>
</div>
<p> This paragraph is not in the intro section.(此段落不在简介部分中)</p>
效果如下:
This paragraph is in the intro section.(此段落在简介部分。)
This paragraph is not in the intro section.(此段落不在简介部分中)
- CSS:
#intro {
color: white;
background-color: gray;
}
3.类选择器
.类名{属性1:属性值1;属性2:属性值2;属性3:属性值3;}
class选择器:和id
主要区别在于,id
每页只能应用一次,而class
可以根据需要在页面上使用多次。
- HTML:
<div>
<p class="first">This is a paragraph(这是第一个段落)</p>
<p> This is the second paragraph.(这是第二个段落) </p>
</div>
<p class="first"> This is not in the intro section(这不在简介部分)</p>
<p> The second paragraph is not in the intro section.(第二段不在介绍部分) </p>
效果如下:
This is a paragraph(这是第一个段落)
This is the second paragraph.(这是第二个段落)
This is not in the intro section(这不在简介部分)
The second paragraph is not in the intro section.(第二段不在介绍部分)
- CSS:
.first {font-size: 200%;}
4.后代选择器
#id名.iid名.id名{属性1:属性值1;属性2:属性值2;属性3:属性值3;}
这些选择器用于选择作为另一个元素的后代的元素。选择级别时,可以根据需要选择任意多个深度。 所得结果,仅影响选定的元素
后代选择器匹配作为指定元素后代的所有元素。
例如,仅在“intro”
部分的第一段中定位<em>
元素:
- HTML:
<div id="intro">
<p class="first">This is a <em> paragraph.</em></p>1
</div>
效果如下:
This is a paragraph.
1- CSS:
#intro .first em {
color: pink;
background-color:gray;
}
5.通配符选择器
*{属性1:属性值1;属性2:属性值2;属性3:属性值3;}
该样式对所有的HTML标记都生效!
CSS:
* {
margin: 0; 定义外边距
padding: 0; 定义内边距
}
三、CSS属性
字体属性 | 含义 |
---|---|
font-family | 字体属性 |
font-size | 字体大小 |
font-style | 字体样式 |
font-weight | 字体粗细 |
font-variant | 字体变换 |
color | 字体颜色 |
文本样式属性 | 含义 |
---|---|
text-align | 文本对齐 |
vertical-align | 垂直对齐 |
常用属性 | 含义 |
---|---|
margin | 外边距 |
padding | 内边距 |
background | 背景颜色等信息 |
border | 边框宽度、颜色、样式等 |
font | 字体样式 |
height | 高度 |
line-height | 行间距 |
text-decoration | 文本的显示样式 |
vertical-align | 元素的垂直对齐方式 |
实例
1.更改文本的颜色
2.使用元素选择器来设置元素的样式
3.使用 class 选择器设置多个元素的样式
4.更改元素的字体大小–font-size
5.设置元素的字体族名–font-family
6.引入谷歌字体
<link href="https://fonts.googleapis.com/css?family=Lobster" rel="stylesheet" type="text/css">
7.字体如何优雅降级
8.调整图片的大小
9.在元素周围添加边框
10.用 border-radius 添加圆角边框
11.用 border-radius 制作圆形图片
12.给 div 元素添加背景色
13.设置元素的 id
14.使用 id 属性来设定元素的样式
15.调整元素的内边距
<style>
.injected-text {
margin-bottom: -25px;
text-align: center;
}
.box {
border-style: solid;
border-color: black;
border-width: 5px;
text-align: center;
}
.yellow-box {
background-color: yellow;
padding: 10px;
}
.red-box {
background-color: crimson;
color: #fff;
padding: 20px;
}
.blue-box {
background-color: blue;
color: #fff;
padding: 20px;
}
</style>
<h5 class="injected-text">margin</h5>
<div class="box yellow-box">
<h5 class="box red-box">padding</h5>
<h5 class="box blue-box">padding</h5>
</div>
16.调整元素的外边距
17.给元素添加负外边距
18.给元素的每一侧添加不同的内边距
19.使用顺时针标记指定元素的内边距
20.使用顺时针标记指定元素的外边距
21.使用属性选择器来设置元素的样式
22.理解绝对单位与相对单位
23.给 HTML 的 body 元素添加样式
24.从 body 元素继承样式
25.样式中的优先级
26.Class 选择器的优先级高于继承样式
27.ID 选择器优先级高于 Class 选择器
28.内联样式的优先级高于 ID 选择器
29.Important 的优先级最高
30.使用 CSS 变量一次更改多个元素
31.创建一个自定义的 CSS 变量
32.使用一个自定义的 CSS 变量
33.给 CSS 变量设置备用值
34.通过浏览器降级提高兼容性
当浏览器解析页面的 CSS 时,会自动忽视不能识别或者不支持的属性。 举个例子,如果使用 CSS 变量来指定站点的背景色,IE
浏览器由于不支持 CSS 变量而会忽略背景色。 此时,浏览器会尝试使用其它值。 但如果没有找到其它值,则会使用默认值,也就是没有背景色。
35.继承 CSS 变量
当创建一个变量时,变量会在创建变量的选择器里可用。 同时,在这个选择器的后代选择器里也是可用的。 这是因为 CSS
变量是可继承的,和普通的属性一样。
CSS 变量经常会定义在 :root 元素内,这样就可被所有选择器继承。
:root
是一个伪类选择器,它是一个能够匹配文档根元素的选择器,通常指的是html
元素。 我们在:root
里创建变量在全局都可用,即在任何选择器里都生效。
36.使用媒体查询更改变量
CSS 变量可以简化媒体查询的定义方式。
例如,当屏幕小于或大于媒体查询所设置的值,只要我们更新变量的值,那么使用了此变量的元素样式就都会更改。
37.使用 text-align 属性创建视觉平衡
web 内容大部分都是文本。 CSS 里面的
text-align
属性可以控制文本的对齐方式。
-
text-align: justify;
可以让除最后一行之外的文字两端对齐,即每行的左右两端都紧贴行的边缘。 -
text-align: center;
可以让文本居中对齐。 -
text-align: right;
可以让文本右对齐。 -
text-align: left;
是默认值,它可以让文本左对齐。