CSS3有哪些新特性

CSS3 引入了许多新特性,以增强样式设计和页面布局的能力,提供更多的视觉效果和交互性。以下是一些 CSS3 中的新特性:

  1. 圆角边框(Border Radius):圆角的边框,而不是传统的方形边框。
css 复制代码
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      .element {
        width: 100px;
        height: 100px;
        margin: 40px 0;
        background: greenyellow;
        /* // 直径为100px 的圆形 */
        border-radius: 50%;
      }
      .element1 {
        width: 200px;
        height: 50px;
        background: red;
        border-radius: 6px;
      }
    </style>
  </head>
  <body>
    <div class="element"></div>
    <div class="element1"></div>
  </body>
</html>

效果如下:

  1. 阴影(Box Shadow):元素添加投影效果,使元素看起来浮在页面上。
css 复制代码
// 取值含义
// box-shadow: [水平偏移] [垂直偏移] [模糊半径] [阴影尺寸] [颜色] [内外阴影];
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      .element {
        width: 200px;
        height: 50px;
        margin: 40px 0;
        background: greenyellow;
        box-shadow: 0 -5px 0 5px red inset; 
        /* 创建一个向上偏移的红色内部阴影,模糊半径为 0,阴影尺寸为 5 像素,颜色为红色:*/
      }
      .element1 {
        width: 200px;
        height: 50px;
        background: rgb(207, 98, 180);
        box-shadow: 5px 5px 10px gray; 
        /* 创建一个向右下方偏移的灰色阴影,模糊半径为 10 像素,颜色为灰色:*/
      }
    </style>
  </head>
  <body>
    <div class="element"></div>
    <div class="element1"></div>
  </body>
</html>

效果如下:

  1. 渐变背景(Gradient Backgrounds):可以使用线性渐变或径向渐变来创建复杂的背景效果。
css 复制代码
.element {
 width: 200px;
 height: 50px;
 background: goldenrod;
 background: linear-gradient(to right, #ffcc00, #ff6600);
}

效果如下:

  1. 多列布局(Multi-column Layout):使文本内容可以在多个列中显示,以改善页面布局。
html 复制代码
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      .column-container {
        column-count: 3;
        column-gap: 20px;
        background-color: #f5f5f5;
        border: 1px solid #ddd;
        padding: 10px;
      }
    </style>
  </head>
  <body>
    <div class="column-container">
      <p>第一列的内容...</p>
      <p>第二列的内容...</p>
      <p>第三列的内容...</p>
      <!-- 更多文本内容 -->
    </div>
  </body>
</html>

效果如下:

  1. 媒体查询(Media Queries):可以根据不同的屏幕尺寸和设备特性来应用不同的样式。响应式常用的方法
css 复制代码
@media screen and (max-width: 600px) {
  /* 在小屏幕下应用的样式 */
}
  1. 2D 转换(2D Transforms):可以对元素进行旋转、缩放、平移和倾斜等变换操作。
css 复制代码
.element {
  transform: rotate(45deg) scale(1.5);
}
  1. 3D 转换(3D Transforms):元素在三维空间中进行变换,创建更立体的效果。
css 复制代码
.element {
width: 200px;
height: 50px;
background: goldenrod;
transform: translate3d(50px, 20px, 30px) rotate3d(1, 1, 0, 45deg);
}

效果如下:

  1. 过渡(Transitions):允许你在元素状态之间创建平滑的过渡效果,例如鼠标悬停时改变颜色或大小。
css 复制代码
.element {
  transition: all 0.3s ease-in-out;
}
.element:hover {
  transform: scale(1.2);
}
  1. 动画(Animations) :可以创建复杂的动画效果,通过 @keyframes 规则定义动画序列。
css 复制代码
@keyframes slide {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(100px);
  }
}

.element {
  animation: slide 2s ease-in-out infinite;
}
  1. 自定义字体(Web Fonts) :使用 @font-face 规则,可以引入自定义字体,以实现更多字体选择。
css 复制代码
@font-face {
  font-family: 'MyFont';
  src: url('myfont.woff') format('woff');
}

.element {
  font-family: 'MyFont', sans-serif;
}
  1. 弹性盒子布局(Flexbox):提供了一种更直观的方式来布局元素,特别适用于创建响应式设计和复杂的布局结构。
css 复制代码
.container {
  display: flex;
  justify-content: center;
  align-items: center;
}
  1. 网格布局(Grid Layout):允许你创建多行和多列的网格布局,以更精确地控制页面布局。
css 复制代码
.container {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
  grid-gap: 10px;
}
  1. 过滤效果(Filter Effects) :可以通过 filter 属性为元素应用滤镜效果,如模糊、饱和度、对比度等。
css 复制代码
.element {
  filter: blur(5px);
}
  1. 混合模式(Blend Modes) :通过 mix-blend-mode 属性可以控制元素与其背景之间的混合模式,创建各种视觉效果。
css 复制代码
.element {
  mix-blend-mode: overlay;
}
  1. 自定义属性(Custom Properties):允许你创建自定义的 CSS 变量,以便在整个样式表中共享和重复使用值。
css 复制代码
:root {
  --main-color: #3498db;
}

.element {
  background-color: var(--main-color);
}
  1. 多列文本(Multicolumn Text) :使用 column-countcolumn-gap 等属性,可以将文本内容分成多列。
css 复制代码
.element {
  column-count: 2;
  column-gap: 20px;
}

17. **背景图像大小(Background Image Size)**:可以通过 `background-size` 属性控制背景图像的尺寸,以适应元素大小。

```css
.element {
  background-image: url('image.jpg');
  background-size: cover;
}
  1. 用户界面控件伪类(UI Pseudo-classes) :包括 :checked:disabled:focus 等伪类,用于根据用户界面控件的状态应用样式。
css 复制代码
input:checked + label {
  font-weight: bold;
}
  1. 变量字体(Variable Fonts):使用变量字体,可以在单一字体文件中包含多个字体样式,如粗体、斜体等,以减少字体文件的加载。
css 复制代码
.element {
  font-family: 'MyVariableFont', sans-serif;
  font-variation-settings: 'wght' 600, 'ital' 1;
}
  1. 伪元素(Pseudo-elements) :包括 ::before::after 等伪元素,允许你在元素的内容之前或之后插入内容。
css 复制代码
.element::before {
  content: '>';
}

.element::after {
  content: '<';
}
  1. 对象适应性(Object Fit):用于调整图像或视频等替换元素的大小和位置以适应容器。
css 复制代码
img {
  object-fit: cover;
}
  1. 文字换行(Word Break):控制文本的自动换行方式,以处理不同语言和文本内容的换行需求。
css 复制代码
.element {
  word-break: break-all;
}
  1. 柔性文本溢出(Text Overflow):用于处理文本内容溢出容器时的显示方式,如省略号表示截断。
css 复制代码
.element {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
  1. 定位(Positioning) :使用 positionz-index 属性,可以更精确地控制元素的定位和层叠顺序。
css 复制代码
.element {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
  1. 自适应大小(Viewport Units) :使用相对于视口大小的单位,如 vw(视口宽度)和 vh(视口高度),来创建响应式设计。
css 复制代码
.element {
  width: 50vw;
  height: 50vh;
}

以上只是总结的部分新特性

相关推荐
2401_882727571 小时前
低代码配置式组态软件-BY组态
前端·后端·物联网·低代码·前端框架
NoneCoder2 小时前
CSS系列(36)-- Containment详解
前端·css
anyup_前端梦工厂2 小时前
初始 ShellJS:一个 Node.js 命令行工具集合
前端·javascript·node.js
5hand2 小时前
Element-ui的使用教程 基于HBuilder X
前端·javascript·vue.js·elementui
GDAL2 小时前
vue3入门教程:ref能否完全替代reactive?
前端·javascript·vue.js
六卿2 小时前
react防止页面崩溃
前端·react.js·前端框架
z千鑫3 小时前
【前端】详解前端三大主流框架:React、Vue与Angular的比较与选择
前端·vue.js·react.js
m0_748256143 小时前
前端 MYTED单篇TED词汇学习功能优化
前端·学习
小白学前端6664 小时前
React Router 深入指南:从入门到进阶
前端·react.js·react
web130933203984 小时前
前端下载后端文件流,文件可以下载,但是打不开,显示“文件已损坏”的问题分析与解决方案
前端