专栏首页授客的专栏CSS 从大图中选取部分区域作为目标图标

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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Hexo Next主题添加版权信息

    主题配置文件下,搜索关键字 post_copyright , 将 enable 改为 true:

    smartsi
  • Flutter动画【1】

    在前面的文章中我们花了很多的时间去讲了Flutter中的Widget以及用户操作,但是我们却很少去关注与用户的交互效果,当然这并不会导致我们的程序崩溃或者不能实...

    flyou
  • 基于springboot+mybatisplus构建系统管理平台(二)

    上一篇主要说到了spring security和mybatis-plus的使用,当然都是使用过程中的一些描述,可能在理解上与实际有一些出入,毕竟是学习的过程,循...

    sucl
  • JS实现手动和自动轮播效果

    开门见山,今天要实现的轮播效果如下图所示:(轮播自动播放;点击左右按钮实现上一张和下一张的功能;鼠标移入轮播暂停;鼠标移出轮播自动播放;小圆点随着图片的变化而变...

    yyp
  • 你必须懂的前端性能优化

    对于 DNS 解析和 TCP 连接两个步骤,我们前端可以做的努力非常有限。相比之下,HTTP 连接这一层面的优化才是我们网络优化的核心。

    ConardLi
  • 跨域jsonp的原理

    因为浏览器的同源策略,那什么是同源策略呢浏览器从A网站向B网站请求资源,必须同时满足三点才可以,协议相同,域名相同,端口相同,任何一点不同都会产生跨域,产生跨域...

    挥刀北上
  • [译] 不容错过的CSS变量

    当我第一次听说CSS变量时,我是抱着怀疑太多的。scss、sass、less和stylus这些CSS预处理器不是都有变量机制吗? 为什么还要使用它?过了几年,我...

    _sx_
  • 深入理解bootstrap

    1.CSS12栅格系统:以规则的网格阵列来指导和规范网页中的版面布已有以及信息分布

    硬核项目经理
  • 「微前端架构」-Angular风格-第1部分

    让我们从why部分开始,当单页面应用程序启动的时候,大多数应用程序都非常小,并且由一个FE团队管理,一切都很好……

    首席架构师智库
  • WordPress为导航菜单添加个性图标字体

    目前图标字体非常流行,图标字体使用简单,与图片格式的小图标相比,支持视网膜显示,可以无限放大。特别是一些响应式设计的主题模板,都会或多或少使用图标字体。我们还可...

    爱游博客

扫码关注云+社区

领取腾讯云代金券