CSS 从大图中选取部分区域作为目标图标
从大图中选取部分区域作为目标图标
by:授客 QQ:1033553122
1、图片素材
图片素材如下(大小:137px * 264px),图中从上到下,连续存放了两张100px * 100px的图
2、HTML代码
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-position:0 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 从大图中选取部分区域作为目标图标的更多相关文章
- CSS从大图中抠取小图完整教程(background-position应用)
CSS从大图中抠取小图完整教程(background-position应用) 转自: http://www.cnblogs.com/iyangyuan/archive/2013/06/01/3111 ...
- CSS从大图中抠取小图完整教程(background-position应用) (转)
自认为把background-position的应用讲得非常通俗易懂的教材.做个记号. 相信很多喜欢研究网页界面的童鞋都遇到过一个奇妙的现象:网页中很多图片素材被合成在一张图片上. 起初小菜模仿网站的 ...
- CSS从大图中抠图然后显示其中的一部分
相信大家在使用css时会遇到一个情况吧 就是一张大图片里面什么都有 各种图标都有 然而自己就是不太会使用其中的小图标 这是我最近的一次学习 首先上图 这么大一张图片 那么这么使其只显示一部分 并且为我 ...
- CSS和SVG中的剪切——clip-path属性和<clipPath>元素
剪切是什么 剪切是一个图形化操作,你可以部分或者完全隐藏一个元素.被剪切的元素可以是一个容器也可以是一个图像元素.元素的哪些部分显示或隐藏是由剪切的路径来决定的. 剪切路径定义了一个区域,在这个区域内 ...
- CSS+DIV布局中absolute和relative区别
原文:http://developer.51cto.com/art/201009/225201.htm 这里向大家简单介绍一下CSS+DIV布局中absolute和relative属性的用法和区别,定 ...
- 【转】CSS和SVG中的剪切——clip-path属性和<clipPath>元素
本文由大漠根据SaraSoueidan的<Clipping in CSS and SVG – The clip-path Property and <clipPath> Elemen ...
- CSS盒子模型中()是透明的,这部分可以显示背景()
CSS盒子模型中()是透明的,这部分可以显示背景() border margin padding content 我的理解: · Margin(外边距) - 清除边框外的区域,外边距是透明 ...
- C#从大图中截取一部分图片
#region 从大图中截取一部分图片 /// <summary> /// 从大图中截取一部分图片 /// </summary> /// <param name=&quo ...
- 前端开发css实战:使用css制作网页中的多级菜单
前端开发css实战:使用css制作网页中的多级菜单 在日常工作中,大家都会遇到一些显示隐藏类菜单,比如页头导航.二维码显示隐藏.文本提示等等......而这些效果都是可以使用纯css实现的(而且非常简 ...
随机推荐
- 分布式事务之解决方案(XA和2PC)
3. 分布式事务解决方案之2PC(两阶段提交) 针对不同的分布式场景业界常见的解决方案有2PC.TCC.可靠消息最终一致性.最大努力通知这几种. 3.1. 什么是2PC 2PC即两阶段提交协议,是将整 ...
- netcore在CentOS7 下使用处理图片的问题
请看代码,当你在centos下要把图片转为Base64的时候 MemoryStream ms = new MemoryStream(); try { Bitmap bmp = new Bitmap(f ...
- SpringCloud服务过滤filter
一.目录展示 二.application.yml配置文件 三.MyZuulFilter package com.zn.filter; import com.netflix.zuul.ZuulFilte ...
- JPA中实现单向多对一的关联关系
场景 JPA入门简介与搭建HelloWorld(附代码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103473937 ...
- Ligg.EasyWinApp-10300-Ligg.EasyWinForm:View的配置
View的配置文件, 路径如下: .\Applications\xxxx(Apllication)\Clients\Form\Functions\yyyy(Function)\ Views\zzzz ...
- SSH框架之Spring第二篇
1.1 基于注解的IOC配置 既注解配置和xml配置要实现的功能都是一样的,都是要降低程序间的耦合.只是配置的形式不一样. 1.2 环境搭建 1.2.1 第一步:拷贝必备的jar包 需要多拷贝一个sp ...
- ASP.NET MVC中使用MvcPager异步分页+在分页中复选框下一页上一页也保持选中
ASP.NET MVC 分页使用的是作者杨涛的MvcPager分页控件 地址:http://www.webdiyer.com/mvcpager/demos/ajaxpaging/ 这个分页控件在里面 ...
- 搭建Nginx四层反向代理
需求背景: 前段时间公司因为业务需求需要部署一个正向代理,我已经分享出来了https://www.cnblogs.com/Dfengshuo/p/11911406.html,现有因架构个更改,需要再加 ...
- 完全卸载Android Studio(卸载得干干净净)
步骤其实很简单,一共三步,但是每一步都需要完成,步骤如下: 打开控制面板或腾讯软件管家等执行常规的卸载操作. 找到SDK的安装目录手动删除SDK. 进入“C:\Users\<你的用户名下> ...
- Android 极光IM-高级篇-玩聊天app诞生
距离上一次写 基础篇有了4个月,终于我写了一个 功能完善的即时通讯app,作为高级篇的担当出现.废话不多说,上图 app预览 实现功能 1.用户的登录注册 2.单聊,能清空聊 ...