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

CSS3 常用功能详细使用指南

  1. 选择器增强
    属性选择器
    css
    /* 以"btn-"开头的属性 */
    [class^=“btn-”] {
    background: #3498db;
    }

/* 以"-primary"结尾的类 */
[class$=“-primary”] {
color: white;
}

/* 包含"active"的类 /
[class
=“active”] {
font-weight: bold;
}
效果:精确选择具有特定属性模式的元素

结构伪类选择器
css
/* 第3个子元素 */
li:nth-child(3) {
color: red;
}

/* 奇数行 */
tr:nth-child(odd) {
background: #f2f2f2;
}

/* 倒数第2个子元素 */
div:nth-last-child(2) {
border-bottom: 1px solid #ddd;
}

/* 不是.first类的元素 */
div:not(.first) {
opacity: 0.8;
}
效果:基于元素位置或特征进行精确样式控制

  1. 边框与背景
    圆角边框
    css
    .box {
    border-radius: 10px; /* 统一圆角 /
    border-radius: 5px 10px 15px 20px; /
    分别设置四个角 /
    border-radius: 50%; /
    圆形 */
    }
    效果:创建圆角或完全圆形元素

盒子阴影
css
.card {
box-shadow: 2px 2px 5px rgba(0,0,0,0.3);
/* 水平偏移 垂直偏移 模糊半径 颜色 */

/* 内阴影 */
box-shadow: inset 0 0 10px #000;

/* 多重阴影 */
box-shadow: 0 0 5px #999, 0 0 10px #777;
}
效果:添加深度感和立体效果

多重背景
css
.hero {
background:
url(‘top-image.png’) top left no-repeat,
url(‘bottom-image.png’) bottom right no-repeat,
linear-gradient(to bottom, #1e5799, #2989d8);
background-size: 200px, 300px, cover;
}
效果:在一个元素上叠加多个背景图像和渐变

  1. 渐变效果
    线性渐变
    css
    .gradient-bg {
    background: linear-gradient(to right, #ff9966, #ff5e62);

/* 多色渐变 */
background: linear-gradient(to bottom, red, yellow, green);

/* 角度渐变 */
background: linear-gradient(45deg, #3a7bd5, #00d2ff);
}
径向渐变
css
.circle {
background: radial-gradient(circle, #f5f7fa, #c3cfe2);

/* 椭圆形渐变 */
background: radial-gradient(ellipse at center, #a1c4fd, #c2e9fb);
}
效果:创建平滑的颜色过渡,替代图片背景

  1. 过渡效果
    css
    .button {
    background: #3498db;
    transition: all 0.3s ease;

/* 分开指定属性 */
transition:
background 0.3s ease,
transform 0.2s ease-out;
}

.button:hover {
background: #2980b9;
transform: scale(1.05);
}
效果:鼠标悬停时平滑过渡到新状态

  1. 动画效果
    css
    @keyframes bounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-20px); }
    }

.ball {
animation: bounce 1s infinite;

/* 分开指定属性 */
animation-name: bounce;
animation-duration: 1s;
animation-timing-function: ease;
animation-iteration-count: infinite;
animation-delay: 0.5s;
animation-direction: alternate;
}
效果:创建复杂的动画序列

  1. 2D/3D 转换
    2D 转换
    css
    .transform-box {
    transform: translate(50px, 100px); /* 移动 /
    transform: rotate(30deg); /
    旋转 /
    transform: scale(1.5); /
    缩放 /
    transform: skew(20deg, 10deg); /
    倾斜 */

/* 组合变换 /
transform: translateX(50px) rotate(45deg) scale(1.2);
}
3D 转换
css
.container {
perspective: 1000px; /
3D透视 */
}

.card {
transform-style: preserve-3d;
transition: transform 1s;
transform: rotateY(180deg);
}
效果:创建复杂的视觉变换和3D效果

  1. 弹性盒子布局 (Flexbox)
    css
    .container {
    display: flex;
    flex-direction: row; /* 或 column /
    justify-content: center; /
    主轴对齐 /
    align-items: center; /
    交叉轴对齐 */
    flex-wrap: wrap;
    }

.item {
flex: 1; /* 弹性项目 /
align-self: flex-start; /
单个项目对齐 /
order: 2; /
显示顺序 */
}
效果:创建灵活的一维布局,轻松实现各种对齐方式

  1. 网格布局 (Grid)
    css
    .container {
    display: grid;
    grid-template-columns: 1fr 2fr 1fr;
    grid-template-rows: 100px auto 50px;
    gap: 10px;

/* 区域布局 */
grid-template-areas:
“header header header”
“sidebar main aside”
“footer footer footer”;
}

.header { grid-area: header; }
.main { grid-area: main; }
效果:创建复杂的二维布局系统

  1. 响应式设计 (媒体查询)
    css
    /* 默认样式 */
    .container {
    width: 100%;
    }

/* 平板设备 */
@media (min-width: 768px) {
.container {
width: 750px;
}
}

/* 桌面设备 */
@media (min-width: 992px) {
.container {
width: 970px;
}
}

/* 大屏幕 */
@media (min-width: 1200px) {
.container {
width: 1170px;
}
}
效果:根据不同屏幕尺寸应用不同样式

  1. CSS 变量
    css
    :root {
    –primary-color: #3498db;
    –secondary-color: #2980b9;
    –spacing: 16px;
    }

.element {
color: var(–primary-color);
margin: var(–spacing);

/* 默认值 */
padding: var(–spacing, 10px);
}
效果:集中管理样式值,便于主题切换和维护

  1. 滤镜效果
    css
    .image {
    filter: blur(2px); /* 模糊 /
    filter: brightness(150%); /
    亮度 /
    filter: contrast(200%); /
    对比度 /
    filter: grayscale(80%); /
    灰度 /
    filter: sepia(100%); /
    褐色 /
    filter: hue-rotate(90deg); /
    色相旋转 */

/* 组合滤镜 */
filter: brightness(1.2) contrast(0.8) saturate(1.5);
}
效果:实时图像处理,无需编辑原图

  1. 裁剪与形状
    css
    .circle {
    clip-path: circle(50% at 50% 50%);
    }

.polygon {
clip-path: polygon(0 0, 100% 0, 100% 75%, 0 100%);
}

.text-wrap {
shape-outside: circle(50%);
float: left;
width: 200px;
height: 200px;
}
效果:创建非矩形元素和文字环绕效果

http://www.xdnf.cn/news/12882.html

相关文章:

  • App Trace技术解析:传参安装、一键拉起与快速安装
  • 【Linux】Linux安装并配置RabbitMQ
  • Maven 多仓库治理与发布策略深度实践
  • Kubernetes 网络模型深度解析:Pod IP 与 Service 的负载均衡机制,Service到底是什么?
  • 大模型的LoRa通讯详解与实现教程
  • 时序数据库IoTDB在工业物联网时序数据管理中的应用
  • Ray框架:分布式AI训练与调参实践
  • WEB3全栈开发——面试专业技能点P4数据库
  • 数据结构-文件
  • Unity3D SM节点式动画技能编辑器实现
  • AIGC(AI Generated Content)测试结合自动化工具与人工评估
  • 在 Windows 11 上创建新本地用户账户
  • C++ 设计模式 《爬虫围城危机:小明用代理模式自救》
  • 代码随想录算法训练营第十一天| 150. 逆波兰表达式求值、239. 滑动窗口最大值、347.前 K 个高频元素
  • Gartner 人力优化策略分析报告学习心得
  • SEO长尾关键词增效策略
  • 大模型面试题:大模型训练过程中如何估计显卡利用率?
  • 【ESP32】ESP-IDF开发 | 低功耗蓝牙开发 | 蓝牙空中串口 + 服务端和客户端例程
  • LlamaIndex 工作流 分支和循环
  • AI是如何换装的?
  • 三维图形、地理空间、激光点云渲染技术术语解析笔记
  • 压缩机PCB Layout注意事项
  • Java并发编程-理论基础
  • Context API 应用与局限性
  • 非Root用户启动SSH服务经验小结
  • (四)Linux性能优化-CPU-软中断
  • 数据类型 -- 字符串
  • python3GUI--基于PyQt5+DeepSort+YOLOv8智能人员入侵检测系统(详细图文介绍)
  • 【razor】x264 在 的intra-refresh和IDR插帧
  • Visual Studio 2022打包程序流程