了解前端技术

探索 CSS3 和 JavaScript 的最新特性

技术特性展示

CSS Grid 布局

.grid-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    padding: 20px;
}

.grid-item {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-radius: 12px;
    padding: 20px;
    color: white;
    transition: transform 0.3s ease;
}

.grid-item:hover {
    transform: translateY(-5px);
}

实际效果

项目 1
项目 2
项目 3
项目 4

CSS 变量 + 动画

:root {
    --primary-color: #3498db;
    --secondary-color: #e74c3c;
    --animation-duration: 2s;
}

.animated-card {
    background: var(--primary-color);
    animation: pulse var(--animation-duration) infinite;
    border-radius: 15px;
    padding: 30px;
    color: white;
}

@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.05); }
    100% { transform: scale(1); }
}

实际效果

这是一个带动画效果的卡片

Flexbox 响应式布局

.flex-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
}

.flex-item {
    flex: 1 1 150px;
    min-height: 100px;
    background: linear-gradient(45deg, #ff6b6b, #4ecdc4);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: 500;
}

实际效果

Flex 1
Flex 2
Flex 3

JavaScript 交互效果

// 粒子效果
class Particle {
    constructor(x, y) {
        this.x = x;
        this.y = y;
        this.vx = Math.random() * 4 - 2;
        this.vy = Math.random() * 4 - 2;
        this.life = 1;
    }
    
    update() {
        this.x += this.vx;
        this.y += this.vy;
        this.life -= 0.02;
    }
    
    draw(ctx) {
        ctx.globalAlpha = this.life;
        ctx.fillStyle = '#3498db';
        ctx.beginPath();
        ctx.arc(this.x, this.y, 3, 0, Math.PI * 2);
        ctx.fill();
    }
}

实际效果

现代 CSS 特性

.modern-card {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-radius: 20px;
    backdrop-filter: blur(10px);
    box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.37);
    padding: 25px;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.modern-card:hover {
    transform: translateY(-10px) scale(1.02);
    box-shadow: 0 15px 40px 0 rgba(31, 38, 135, 0.5);
}

.glass-effect {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

实际效果

玻璃态效果卡片

这是一个使用了 backdrop-filter 和现代 CSS 特性的卡片

毛玻璃效果区域