购物车
登陆 / 注册
微信扫码登陆

image()

image()
image() 用于指定图像或者图像替代
编辑:前端控 前端控 更新时间:2019-01-30 11:43:01

image()

语法:

image() = image( [ [ <image> | <string> ]? , <color>? ]! )

说明:

image() 用于指定图像或者图像替代。

使用媒体片段(media fragments)裁减图像的部分区域;

我们知道假设是使用背景图的话,可以通过 background-position 来决定从背景图的哪个位置开始显示

div {
	background-image: url(test.png);
	background-position: 10px 10px;
}

上述代码会以图像 test.png 的 (10,10) 位置作为圆点以进行显示,但如果你只想显示图像一部分,就变得有点困难。

所以之后可以这么做:

div {
	background-image: image(test.png#xywh=10,10,20,20);
}

上述代码会以图像 test.png 的 (10,10) 位置作为圆点,截取一个 20x20 的矩形以进行显示。

使用纯色作为图像;

示例:

div {
	background-image: image(black), url(test.png);
}

可以使用 image() 来指定使用纯色作为图像,但此时 background-color 将不再生效,因为背景色总是在所有的背景图之下。

当指定的图像不能下载或者正确解码时,回退使用纯色图像;

之前的语法中,有一个不太恰当的场景与之类似,如下代码:

body { background: white; color: black; }
div { background: url(black.png) black; color: white; }

上述代码能保证当 black.png 加载失败,文本也仍然是可读的,因为被纯黑色的背景替代了图像,所以白色的文本仍然可见。唯一的问题是,如果图像不是矩形的,或者图像是半透明的,那么这时图像下面的黑色背景会被看到。

所以 image() 能更好的解决这个问题,如下代码:

body { background: white; color: black; }
div { background: image(black.png, black); color: white; }

本例的代码能保证当图像无法加载时,使用黑色背景替代,并且如果当图像正确加载时,黑色背景将不渲染,很好的解决了之前例子中存在的问题。

在图像元数据中自动遵循图像的定位;

兼容性:

浅绿 = 支持

红色 = 不支持

粉色 = 部分支持

IEFirefoxChromeSafariOperaiOS SafariAndroid BrowserAndroid Chrome
6.0-11.02.0-38.04.0-43.03.1-8.15.0-28.03.2-8.12.1-4.4.418.0-40.0


网站导航
网站首页
学习路径
视频教程
开发软件
旗下子站
php中文网
phpstudy
文章列表
教程文档
关于我们
企业合作
人才招聘
联系我们
讲师招募
QQ交流群
QQ交流群
微信公众号
微信公众号