从大图中选取部分区域作为目标图标

by:授客 QQ1033553122

1、图片素材

图片素材如下(大小:137px * 264px),图中从上到下,连续存放了两张100px * 100px的图

 

2HTML代码

html代码如下:

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<style type="text/css">

.icon {

width:100px; /*--设置背景图显示区域宽度--*/

height:100px;/*--设置背景图显示区域高度--*/

border:1px solid red;

background-image:url(icons.png); /*--设置背景图像--*/

/*--no-repeat 不允许图像在任何方向上平铺,repeat-y,repeat-x分别允许图片在y,x方向上平铺--*/

background-repeat:no-repeat;

}

</style>

</head>

<body>

<div class="icon up"><p>图片上半部分</div>

<div class="icon down"><p>图片下半部分</p></div>

</body>

</html>

显示效果:

修改代码如下:

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<style type="text/css">

.icon {

width:100px; /*--设置背景图显示区域宽度--*/

height:100px;/*--设置背景图显示区域高度--*/

border:1px solid red;

background-image:url(icons.png); /*--设置背景图像--*/

/*--no-repeat 不允许图像在任何方向上平铺,repeat-y,repeat-x分别允许图片在y,x方向上平铺--*/

background-repeat:no-repeat;

}

        .up {

           background-position: 0px 0px;

        }

 

        .down {

           background-position: 0px -100px;

        }

</style>

</head>

<body>

<p>图片上半部分</p>

<div class="icon up"></div>

<p>图片下半部分</p>

<div class="icon down"></div>

</body>

</html>

显示效果:

3、总结

载入背景图片,根据需要设置展示区宽度和高度,及背景图片的位置,让其目标图片内容“恰好落在”展示区,其中主要是利用了background-position的一些特性,图解如下

说明:

background-position0 0

背景图片的左上角和所在容器左上角对齐,超出的部分隐藏。等同于 background-position: left top、background-position:0% 0%

background-position: 100% 100%

背景图片的右下角和所在容器的右下角对齐,超出的部分隐藏。等同于background- positon: right bottom、background-positon:容器(container)的宽度-背景图片的宽度,容器 (container)的高度-背景图片的高度

background-position: 0 -100px;

背景图片从所在容器左上角的地方向上移动100px,超出的部分隐藏。

background-position: 20 18x;

背景图片从所在容器左上角的地方向右移20px,向下移18px,超出的部分隐藏。

background-position: -20 -18x;

背景图片从所在容器左上角的地方向左移-20px,向上移-18px,超出的部分隐藏。

参考链接:

http://www.w3school.com.cn/css/css_background.asp

http://www.w3school.com.cn/cssref/pr_background-position.asp

CSS 从大图中选取部分区域作为目标图标的更多相关文章

  1. CSS从大图中抠取小图完整教程(background-position应用)

    CSS从大图中抠取小图完整教程(background-position应用)  转自: http://www.cnblogs.com/iyangyuan/archive/2013/06/01/3111 ...

  2. CSS从大图中抠取小图完整教程(background-position应用) (转)

    自认为把background-position的应用讲得非常通俗易懂的教材.做个记号. 相信很多喜欢研究网页界面的童鞋都遇到过一个奇妙的现象:网页中很多图片素材被合成在一张图片上. 起初小菜模仿网站的 ...

  3. CSS从大图中抠图然后显示其中的一部分

    相信大家在使用css时会遇到一个情况吧 就是一张大图片里面什么都有 各种图标都有 然而自己就是不太会使用其中的小图标 这是我最近的一次学习 首先上图 这么大一张图片 那么这么使其只显示一部分 并且为我 ...

  4. CSS和SVG中的剪切——clip-path属性和<clipPath>元素

    剪切是什么 剪切是一个图形化操作,你可以部分或者完全隐藏一个元素.被剪切的元素可以是一个容器也可以是一个图像元素.元素的哪些部分显示或隐藏是由剪切的路径来决定的. 剪切路径定义了一个区域,在这个区域内 ...

  5. CSS+DIV布局中absolute和relative区别

    原文:http://developer.51cto.com/art/201009/225201.htm 这里向大家简单介绍一下CSS+DIV布局中absolute和relative属性的用法和区别,定 ...

  6. 【转】CSS和SVG中的剪切——clip-path属性和<clipPath>元素

    本文由大漠根据SaraSoueidan的<Clipping in CSS and SVG – The clip-path Property and <clipPath> Elemen ...

  7. CSS盒子模型中()是透明的,这部分可以显示背景()

    CSS盒子模型中()是透明的,这部分可以显示背景() border margin padding content 我的理解: ·       Margin(外边距) - 清除边框外的区域,外边距是透明 ...

  8. C#从大图中截取一部分图片

    #region 从大图中截取一部分图片 /// <summary> /// 从大图中截取一部分图片 /// </summary> /// <param name=&quo ...

  9. 前端开发css实战:使用css制作网页中的多级菜单

    前端开发css实战:使用css制作网页中的多级菜单 在日常工作中,大家都会遇到一些显示隐藏类菜单,比如页头导航.二维码显示隐藏.文本提示等等......而这些效果都是可以使用纯css实现的(而且非常简 ...

随机推荐

  1. python 多线程编程之threading模块(Thread类)创建线程的三种方法

    摘录 python核心编程 上节介绍的thread模块,是不支持守护线程的.当主线程退出的时候,所有的子线程都将终止,不管他们是否仍在工作. 本节开始,我们开始介绍python的另外多线程模块thre ...

  2. ASP.NET CORE 使用Consul实现服务治理与健康检查(1)——概念篇

    背景 笔者所在的公司正在进行微服务改造,这其中服务治理组件是必不可少的组件之一,在一番讨论之后,最终决定放弃 Zookeeper 而采用 Consul 作为服务治理框架基础组件.主要原因是 Consu ...

  3. springcloud 微服务分布式 框架源码 activiti工作流 前后分离

    1.代码生成器: [正反双向](单表.主表.明细表.树形表,快速开发利器)freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本.处理类.service等完整模块2. ...

  4. iOS WKWebView与JS的交互

    参考链接:https://www.jianshu.com/p/524bc8699ac2

  5. 1w+的心路历程

    鬼知道我是如何坚持下来的,如果非要找个理由,那或许是所谓的热爱. 公众号转眼间写了三年.写的内容围绕着安卓技术,源码剖析,生活感悟,职场人生. 很庆幸的是,得到大家的支持,每一条留言都会是一次交流,看 ...

  6. 初学Manjaro

    近期,看有朋友在使用Manjaro系统,感觉这个系统挺不错,于是我也安装了Manjaro,学习一下!!!! Manjaro下载地址:https://manjaro.org/download/ Manj ...

  7. windows10远程桌面 删除IP记录

    注册表位置: HKEY_CURRENT_USER/ Software/ Microsoft/ Terminal Server  client/ servers/ 删除不需要的IP地址即可.

  8. tornado框架中redis使用

    一.安装依赖 pip3 install tornado-redis 二.导入模块 import tornadoredis 三.创建redis对象 import tornadoredis CONNECT ...

  9. springcloud~配置中心~对敏感信息加密

    简介 RSA非对称加密有着非常强大的安全性,HTTPS的SSL加密就是使用这种方法进行HTTPS请求加密传输的.因为RSA算法会涉及Private Key和Public Key分别用来加密和解密,所以 ...

  10. cesium 圆圈警戒扫描(附源码下载)

    前言 cesium 官网的api文档介绍地址cesium官网api,里面详细的介绍 cesium 各个类的介绍,还有就是在线例子:cesium 官网在线例子,这个也是学习 cesium 的好素材. 内 ...