当前位置: 首页 > article >正文

CSS 进阶教程:从定位到动画与布局

文章目录

  • 🌟 CSS 进阶教程:从定位到动画与布局
    • 🌟 目录
    • 🌟 1. 定位
      • **Static(默认定位)**
      • **Relative(相对定位)**
      • **Absolute(绝对定位)**
      • **Fixed(固定定位)**
      • **Sticky(粘性定位)**
    • 🌟 2. 层叠规则(z-index)
    • 🌟 3. BFC 和 IFC
      • **BFC(块级格式化上下文)**
      • **IFC(内联格式化上下文)**
    • 🌟 4. CSS3 新特性
      • 响应式布局与媒体查询
        • 媒体查询
      • Flex 布局
      • Grid 布局
      • 瀑布流布局
    • 🌟 5. 动画与过渡
      • 动画
      • 过渡效果
      • 渐变效果
    • 🌟 6. 背景与边框
      • 背景
      • 边框与圆角
    • 🌟 7. 字体与文本
    • 🌟 8. 2D/3D 转换
      • 2D 转换
      • 3D 转换
      • 🔗 相关资源

🌟 CSS 进阶教程:从定位到动画与布局

在学习了 CSS 的基础知识后,本节将涵盖更高级的 CSS 概念和技术,包括定位、布局、动画等,帮助你全面掌握 CSS 的核心功能。


🌟 目录

  1. 定位
  2. 层叠规则(z-index)
  3. BFC 和 IFC
  4. CSS3 新特性
    • 响应式布局
    • 媒体查询
    • Flex 布局
    • Grid 布局
    • 瀑布流布局
  5. 动画与过渡
    • 动画
    • 过渡效果
    • 渐变效果
  6. 背景与边框
    • 背景
    • 边框与圆角
  7. 字体与文本
  8. 2D/3D 转换

🌟 1. 定位

定位决定了元素在页面上的放置方式,CSS 提供了以下几种定位方式:

Static(默认定位)

元素按照正常文档流排列。

css


复制代码
div {
  position: static; /* 默认值 */
}

Relative(相对定位)

相对于自身的原始位置进行偏移。

css


复制代码
div {
  position: relative;
  top: 20px; /* 相对于原始位置向下偏移 */
  left: 10px;
}

Absolute(绝对定位)

相对于最近的已定位祖先元素(非 static)进行定位。如果无祖先元素,则相对于 body

css


复制代码
div {
  position: absolute;
  top: 50px;
  left: 100px;
}

Fixed(固定定位)

相对于浏览器视口进行定位,滚动页面时位置不变。

css


复制代码
div {
  position: fixed;
  bottom: 10px;
  right: 20px;
}

Sticky(粘性定位)

根据滚动位置在 relativefixed 之间切换。

css


复制代码
div {
  position: sticky;
  top: 0; /* 距离顶部 0 时固定 */
}

🌟 2. 层叠规则(z-index)

z-index 控制元素的堆叠顺序,值越大,元素越靠上。

css


复制代码
div {
  position: absolute;
  z-index: 10;
}
  • 正整数:比默认层高。
  • 负整数:比默认层低。
  • 默认值为 auto

🌟 3. BFC 和 IFC

BFC(块级格式化上下文)

  • 独立的布局区域,内部元素不会影响外部。
  • 触发方式:
    • overflow: hidden;
    • floatposition: absolute/fixed;
    • display: flex;
css


复制代码
.container {
  overflow: hidden; /* 触发 BFC */
}

IFC(内联格式化上下文)

  • 内联元素形成的一种上下文,布局规则按文字流排列。
html


复制代码
<span>这是</span><span>IFC</span>

🌟 4. CSS3 新特性

响应式布局与媒体查询

媒体查询

根据设备宽度、分辨率应用不同样式。

css


复制代码
@media (max-width: 600px) {
  body {
    background-color: lightblue;
  }
}

Flex 布局

弹性盒子布局,适合单维方向排列。

css


复制代码
.container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

Grid 布局

强大的二维布局。

css


复制代码
.container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 10px;
}

瀑布流布局

css


复制代码
.container {
  column-count: 3; /* 列数 */
  column-gap: 10px;
}

🌟 5. 动画与过渡

动画

通过 @keyframes 创建复杂动画。

css


复制代码
@keyframes slide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(100px);
  }
}

div {
  animation: slide 2s infinite;
}

过渡效果

css


复制代码
div {
  transition: all 0.3s ease-in-out;
}

渐变效果

创建颜色渐变。

css


复制代码
div {
  background: linear-gradient(to right, red, yellow);
}

🌟 6. 背景与边框

背景

背景图像和颜色的设置。

css


复制代码
div {
  background: url('image.jpg') no-repeat center center / cover;
}

边框与圆角

css


复制代码
div {
  border: 2px solid black;
  border-radius: 10px;
}

🌟 7. 字体与文本

css


复制代码
body {
  font-family: 'Arial', sans-serif;
  font-size: 16px;
}

🌟 8. 2D/3D 转换

2D 转换

通过 transform 实现旋转、缩放等效果。

css


复制代码
div {
  transform: rotate(45deg) scale(1.2);
}

3D 转换

css


复制代码
div {
  transform: rotateX(45deg) rotateY(30deg);
}

🔗 相关资源

  • CSS官方文档

现在你已经掌握了 CSS 的核心进阶内容,试着实践一下吧!

4o


http://www.kler.cn/a/442438.html

相关文章:

  • ASP.NET Core - .NET 6 以上版本的入口文件
  • Linux的常用命令(三)
  • 【机器学习】制造业转型:机器学习如何推动工业 4.0 的深度发展
  • Life Long Learning(李宏毅)机器学习 2023 Spring HW14 (Boss Baseline)
  • 如何优化Elasticsearch大文档查询?
  • 【C++】B2112 石头剪子布
  • sql 批量修改字段 的默认值
  • 算法-字典树
  • 配置 wsl 2 网络代理时的认知误区
  • ubuntu 下的sqlite3
  • 4、基于SpringBoot网页时装购物系统
  • linux - 软硬链接
  • 小程序-基于java+SSM+Vue的模拟考试管理系统设计与实现
  • 青少年编程与数学 02-004 Go语言Web编程 01课题、Web应用程序
  • 5分钟掌握nodejs所有功能使用
  • 【UE5】pmx导入UE5,套动作。(防止“气球人”现象。
  • 【信息系统项目管理师-论文真题】2017上半年论文详解(包括解题思路和写作要点)
  • 二、windows环境下vscode使用wsl教程
  • 2019陕西ICPC-Grid with Arrows
  • Webpack常见的loader有哪些?
  • uniapp 微信小程序 均分数据展示
  • 递归:原理、应用与最佳实践
  • Android显示系统(13)- 向SurfaceFlinger提交Buffer
  • golang 使用gzip对json例子
  • 使用LSTM神经网络对股票日线行情进行回归训练(Pytorch版)
  • SpringBoot3-整合WebSocket指南