Tailwind CSS 实战

h5打开以查看

1. 快速开始

安装 Tailwind

复制代码
# 通过 npm 安装
npm install -D tailwindcss
npx tailwindcss init

# 或使用 CDN (开发环境)
<link href="https://cdn.tailwindcss.com" rel="stylesheet">

基础配置

javascript

复制代码
// tailwind.config.js
module.exports = {
  content: ["./src/**/*.{html,js}"],
  theme: {
    extend: {},
  },
  plugins: [],
}

2. 核心概念实战

响应式设计

html

复制代码
<!-- 移动端优先的响应式设计 -->
<div class="w-full md:w-1/2 lg:w-1/3 xl:w-1/4">
  <h1 class="text-lg sm:text-xl md:text-2xl">响应式标题</h1>
  <p class="text-sm md:text-base">内容文本</p>
</div>

布局实战

html

复制代码
<!-- Flexbox 布局 -->
<div class="flex flex-col md:flex-row gap-4 p-6">
  <div class="flex-1 bg-blue-500 p-4 rounded-lg">侧边栏</div>
  <div class="flex-3 bg-white p-4 shadow rounded-lg">主内容</div>
</div>

<!-- Grid 布局 -->
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
  <div class="bg-gray-100 p-4 rounded">卡片 1</div>
  <div class="bg-gray-100 p-4 rounded">卡片 2</div>
  <div class="bg-gray-100 p-4 rounded">卡片 3</div>
</div>

3. 组件实战案例

导航栏组件

html

复制代码
<nav class="bg-white shadow-lg sticky top-0">
  <div class="max-w-7xl mx-auto px-4">
    <div class="flex justify-between items-center py-4">
      <!-- Logo -->
      <div class="flex items-center">
        <h1 class="text-2xl font-bold text-blue-600">Logo</h1>
      </div>
      
      <!-- 导航链接 -->
      <div class="hidden md:flex space-x-8">
        <a href="#" class="text-gray-700 hover:text-blue-600 transition">首页</a>
        <a href="#" class="text-gray-700 hover:text-blue-600 transition">产品</a>
        <a href="#" class="text-gray-700 hover:text-blue-600 transition">关于</a>
      </div>
      
      <!-- 移动端菜单按钮 -->
      <button class="md:hidden">
        <svg class="w-6 h-6">...</svg>
      </button>
    </div>
  </div>
</nav>

卡片组件

html

复制代码
<div class="max-w-sm mx-auto bg-white rounded-xl shadow-md overflow-hidden">
  <img class="w-full h-48 object-cover" src="image.jpg" alt="卡片图片">
  <div class="p-6">
    <h3 class="text-xl font-bold text-gray-900 mb-2">卡片标题</h3>
    <p class="text-gray-600 mb-4">这是一个漂亮的卡片组件,使用 Tailwind CSS 构建。</p>
    <div class="flex justify-between items-center">
      <span class="text-2xl font-bold text-blue-600">$99</span>
      <button class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded transition">
        立即购买
      </button>
    </div>
  </div>
</div>

表单组件

html

复制代码
<form class="max-w-md mx-auto bg-white p-6 rounded-lg shadow">
  <div class="mb-4">
    <label class="block text-gray-700 text-sm font-bold mb-2">用户名</label>
    <input type="text" 
           class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent"
           placeholder="请输入用户名">
  </div>
  
  <div class="mb-6">
    <label class="block text-gray-700 text-sm font-bold mb-2">密码</label>
    <input type="password"
           class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent"
           placeholder="请输入密码">
  </div>
  
  <button class="w-full bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded focus:outline-none focus:shadow-outline transition">
    登录
  </button>
</form>

4. 高级技巧

自定义配置

javascript

复制代码
// tailwind.config.js
module.exports = {
  theme: {
    extend: {
      colors: {
        'brand': {
          100: '#f0f9ff',
          500: '#0ea5e9',
          900: '#0c4a6e',
        }
      },
      spacing: {
        '128': '32rem',
      }
    },
  },
}

使用自定义颜色

html

复制代码
<button class="bg-brand-500 hover:bg-brand-700 text-white py-2 px-4 rounded">
  品牌按钮
</button>

动画和交互

html

复制代码
<!-- Hover 效果 -->
<button class="transform hover:scale-105 transition duration-300 bg-gradient-to-r from-blue-500 to-purple-600 text-white py-3 px-6 rounded-lg shadow-lg hover:shadow-xl">
  悬停效果
</button>

<!-- 加载动画 -->
<div class="flex space-x-2">
  <div class="w-4 h-4 bg-blue-500 rounded-full animate-bounce"></div>
  <div class="w-4 h-4 bg-blue-500 rounded-full animate-bounce delay-100"></div>
  <div class="w-4 h-4 bg-blue-500 rounded-full animate-bounce delay-200"></div>
</div>

5. 实用工具类

常用组合

html

复制代码
<!-- 文字截断 -->
<p class="truncate">这是一段很长的文本,会被截断显示...</p>

<!-- 渐变背景 -->
<div class="bg-gradient-to-br from-purple-400 via-pink-500 to-red-500"></div>

<!-- 暗黑模式支持 -->
<div class="bg-white dark:bg-gray-800 text-gray-900 dark:text-white">
  暗黑模式内容
</div>

<!-- 自定义响应式 -->
<div class="w-[200px] h-[calc(100vh-4rem)] bg-[#1da1f2]">
  自定义值
</div>

6. 性能优化

PurgeCSS 配置

javascript

复制代码
// tailwind.config.js
module.exports = {
  content: [
    "./src/**/*.{html,js,jsx,ts,tsx,vue}",
    "./public/index.html"
  ],
  // 生产环境会自动移除未使用的样式
}

h5打开以查看

相关推荐
layman052844 分钟前
webpack5 css-loader:从基础到原理
前端·css·webpack
半桔1 小时前
【前端小站】CSS 样式美学:从基础语法到界面精筑的实战宝典
前端·css·html
AI老李1 小时前
PostCSS完全指南:功能/配置/插件/SourceMap/AST/插件开发/自定义语法
前端·javascript·postcss
_OP_CHEN1 小时前
【前端开发之CSS】(一)初识 CSS:网页化妆术的终极指南,新手也能轻松拿捏页面美化!
前端·css·html·网页开发·样式表·界面美化
啊哈一半醒1 小时前
CSS 主流布局
前端·css·css布局·标准流 浮动 定位·flex grid 响应式布局
PHP武器库1 小时前
ULUI:不止于按钮和菜单,一个专注于“业务组件”的纯 CSS 框架
前端·css
电商API_180079052471 小时前
第三方淘宝商品详情 API 全维度调用指南:从技术对接到生产落地
java·大数据·前端·数据库·人工智能·网络爬虫
晓晓莺歌1 小时前
vue3某一个路由切换,导致所有路由页面均变成空白页
前端·vue.js
Up九五小庞2 小时前
开源埋点分析平台 ClkLog 本地部署 + Web JS 埋点测试实战--九五小庞
前端·javascript·开源
qq_177767372 小时前
React Native鸿蒙跨平台数据使用监控应用技术,通过setInterval每5秒更新一次数据使用情况和套餐使用情况,模拟了真实应用中的数据监控场景
开发语言·前端·javascript·react native·react.js·ecmascript·harmonyos