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

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.lqws.cn/news/136549.html

相关文章:

  • 图片压缩工具 | 图片生成PDF文档
  • AReaL-boba²:开源异步强化学习训练系统的革命性突破
  • [Java 基础]Java 中的关键字
  • Python学习(6) ----- Python2和Python3的区别
  • 解决com.jcraft.jsch.JSchException: Algorithm negotiation fail
  • MYSQL之表的内连和外连
  • Hadoop企业级高可用与自愈机制源码深度剖析
  • 《人性的弱点》核心总结
  • 录制mp4
  • RAG技术解析:实现高精度大语言模型知识增强
  • promethues上监控K3S中的pod的状态
  • [AI Claude] 软件测试2
  • 互斥锁与消息队列的架构哲学
  • 网络攻防技术十三:网络防火墙
  • docker的基本命令
  • (四)docker命令—容器管理命令
  • SOC-ESP32S3部分​​​​​​​:29-乐鑫组件库的使用
  • 6个月Python学习计划 Day 14 - 异常处理基础( 补充学习)
  • Kafka broker 写消息的过程
  • UE 材质基础第三天
  • 细说C语言将格式化输出到字符串的函数sprintf、_sprintf_l、swprintf、_swprintf_l、__swprintf_l
  • MP4文件声音与视频分离
  • 网络寻路--图论
  • C语言数据结构笔记3:Union联合体+结构体取8位Bool量
  • 嵌入式常见 CPU 架构
  • 传输层协议 UDP 介绍 -- UDP 协议格式,UDP 的特点,UDP 的缓冲区
  • 激光干涉仪:解锁协作机器人DD马达的精度密码
  • [Java 基础]类,面向对象的蓝图
  • ABP-Book Store Application中文讲解 - Part 9: Authors: User Interface
  • AWS中国区IAM相关凭证自行管理策略(只读CodeCommit版)