简介
CSS(层叠样式表,Cascading Style Sheets)是一种用来描述网页文档(如 HTML 或 XML)外观和格式的语言。CSS 提供了强大的功能,使得开发者可以控制页面上的元素的样式和布局。以下是关于 CSS 的几个关键方面:选择器、属性和布局。
1. 选择器(Selectors)
选择器用于指定哪些 HTML 元素应用特定的样式规则。CSS 提供了多种选择器类型:
1.1 基本选择器
-
元素选择器:直接指定 HTML 元素,例如
div
、p
。1p { color: red; }
-
类选择器:以句点(
.
)开头,用于匹配带有特定类名的元素。1.highlight { background-color: yellow; }
-
ID 选择器:以井号(
#
)开头,用于匹配带有特定 ID 名的元素。1#main-header { font-size: 24px; }
-
通用选择器:星号(
*
)匹配所有元素。1* { margin: 0; padding: 0; }
1.2 组合选择器
-
组合选择器:可以组合多个选择器来更精确地定位元素。
1div p { color: blue; } /* 匹配 div 内的所有 p 元素 */
-
伪类选择器:以冒号(
:
)开头,用于匹配特定状态的元素。1a:hover { color: green; } /* 当鼠标悬停在链接上时改变颜色 */
-
伪元素选择器:以两个冒号(
::
)开头,用于匹配元素的一部分。1p::first-line { color: red; } /* 匹配段落的第一行 */
2. 属性(Properties)
CSS 属性用于定义元素的样式特性。以下是一些常用的 CSS 属性:
2.1 盒模型相关的属性
-
边距(Margin):元素外边的距离。
1div { margin: 10px; }
-
填充(Padding):元素内容与边框之间的距离。
1div { padding: 10px; }
-
边框(Border):元素的边框样式。
1div { border: 1px solid black; }
2.2 文本相关的属性
-
字体大小(Font-size):文本的大小。
1p { font-size: 16px; }
-
颜色(Color):文本的颜色。
1p { color: blue; }
-
文本对齐方式(Text-align):文本的对齐方式。
1p { text-align: center; }
2.3 背景相关的属性
-
背景颜色(Background-color):元素的背景颜色。
1div { background-color: yellow; }
-
背景图像(Background-image):元素的背景图像。
1div { background-image: url('image.jpg'); }
2.4 显示相关的属性
-
显示模式(Display):元素的显示模式。
1div { display: block; }
-
位置(Position):元素的位置方式。
1div { position: absolute; top: 10px; left: 20px; }
3. 布局(Layout)
CSS 提供了多种布局技术来控制页面元素的位置和排列方式:
3.1 浮动布局(Floating Layout)
- 浮动(Float):使元素脱离正常的文档流。
1img { float: left; }
3.2 块级布局(Block Layout)
- 块级元素:默认占据整行。
1div { display: block; }
3.3 行内布局(Inline Layout)
- 行内元素:与其他行内元素在同一行内排列。
1span { display: inline; }
3.4 弹性布局(Flexbox Layout)
-
弹性容器(Flex Container):使用
display: flex;
创建弹性容器。1.container { display: flex; }
-
弹性项目(Flex Item):容器内的子元素。
1.item { flex: 1; }
3.5 网格布局(Grid Layout)
- 网格容器(Grid Container):使用
display: grid;
创建网格容器。1.grid-container { display: grid; grid-template-columns: repeat(3, 1fr); }
示例代码
以下是一个简单的 HTML 文件及其 CSS 样式:
HTML 文件:
1<!DOCTYPE html>
2<html lang="en">
3<head>
4 <meta charset="UTF-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 <title>Document</title>
7 <style>
8 body {
9 font-family: Arial, sans-serif;
10 }
11 h1 {
12 color: blue;
13 }
14 p {
15 font-size: 16px;
16 text-align: justify;
17 }
18 .highlight {
19 background-color: yellow;
20 }
21 .container {
22 display: flex;
23 justify-content: space-between;
24 }
25 .item {
26 flex: 1;
27 border: 1px solid black;
28 padding: 10px;
29 margin: 5px;
30 }
31 </style>
32</head>
33<body>
34 <h1>Welcome to My Website</h1>
35 <p>This is a paragraph with some <span class="highlight">highlighted</span> text.</p>
36 <div class="container">
37 <div class="item">Item 1</div>
38 <div class="item">Item 2</div>
39 <div class="item">Item 3</div>
40 </div>
41</body>
42</html>
这段代码展示了如何使用不同的选择器、属性和布局技术来创建一个简单的网页。