【CSS】CSS3 新特性

1. 选择器增强

CSS3 引入了更多的选择器,如属性选择器、伪类选择器等。

  • 属性选择器:允许你根据元素的属性或属性值来选择元素。

    css 复制代码
    input[type="text"] {
        border: 1px solid #ccc;
    }
  • 伪类选择器 :如 :nth-child():last-child 等,提供了更丰富的选择能力。

    css 复制代码
    li:nth-child(2) {
        font-weight: bold;
    }

2. 圆角(Border-radius)

border-radius 属性可以用来创建圆角边框。

css 复制代码
.box {
    border-radius: 10px;
}

3. 阴影和反射(Box-shadow 和 Text-shadow)

box-shadowtext-shadow 属性允许在元素上添加阴影效果。

css 复制代码
.box {
    box-shadow: 5px 5px 5px #888888;
}

.text {
    text-shadow: 2px 2px 2px #ccc;
}

5. 背景和边框的渐变(Linear-gradient 和 Radial-gradient)

CSS3 允许通过 linear-gradientradial-gradient 创建渐变背景。

css 复制代码
.gradient-background {
    background: linear-gradient(to right, #ff7e5f, #feb47b);
}

.circle-gradient {
    background: radial-gradient(circle, #ff7e5f, #feb47b);
}

6. 弹性盒子(Flexbox)

Flexbox 提供了一种更加高效的方式来布局、对齐和分配容器内项目的空间。

css 复制代码
.flex-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

7. 网格布局(Grid Layout)

CSS Grid Layout 是一种二维布局系统,允许你在水平和垂直方向上创建复杂的布局。

css 复制代码
.grid-container {
    display: grid;
    grid-template-columns: auto 1fr auto;
    grid-template-rows: 100px 200px;
}

8. 转换(Transforms)

transform 属性允许你对元素进行旋转、缩放、倾斜或移动。

css 复制代码
.rotated-element {
    transform: rotate(45deg);
}

9. 过渡(Transitions)

CSS3 过渡效果允许你平滑地在两个属性值之间进行动画过渡。

css 复制代码
.button {
    transition: background-color 0.5s ease;
}

.button:hover {
    background-color: #39f;
}

10. 动画(Animations)

CSS3 动画允许你创建复杂的动画效果,而无需使用 JavaScript。

css 复制代码
@keyframes slidein {
    from {
        margin-left: 100%;
        width: 300%;
    }
    to {
        margin-left: 0%;
        width: 100%;
    }
}

.slidein-element {
    animation: slidein 5s;
}

11. 媒体查询(Media Queries)

CSS3 增强了媒体查询的能力,允许你根据多种设备特性来应用样式。

css 复制代码
@media screen and (min-width: 600px) {
    .container {
        width: 50%;
    }
}
相关推荐
IT_陈寒4 分钟前
Vite静态资源加载把我坑惨了
前端·人工智能·后端
herinspace5 分钟前
管家婆实用贴-如何分离和附加数据库
开发语言·前端·javascript·数据库·语音识别
小码哥_常30 分钟前
从MVC到MVI:一文吃透架构模式进化史
前端
嗷o嗷o30 分钟前
Android BLE 的 notify 和 indicate 到底有什么区别
前端
豹哥学前端34 分钟前
别再背“var 提升,let/const 不提升”了:揭开暂时性死区的真实面目
前端·面试
lar_slw1 小时前
k8s部署前端项目
前端·容器·kubernetes
拉拉肥_King1 小时前
Ant Design Table 横向滚动条神秘消失?我是如何一步步找到真凶的
前端·javascript
hjt_未来可期1 小时前
修改浏览器滚动条
css
GreenTea1 小时前
DeepSeek-V4 技术报告深度分析:基础研究创新全景
前端·人工智能·后端
河阿里2 小时前
HTML5标准完全教学手册
前端·html·html5