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

Vue2 和 Vue3 常见 CSS 样式归纳总结

Vue2 和 Vue3 常见 CSS 样式归纳总结

一、基础样式设置方式

Vue2 & Vue3 通用方式

  1. 内联样式

    <div style="color: red; font-size: 16px;"></div>
    
  2. 对象语法

    <div :style="{ color: activeColor, fontSize: fontSize + 'px' }"></div>
    
  3. 数组语法

    <div :style="[baseStyles, overridingStyles]"></div>
    
  4. 单独的CSS文件

    <style scoped>
    .my-class { color: blue; }
    </style>
    

二、布局相关样式

1. Flex布局 (最常用)

.container {display: flex;justify-content: center; /* 主轴对齐方式 */align-items: center;    /* 交叉轴对齐方式 */flex-direction: row;    /* 主轴方向: row|row-reverse|column|column-reverse */flex-wrap: wrap;        /* 换行: nowrap|wrap|wrap-reverse */gap: 10px;             /* 子项间距 */
}

2. Grid布局

.container {display: grid;grid-template-columns: repeat(3, 1fr);grid-gap: 20px;
}

3. 定位

.position-example {position: relative; /* relative|absolute|fixed|sticky */top: 10px;left: 20px;z-index: 10;
}

Tips: 各个布局的区别以及示例

三、常用UI样式

1. 盒模型

.box {width: 100px;height: 100px;padding: 10px;margin: 15px;border: 1px solid #ddd;border-radius: 4px;box-sizing: border-box; /* content-box|border-box */box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

2. 文字样式

.text {font-size: 16px;font-weight: bold; /* normal|bold|100-900 */color: #333;line-height: 1.5;text-align: center; /* left|right|center|justify */text-decoration: none; /* underline|line-through|none */
}

3. 背景样式

.bg-example {background-color: #f5f5f5;background-image: url('image.png');background-size: cover; /* contain|cover|100% 100% */background-position: center;background-repeat: no-repeat;
}

四、交互样式

1. 悬停效果

.button {transition: all 0.3s ease;
}
.button:hover {transform: translateY(-2px);box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

2. 动画

@keyframes fadeIn {from { opacity: 0; }to { opacity: 1; }
}
.fade-in {animation: fadeIn 0.5s ease forwards;
}

3. 禁用状态

.button:disabled {opacity: 0.6;cursor: not-allowed;
}

五、Vue特有样式特性

1. Scoped CSS (Vue2 & Vue3)

<style scoped>
/* 只作用于当前组件 */
</style>

2. CSS Modules (Vue2 & Vue3)

<style module>
/* 生成唯一类名 */
</style>

3. Vue3特有特性

<style>/* 全局样式 */
</style><style scoped>/* 组件作用域样式 */
</style><style module>/* CSS模块 */
</style>

六、响应式样式

1. 媒体查询

@media (max-width: 768px) {.container {flex-direction: column;}
}

2. Vue响应式样式绑定

<template><div :class="{ 'active': isActive, 'error': hasError }"></div><div :style="{ fontSize: responsiveSize + 'px' }"></div>
</template>

七、实用工具类 (推荐使用Tailwind CSS等)

<div class="flex justify-between items-center p-4"></div>

总结建议

  1. Vue2/Vue3通用:基本CSS写法相同,主要区别在于样式作用域的实现方式
  2. 推荐组合
    • 布局:Flex/Grid
    • 间距:margin/padding/gap
    • 颜色:统一使用CSS变量定义主题色
    • 动画:transition简单动画,复杂动画用CSS keyframes
  3. 样式组织
    • 组件样式使用scoped
    • 全局样式单独管理
    • 常用工具类可提取为全局样式

掌握这些常用样式,可以覆盖Vue项目中90%的样式需求。

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

相关文章:

  • PyTorch——优化器(9)
  • 近几年字节飞书测开部分面试题整理
  • 【计网】SW、GBN、SR、TCP
  • 深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏
  • Linux——TCP和UDP
  • 6月14日开班,ESG 合规分析师招生通知
  • FreeRTOS,MicroPython,区别与联系
  • 新制作文件系统占满:Error writing to file - write (28: No space left on device)
  • 雷卯针对易百纳 海思Hi3519AV100开发板防雷防静电方案
  • 虚拟机无法开启-关掉虚拟化
  • ROS中的里程计与IMU的消息类型解读
  • 深入解析异步爬虫中的协程原理:从概念到工程实践
  • c++对imu的角速度积分得到表示旋转四元数
  • 半导体热电技术方案领跑者「富信」×企企通,构建采购数字化升级
  • 【操作系统】基础回顾(一)
  • 解决IDE编译JAVA项目时出现的OOM异常问题
  • LeetCode[513]找树左下角的值
  • C语言基础(11)【函数1】
  • FreeRTOS、Zephyr、RT-Thread,区别与联系
  • 第八部分:第一节 - 初识 React:构建交互式点餐界面骨架
  • 《射频识别(RFID)原理与应用》期末复习 RFID第一章 射频识别技术概论(知识点总结+习题巩固)
  • 2025年计算机科学与网络安全国际会议(CSNS 2025)
  • VSCode主题设计大赛解析与实践指南
  • win10打包的exe在win7运行不了
  • 【Linux】线程同步
  • 《AI角色扮演反诈技术解析:原理、架构与核心挑战》
  • UDP与TCP的区别是什么?
  • 第八部分:第三节 - 事件处理:响应顾客的操作
  • Nginx 文件目录结构总览
  • 10. MySQL索引