- CSS 教程
- CSS - 教程
- CSS - 简介
- CSS - 语法
- CSS - 选择器
- CSS - 包含
- CSS - 度量单位
- CSS - 颜色
- CSS - 背景
- CSS - 字体
- CSS - 文本
- CSS - 图像
- CSS - 链接
- CSS - 表格
- CSS - 边框
- CSS - border-block 属性
- CSS - 边框内联
- CSS - 边距
- CSS - 列表
- CSS - Padding 属性
- CSS - 光标
- CSS - 轮廓
- CSS - 维度
- CSS - 滚动条
- CSS - 内联块
- CSS - 下拉列表
- CSS - visibility 属性
- CSS - Overflow 属性
- CSS - 清除修复
- CSS - float(浮点)
- CSS - 箭头
- CSS - resize 属性
- CSS - quotes 属性
- CSS - order 属性
- CSS - Position 属性
- CSS - hypens 属性
- CSS - :hover(悬停)
- CSS - display(显示)
- CSS - focus 属性
- CSS - zoom(缩放)
- CSS - translate 属性
- CSS - Height 属性
- CSS - hyphenate-character 属性
- CSS - Width 属性
- CSS - opacity 属性
- CSS - z-index 属性
- CSS - bottom 属性
- CSS - 导航栏
- CSS - 覆盖
- CSS - 表单
- CSS - 对齐
- CSS - 图标
- CSS - 图片库
- CSS - 注释
- CSS - 加载器
- CSS - Atrribute 选择器属性
- CSS - 运算器
- CSS - root
- CSS - 盒子模型
- CSS - 计数器
- CSS - Clip (Obsolete) 属性
- CSS - writing-mode 属性
- CSS - Unicode-bidi 属性
- CSS - min-content 属性
- CSS - 全部
- CSS - inset 属性
- CSS - isolation 属性
- CSS - overscroll-behavior 属性
- CSS - justify-items 属性
- CSS - justify-self 属性
- CSS - tab-size 属性
- CSS - pointer-event 属性
- CSS - place-content 属性
- CSS - place-items 属性
- CSS - place-self 属性
- CSS - max-block-size 属性
- CSS - min-block-size 属性
- CSS - mix-blend-mode 属性
- CSS - max-inline-size 属性
- CSS - min-inline-size 属性
- CSS - offset 属性
- CSS - accent-color 属性
- CSS - user-select 属性
- CSS 高级
- CSS - grid 属性
- CSS - Grid 布局
- CSS - flexbox
- CSS - vertical-align 属性
- css - positioning
- css - layers
- css - pseudo_classes
- CSS - 伪元素
- CSS - @ 规则
- CSS 滤镜 - text-effect 属性
- CSS 分页媒体
- CSS 打印
- CSS - 布局
- CSS - 验证
- CSS - 图像精灵
- CSS - !important
- CSS - 数据类型
- CSS3 教程
- CSS - 圆角
- CSS - 边框图像
- CSS - 多种背景
- CSS - 渐变
- CSS - box-shadow 属性
- CSS - box-decoration-break 属性
- CSS - caret-color 属性
- CSS - text-shadow 属性
- CSS - 2D 转换
- CSS - 3D 变换
- CSS - transition 属性
- CSS - 动画
- CSS - 多列布局
- CSS - 盒子大小调整
- CSS - 工具提示
- CSS - buttons
- CSS - 分页
- CSS - 变量
- CSS - 媒体查询
- CSS - 值函数
- CSS - 数学函数
- CSS - Mask 属性
- CSS - shape-outside 属性
- CSS - 样式图像
- CSS - 特异性
- CSS - 自定义属性
- CSS 响应式
- CSS - 响应式网页设计 (RWD)
- CSS - 响应式设计视口
- CSS - 响应式网格视图
- CSS - 响应式媒体查询
- CSS - 响应式图像
- CSS - 响应式视频
- CSS - 响应式框架
- CSS 引用
- CSS - 所有属性列表
- CSS - 颜色引用
- CSS - 浏览器支持参考
- CSS - 网页字体
- CSS 工具
- CSS - PX 到 EM 的转换
CSS 数据类型 - image
CSS 数据类型 <image>表示二维图像。
数据类型 <image> 可以由以下任何值表示:
- 由 url() 数据类型定义的图像
- <gradient> 数据类型
- 网页的一部分,由 element() 函数定义
- 由 image() 函数定义的图像、图像片段或实心色块
- 由 cross-fade() 函数定义的两个或多个图像的混合。
- 根据 image-set() 函数定义的分辨率选择的图像选择
语法
<image> = <url> | <image-list> | <element-reference> | <gradient></gradient>
CSS可以处理以下类型的图像:
- 具有固有尺寸的所有图像,即具有自然大小的图像,例如 JPEG、PNG 或其他光栅格式的图像。
- 具有多个内在维度的所有图像,在单个文件中以多个版本存在
- 所有没有内在尺寸,但其宽度和高度之间具有固有纵横比的图像,例如 SVG 或其他矢量格式的图像。
- 既没有固有尺寸,也没有固有纵横比(如 CSS 渐变)的所有图像。
对象的 concreate 大小是通过以下方法确定的:
- 内在维度
- 指定大小,由 CSS 属性(如 width、height 或 background-size)定义
- 默认大小,由图像使用的属性类型确定。
下表显示了基于 CSS 属性的图像类型:
对象的种类(CSS 属性) | 默认对象大小 |
---|---|
background-image | 元素背景定位区域的大小 |
list-style-image | 1em 字符的大小 |
border-image-source | 元素的边框图像区域的大小 |
cursor | 浏览器定义的大小与客户端系统上通常的光标大小匹配 |
mask-image | 用作蒙版层的图像。 |
shape-outside | 定义一个形状,该形状与内联内容包装相邻 |
mask-border-source | 设置图像以创建元素的蒙版边框 |
symbols() for @counter-style | 如果支持,浏览器定义的大小将与客户端系统上通常的光标大小匹配。 |
content for pseudo-element (::after / ::before) | 300px × 150px 矩形 |
CSS <image> - 计算图像大小
图像的具体尺寸是根据以下算法定义或计算的:
- 当指定的大小定义宽度和高度时,这些值在确定对象的具体大小时很有用。
- 当指定的大小仅定义宽度或仅定义高度时,如果可用,则使用固有比率确定缺失的值;如果指定值匹配,则为固有尺寸,或该缺失值的对象的默认大小。
- 当指定的大小既不定义宽度也不定义高度时,将测量对象的大小,使其与图像的固有纵横比匹配,而不会在任何维度上超过大小。如果图像没有固有的纵横比,则使用它所适用的对象的固有纵横比。例如,如果对象也没有固有的纵横比,则从默认对象大小时取缺失的宽度或高度。
可访问性问题:
浏览器不会在背景图像上向辅助技术提供任何特殊信息。
这在屏幕阅读器的情况下很重要,因为屏幕阅读器不会宣布任何关于背景图像的存在,因此不会传达任何关于它们的信息。
如果图像包含一些用于理解整个页面的关键信息,它将被遗漏。
因此,建议在文档中对重要信息进行语义描述。
浏览器不会在背景图像上向辅助技术提供任何特殊信息。
这在屏幕阅读器的情况下很重要,因为屏幕阅读器不会宣布任何关于背景图像的存在,因此不会传达任何关于它们的信息。
如果图像包含一些用于理解整个页面的关键信息,它将被遗漏。
因此,建议在文档中对重要信息进行语义描述。
<image> = <url> | <gradient>
/* Valid images */
url(sample.jpg) /* A <url>, as long as sample.jpg is an actual image. */
linear-gradient(red, yellow) /* A <gradient> */
element(#realid) /* A part of the webpage, referenced with the element() function,
if "realid" is an existing ID on the page. */
cross-fade(20% url(test.png), url(test1.png)) /* cross faded images, with test being 20% opaque
and test1 being 80% opaque. */
image-set('test.jpg' 1x, 'test-2x.jpg' 2x) /* A selection of images with varying resolutions. */
/*Invalid images */
sample.jpg /* An image file must be defined using url() function. */
url(test.pdf) /* A file pointed by the url() function must be an image. */
element(#fakeid) /* An element ID must be an existing ID on the page. */
image(z.jpg#xy=0,0) /* The spatial fragment must be written in the format of xywh=#,#,#,# */
image-set('test1.jpg' 1x, 'test2.jpg' 1x) /* every image in an image set must have a different resolutions */
CSS <image> - 与 url() 一起使用
以下示例演示如何使用 <image> 数据类型通过 url() 函数定义图像。图像通过 CSS 属性 background-image 用作背景:
<html>
<head>
<style>
div {
background-image: url(images/border.png);
width: 200px;
height: 200px;
border: 3px solid black;
}
</style>
</head>
<body>
<div></div>
</body>
</html>
在上面的示例中,使用了 url() 函数,该函数又使用数据类型 <image> 将图像设置为 div 元素的背景。
CSS <image> - 与 linear-gradient() 一起使用
以下示例演示如何使用 <image> 数据类型通过 linear-gradient() 函数定义图像。图像通过 CSS 属性 background-image 用作背景:
<html>
<head>
<style>
div {
background-image: linear-gradient(red, yellow, blue, green, pink);
width: 200px;
height: 200px;
border: 3px solid black;
}
</style>
</head>
<body>
<div></div>
</body>
</html>
在上面的示例中,使用了 linear-gradient() 函数,该函数又使用数据类型 <image> 将图像设置为 div 元素的背景。
CSS <image> - 用于 cross-fade()
以下示例演示如何使用 <image> 数据类型通过 cross-fade() 函数定义图像。图像通过 CSS 属性 background-image 用作背景:
<html>
<head>
<style>
div {
background-image: -webkit-cross-fade(url(images/border.png), url(images/tree.jpg), 25%);
background-image: cross-fade(url(images/border.png), url(images/tree.jpg), 25%);
width: 300px;
height: 300px;
border: 3px solid black;
}
</style>
</head>
<body>
<div></div>
</body>
</html>
在上面的示例中,使用了 cross-fade() 函数,该函数又使用数据类型 <image> 将图像的混合设置为 div 元素的背景。