CSS3中的新特性

... 2025-7-10 CSS 大约 5 分钟

# 边框

  • 圆角 border-radius
  • 阴影 box-shadow
  • 图片 border-image

# 背景

  • 图片 background-image
  • 尺寸 background-size
  • 定位 background-origin
  • 裁剪 background-clip

# 颜色

  • RGBA

  • 渐变 (线性:直线渐变,径向:圆形渐变)

    • line-gradient 线性渐变
    • repeating-linear-gradient 循环线性渐变
    • radial-gradient 径向渐变
    • repeating-radial-gradient 循环径向渐变

# 文本

  • 阴影 text-shadow
  • 换行 word-wrap

# 字体

  • 使用 @font-face 规则定义字体,指向字体的文件,
  • 使用 font-family 属性引用字体的名称。

# 转换

通过 Transform,我们能够对元素进行移动、缩放、转动、拉长或拉伸,转换是使元素改变形状、尺寸和位置的一种效果。

  • 移动 translate()、translateX()、translateY()
  • 旋转 rotate()、rotateX() 、rotateY()
  • 缩放 scale()、scaleX()、scaleY()
  • 倾斜 skew()、skewX()、skewY()
  • 矩阵 matrix()
  • 透视 perspective()

# 过渡

transition:为样式添加过渡效果

语法:transition : transition-property | transition-duration | transition-timing-function | transition-delay;

  • 属性名称 transition-property
  • 持续时间 transition-duration
  • 过渡方式 transition-timing-function
  • 延迟时间 transition-delay

# 动画

  • 通过@keyframes 规则来创建动画
    • 通过 from , to 关键字和百分比设置动画发生的时间
  • 通过 animation 属性设置动画
    • animation 是除了 animation-play-state 属性所有动画属性的简写属性。
    • 语法:animation : animation-name | animation-duration | animation-timing-function | animation-delay | animation-iteration-count | animation-direction

# 多列

通过 CSS3 够创建多个列来对文本进行布局,就像我们经常看到的报纸的布局一样。

  • columns: column-width column-count。
    • column-width: 规定列的宽度。
    • column-count: 属性规定元素应该被分隔的列数。
  • column-fill: 规定如何填充列。
  • column-gap: 属性规定列之间的间隔。
  • column-rule: 属性设置列之间的宽度、样式和颜色规则。
    • column-rule-width: 规定列之间规则的宽度。
    • column-rule-style: 规定列之间规则的样式。
    • column-rule-color: 规定列之间规则的颜色。
  • column-span: 规定元素应该横跨的列数。

# 用户界面

  • 调整元素尺寸 resize
    • none 无法调整
    • both 可调整宽高
    • horizontal 可调整水平方向(宽)
    • vertical 可调整垂直方向(高)
  • 设置盒模型 box-sizing
    • inherit 继承父元素
    • content-box 在宽高之外绘制元素的内边距和边框
    • border-box 边框和内边距都在已设定的宽高内绘制
  • 轮廓偏移量 outline-offset
  • 弹性布局 Flexbox

# 媒体查询

媒体查询

不同屏幕分辨率,应用不同的样式

@media mediaType and/not/only (mediaFeature) { CSS-Code }

如:

@media screen and (max-width: 800px) and (min-width: 400px) {
  /* CSS样式 */
}
1
2
3

# mediaType(设备类型)

  • all 适用于所有类型
  • print 适用于打印机和打印预览
  • screen 适用于电脑屏幕、平板电脑、智能手机等
  • speech 适用于屏幕阅读器

# 逻辑运算符

  • all

    适用于所有的设备类型;

  • and

    媒体查询中使用来连接多种媒体特性,一个媒体查询中可以包含 0 或多个表达式,表达式可以是 0 或多个关键字,以及一种媒体类型。

  • not

    用来排除某种设备。比如,排除打印设备 @media not print;

  • only

    用以指定某特定媒体设备。

    对于支持 Media Queries 的移动设备来说,如果存在 only 关键字,移动设备的 Web 浏览器会忽略 only 关键字并直接根据后面的表达式应用样式文件。

    对于不支持 Media Queries 的设备但能够读取 Media Type 类型的 Web 浏览器,遇到 only 关键字时会忽略这个样式文件。

@media not print and(max-width:200px) {
  /* 样式代码将被使用在除打印设备和设备宽度小于200px下所有设备中。 */
}
1
2
3

# mediaFeature 媒体特征

描述
aspect-ratio 定义输出设备中的页面可见区域宽度与高度的比率
color 定义输出设备每一组彩色原件的个数。如果不是彩色设备,则值等于 0
color-index 定义在输出设备的彩色查询表中的条目数。如果没有使用彩色查询表,则值等于 0
device-aspect-ratio 定义输出设备的屏幕可见宽度与高度的比率。
device-height 定义输出设备的屏幕可见高度。
device-width 定义输出设备的屏幕可见宽度。
grid 用来查询输出设备是否使用栅格或点阵。
height 定义输出设备中的页面可见区域高度。
max-aspect-ratio 定义输出设备的屏幕可见宽度与高度的最大比率。
max-color 定义输出设备每一组彩色原件的最大个数。
max-color-index 定义在输出设备的彩色查询表中的最大条目数。
max-device-aspect-ratio 定义输出设备的屏幕可见宽度与高度的最大比率。
max-device-height 定义输出设备的屏幕可见的最大高度。
max-device-width 定义输出设备的屏幕最大可见宽度。
max-height 定义输出设备中的页面最大可见区域高度。
max-monochrome 定义在一个单色框架缓冲区中每像素包含的最大单色原件个数。
max-resolution 定义设备的最大分辨率。
max-width 定义输出设备中的页面最大可见区域宽度。
min-aspect-ratio 定义输出设备中的页面可见区域宽度与高度的最小比率。
min-color 定义输出设备每一组彩色原件的最小个数。
min-color-index 定义在输出设备的彩色查询表中的最小条目数。
min-device-aspect-ratio 定义输出设备的屏幕可见宽度与高度的最小比率。
min-device-width 定义输出设备的屏幕最小可见宽度。
min-device-height 定义输出设备的屏幕的最小可见高度。
min-height 定义输出设备中的页面最小可见区域高度。
min-monochrome 定义在一个单色框架缓冲区中每像素包含的最小单色原件个数
min-resolution 定义设备的最小分辨率。
min-width 定义输出设备中的页面最小可见区域宽度。
monochrome 定义在一个单色框架缓冲区中每像素包含的单色原件个数。如果不是单色设备,则值等于 0
orientation 定义输出设备中的页面可见区域高度是否大于或等于宽度。
resolution 定义设备的分辨率。如:96dpi, 300dpi, 118dpcm
scan 定义电视类设备的扫描工序。
width 定义输出设备中的页面可见区域宽度。

# 参考

@media 媒体查询 (opens new window)

上次编辑于: 2025年7月10日 04:01
贡献者: HugStars