目录
一、CSS 简介
- CSS 是一种描述 HTML 文档样式的语言。
- CSS 指的是层叠样式表 (Cascading Style Sheets)
- CSS 描述了如何在屏幕、纸张或其他媒体上显示 HTML 元素
- CSS 节省了大量工作。它可以同时控制多张网页的布局
二、CSS 语法
CSS 规则集(rule-set)由选择器和声明块组成(内部 CSS):
- 选择器指向需要设置样式的 HTML 元素。
- 声明块包含一条或多条用分号分隔的声明。
- 每条声明都包含一个 CSS 属性名称和一个值,以冒号分隔。
- 多条 CSS 声明用分号分隔,声明块用花括号括起来。
三、如何添加 CSS
当浏览器读到样式表时,它将根据样式表中的信息来格式化 HTML 文档。
1、外部 CSS
- 通过使用外部样式表,只需修改一个文件即可改变整个网站的外观
- 每张 HTML 页面必须在 head 部分的 <link> 元素内包含对外部样式表文件的引用。
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="mystyle.css">
</head>
<body>
<h1>This is a heading</h1>
<p>This is a paragraph.</p>
</body>
</html>
"mystyle.css"
body {
background-color: lightblue;
}
h1 {
color: navy;
margin-left: 20px;
}
2、内部 CSS
- 当单个文件需要特别样式时,就可以使用内部样式表。
- 可以在 head 部分通过 <style> 标签定义内部样式表。
<!DOCTYPE html>
<html>
<head>
<style>
body {
background-color: linen;
}
h1 {
color: maroon;
margin-left: 40px;
}
</style>
</head>
<body>
<h1>This is a heading</h1>
<p>This is a paragraph.</p>
</body>
</html>
3、行内 CSS
- 当特殊的样式需要应用到个别元素时,就可以使用内联样式。
- 使用内联样式的方法是在相关的标签中使用样式属性。样式属性可以包含任何 CSS 属性。
<!DOCTYPE html>
<html>
<body>
<h1 style="color:blue;text-align:center;">This is a heading</h1>
<p style="color:red;">This is a paragraph.</p>
</body>
</html>
四、CSS 选择器
CSS 选择器用于“查找”(或选取)要设置样式的 HTML 元素。
1、CSS id 选择器
- id 选择器使用 HTML 元素的 id 属性来选择特定元素
- 元素的 id 在页面中是唯一的,因此 id 选择器用于选择一个唯一的元素
- 要选择具有特定 id 的元素,请写一个井号(#),后跟该元素的 id
实例
这条 CSS 规则将应用于 id=“para1” 的 HTML 元素:
<!DOCTYPE html>
<html>
<head>
<style>
#para1 {
text-align: center;
color: red;
}
</style>
</head>
<body>
<p id="para1">Hello World!</p>
<p>本段不受样式的影响。</p>
</body>
</html>
2、CSS 类选择器
- 类选择器选择有特定 class 属性的 HTML 元素
- 如需选择拥有特定 class 的元素,请写一个句点(.)字符,后面跟类名
实例
在此例中,所有带有 class=“center” 的 HTML 元素将为红色且居中对齐:
<!DOCTYPE html>
<html>
<head>
<style>
.center {
text-align: center;
color: red;
}
</style>
</head>
<body>
<h1 class="center">居中的红色标题</h1>
<p class="center">居中的红色段落。</p>
</body>
</html>
3、CSS 元素选择器
- 最常见的 CSS 选择器是元素选择器。换句话说,文档的元素就是最基本的选择器。
- 如果设置 HTML 的样式,选择器通常将是某个 HTML 元素,比如 p、h1、em、a,甚至可以是 html 本身
实例
<html>
<head>
<style type="text/css">
html {color:black;}
h1 {color:blue;}
h2 {color:silver;}
</style>
</head>
<body>
<h1>这是 heading 1</h1>
<h2>这是 heading 2</h2>
<p>这是一段普通的段落。</p>
</body>
</html>
4、CSS 分组选择器
分组选择器选取所有具有相同样式定义的 HTML 元素。
实例
h1、h2 和 p 元素具有相同的样式定义:
<!DOCTYPE html>
<html>
<head>
<style>
h1, h2, p {
text-align: center;
color: red;
}
</style>
</head>
<body>
<h1>Hello World!</h1>
<h2>更小的标题</h2>
<p>这是一个段落。</p>
</body>
</html>
五、CSS 属性
1、背景属性
属性 | 描述 |
---|---|
background-color | 设置元素的背景色 |
background-image | 设置元素的背景图像 |
2、CSS 边框
CSS border 属性允许您指定元素边框的样式、宽度和颜色。
属性 | 描述 |
---|---|
border | 在一条声明中设置所有边框属性 |
border-style | 设置四条边框的样式. 可以设置一到四个值(用于上边框、右边框、下边框和左边框) 可设置border-*-style属性 |
border-width | 设置四条边框的宽度。 可以设置一到四个值(用于上边框、右边框、下边框和左边框) 可设置border-*-width属性 |
border-color | 设置四条边框的颜色。 可以设置一到四个值(用于上边框、右边框、下边框和左边框) 可设置border-*-color属性 |
border-radius | 设置圆角边框。可设置圆角的所有四个 border-*-radius 属性 |
border-style值 | 描述 |
---|---|
dotted | 定义点线边框 |
dashed | 定义虚线边框 |
solid | 定义实线边框 |
double | 定义双边框 |
groove | 定义 3D 坡口边框。效果取决于 border-color 值 |
ridge | 定义 3D 脊线边框。效果取决于 border-color 值 |
inset | 定义 3D inset 边框。效果取决于 border-color 值 |
outset | 定义 3D outset 边框。效果取决于 border-color 值 |
none | 定义无边框 |
hidden | 定义隐藏边框 |
除非设置了 border-style 属性,否则其他 CSS 边框属性都不会有任何作用
如果 border-style 属性设置四个值:
border-style: dotted solid double dashed;
- 上边框是虚线
- 右边框是实线
- 下边框是双线
- 左边框是虚线
如果 border-style 属性设置三个值:
border-style: dotted solid double;
- 上边框是虚线
- 右和左边框是实线
- 下边框是双线
如果 border-style 属性设置两个值:
border-style: dotted solid;
- 上和下边框是虚线
- 右和左边框是实线
如果 border-style 属性设置一个值:
border-style: dotted;
- 四条边均为虚线
(border-width 和 border-color 也同样适用)
3、CSS 布局 - display 属性
- display 属性是用于控制布局的最重要的 CSS 属性。
- display 属性规定是否/如何显示元素。
display属性
- none:此元素不会被显示。不占页面空间。
- block:此元素将显示为块级元素,此元素前后会带有换行符。
- inline:默认。此元素会被显示为内联元素,元素前后没有换行符。
- inline-block:行内块元素。
- flex:意为"弹性布局",用来为盒状模型提供最大的灵活性。
隐藏一个元素可以通过display属性设置为"none",或把visibility属性设置为"hidden"
visibility:hidden可以隐藏某个元素,但隐藏的元素仍需占用与未隐藏之前一样的空间。也就是说,该元素虽然被隐藏了,但仍然会影响布局。
display:none可以隐藏某个元素,且隐藏的元素不会占用任何空间。