目录
2.2 内部样式表(Internal Style Sheet)
2.3 外部样式表(External Style Sheet)
一、CSS基础概念与核心语法
1.1 CSS的本质与作用
CSS(Cascading Style Sheets)是用于描述网页内容样式的语言,核心功能包括:
内容与样式分离:HTML负责结构,CSS负责外观。
层叠性:多个样式规则可叠加应用,优先级由选择器权重决定。
继承性:子元素可继承父元素的某些样式(如字体、颜色)。
1.2 CSS语法结构
选择器 {
属性: 值;
属性: 值;
}
选择器:指定要样式化的HTML元素。
声明块:包含一组用
{}
包裹的样式规则。
二、CSS与HTML结合的四种方式
2.1 内联样式(Inline Style)
直接在HTML标签中使用style
属性,优先级最高。
<p style="color: red; font-size: 14px;">紧急通知!</p>
适用场景:快速调试或单元素样式覆盖。
2.2 内部样式表(Internal Style Sheet)
在HTML的<style>
标签中编写样式,作用于当前页面。
<head>
<style>
body { background: #f0f0f0; }
.title { font-family: "微软雅黑"; }
</style>
</head>
优点:适合小型项目或单页应用。
2.3 外部样式表(External Style Sheet)
通过<link>
标签引入独立CSS文件,实现多页面复用。
<head>
<link rel="stylesheet" href="styles/main.css">
</head>
最佳实践:大型项目的首选方式,便于维护。
2.4 导入样式(@import)
在CSS文件中导入其他样式表,但性能较差。
@import url("reset.css");
注意:不推荐使用,可能阻塞页面加载。
三、深入CSS选择器:从基础到高级
3.1 基础选择器
类型 | 语法 | 示例 | 作用 |
---|---|---|---|
元素选择器 | tag |
p { color: red; } |
选中所有<p> 标签 |
类选择器 | .class |
.btn { padding: 8px } |
选中指定class的元素 |
ID选择器 | #id |
#header { height: 60px } |
选中唯一元素 |
3.2 组合选择器
后代选择器:
div p
(选中所有嵌套在div
内的p
)。子代选择器:
div > p
(仅选中直接子元素)。相邻兄弟选择器:
h1 + p
(选中紧接在h1
后的第一个p
)。通用兄弟选择器:
h1 ~ p
(选中h1
之后的所有同级p
)。
3.3 属性选择器
input[type="text"] { border: 1px solid #ccc; } /* 精确匹配属性值 */
a[href^="https"] { color: green; } /* 匹配以https开头的链接 */
img[alt~="logo"] { width: 100px; } /* 匹配包含"logo"的alt属性 */
3.4 伪类与伪元素
伪类:定义元素特殊状态。
a:hover { color: orange; } /* 鼠标悬停 */ li:nth-child(odd) { background: #f8f8f8; } /* 奇数行 */
伪元素:创建虚拟元素。
p::first-line { font-weight: bold; } /* 首行文本 */ .price::before { content: "¥"; } /* 在内容前插入符号 */
四、CSS核心属性全解析
4.1 盒模型(Box Model)
Content:元素实际内容。
Padding:内容与边框的间距。
Border:边框线。
Margin:元素与其他元素的外间距。
.box {
width: 300px;
padding: 20px;
border: 2px solid #333;
margin: 10px auto; /* 上下10px,左右居中 */
}
4.2 背景与渐变
背景控制:
.banner { background: url("bg.jpg") no-repeat center/cover; background-color: #f0f0f0; /* 备用背景色 */ }
渐变效果:
.gradient { background: linear-gradient(45deg, #ff6b6b, #4ecdc4); }
4.3 文本与字体
.article {
font-family: "Helvetica", sans-serif; /* 字体栈 */
font-size: 16px;
line-height: 1.6; /* 行高为字号的1.6倍 */
text-shadow: 2px 2px 4px rgba(0,0,0,0.3); /* 文字阴影 */
}
4.4 过渡与动画
过渡(Transition):
.button { transition: all 0.3s ease-in-out; } .button:hover { transform: scale(1.05); opacity: 0.8; }
关键帧动画(@keyframes):
@keyframes slide { 0% { transform: translateX(0); } 100% { transform: translateX(100px); } } .box { animation: slide 2s infinite alternate; }
五、布局技术:传统与现代化方案
5.1 传统布局方案
浮动布局:
.left { float: left; width: 30%; } .right { float: right; width: 70%; } .clearfix::after { content: ""; display: block; clear: both; }
定位布局:
.modal { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); }
5.2 现代化布局方案
Flexbox:一维布局,适合复杂对齐需求。
.container { display: flex; justify-content: space-between; align-items: center; }
Grid:二维布局,适合网格结构。
.grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
六、CSS3革命性新特性
6.1 变形(Transform)
.card {
transform: rotate(5deg) skewX(-10deg); /* 旋转与倾斜 */
}
6.2 滤镜(Filter)
.image {
filter: grayscale(80%) blur(2px); /* 灰度化与模糊 */
}
6.3 变量(Custom Properties)
:root {
--primary-color: #4a90e2; /* 定义全局变量 */
}
.button {
background: var(--primary-color); /* 使用变量 */
}
七、响应式设计与最佳实践
7.1 媒体查询(Media Queries)
@media (max-width: 768px) {
.menu { display: none; }
.mobile-nav { display: block; }
}
7.2 移动优先原则
设计策略:
优先为小屏幕设计核心功能。
逐步增强大屏幕的复杂布局。
7.3 性能优化
避免过度嵌套选择器:减少渲染计算。
使用CSS压缩工具:如PostCSS、CSSNano。
八、调试工具与学习资源推荐
8.1 开发者工具(DevTools)
Chrome DevTools:实时编辑样式、调试布局。
Firefox Grid Inspector:可视化Grid布局。
8.2 学习资源
官方文档:MDN Web Docs
在线课程:Codecademy CSS课程
实战练习:CSS Battle
8.3 推荐工具
在线编辑器:CodePen
颜色选择:HTML Color Codes
布局练习:Flexbox Froggy
CSS不仅是技术,更是艺术。从基础选择器到复杂动画,每一步都充满创造力。掌握它,你将拥有构建精美网页的超能力!(ノ◕ヮ◕)ノ*:・゚✧ 🎨