第一节 初识CSS
一、CSS 的简介与引用
CSS(Cascading Style Sheets,层叠样式表)是一种用来表现 HTML 或 XML 等文件样式的计算机语言。如果说 HTML 是网页的“骨架”,那么 CSS 就是网页的“皮肤”和“衣服”,负责网页的布局、颜色、字体等视觉效果。
在 HTML 中引入外部 CSS 文件是最推荐的做法。在现代代码编辑器(如 VS Code)中,我们可以在 HTML 文件的 <head> 标签内输入 link:css,利用快捷键下拉提示,自动生成以下标准引用代码:
<link rel="stylesheet" href="style.css" />
随后,在同级目录下新建一个 CSS 文件并命名为 style.css,即可开始编写样式。
二、CSS 文件归档
随着项目体积的增大,所有的文件如果都堆积在根目录下,会显得非常混乱。良好的文件归档习惯是前端开发的基本素养。 我们需要新建一个名为 style(或 css)的文件夹,把刚刚创建的 style.css 移动到该文件夹内。移动后,HTML 文件引用 CSS 的路径也需要进行相应的修改:
<link rel="stylesheet" href="style/style.css" />
三、内外边距的使用
在 CSS 中,所有的 HTML 元素都可以看作是一个个的“盒子”。了解盒模型是控制网页布局的基础。
- Padding(内边距):内容与边框之间的距离。
- Margin(外边距):元素(盒子)与其他元素(盒子)之间的距离。
.box {
padding: 20px; /* 内边距为 20 像素 */
margin: 30px; /* 外边距为 30 像素 */
}
重置浏览器默认样式
有些 HTML 标签(如 body, ul, p 等)自带默认的内外边距,这会影响我们的精准布局。通常,我们可以通过“重置”的方式消除这些自带属性:
body {
margin: 0; /* 消除网页主体的默认外边距 */
}
nav ul {
padding: 0;
margin: 0;
}
模块化内外边距应用示例
在实际开发中,我们经常使用 padding 和 margin 来控制不同区块的呼吸感:
/* 头部与底部模块:增加上下内边距,使内容不贴边 */
header,
footer {
padding: 20px 0;
}
/* 主区域的各个子模块:设置统一的外边距和内边距 */
.about,
.other {
margin: 20px; /* 与其他区块保持距离 */
padding: 10px; /* 内部内容与边框保持距离 */
}
教学提示:使用通义灵码解读代码
在学习上述代码时,学生可以将不理解的 CSS 选择器或属性选中,利用通义灵码的“代码解释”功能,AI 会自动用自然语言逐行分析代码的作用,帮助学生快速掌握内外边距的用法。
四、非布局样式的运用
CSS 中包含大量与位置布局无关的样式属性,它们主要用于美化网页。这些属性涵盖了字体、颜色、背景、边框以及装饰性效果(如去掉下划线、去掉列表圆点等)。 以下是常见非布局样式的综合运用示例:
/* 背景与文本对齐 */
header,
footer {
background-color: #faa0a5; /* 自定义背景色 */
text-align: center; /* 内部文字水平居中 */
}
/* 边框与背景颜色 */
.about {
border: 1px solid rgb(223, 124, 170); /* 实线边框:1像素、实线、粉色 */
background-color: rgb(213, 12, 82); /* 背景颜色 */
}
.other {
border: 1px solid rgb(223, 124, 170);
background-color: #ffffff; /* 边框内的背景颜色设为白色 */
}
/* 导航栏装饰性重置 */
nav {
background-color: rgb(213, 12, 82);
}
nav ul {
list-style: none; /* 去掉列表默认的圆点符号 */
}
nav ul a {
text-decoration: none; /* 去掉超链接默认的下划线 */
color: #000000; /* 设置文字颜色为黑色 */
}
五、最低高度与视口单位
在网页设计中,为了防止页面内容过少时,底部模块(footer)悬浮在屏幕中间,我们通常会给主内容区域设置一个最低高度(min-height)。
这里引入一个非常实用的单位:vh (Viewport Height,视口高度)。1vh 等于浏览器可视区域高度的 1%。
/* 设置 main 元素的最小高度为视口高度的 80% */
main {
min-height: 80vh;
}
这样设置后,无论页面内容有多少,main 区域都至少会占据屏幕 80% 的高度,从而保证页面结构的稳定和美观。