how2j.cn

步骤 1 : 完整的图片   
步骤 2 : 使用背景方式   
步骤 3 : 使用img方式   

这是一个旺旺的动态图片,上面有各种旺旺的图

但是有的时候,我们只需要这个大图的一小部分,那么怎么做呢?
运行效果
<img src="https://how2j.cn/study/wangwang.gif">
<img src="https://how2j.cn/study/wangwang.gif">


源代码
1. 双击选中单词 2. 三击选中整行 3. CTRL+F 查找 4. F8 全屏编辑,再次点击恢复
渲染中 渲染完成
效果
步骤 2 :

使用背景方式

edit
第一种方式,使用背景的方式获取一部分图片

对div使用背景图片

background:transparent url(/study/wangwang.gif) no-repeat scroll -83px -0px ;

等同于

background-color:transparent;
background-image:url(/site/wangwang.gif);
background-repeat:no-repeat;
background-attachment:scroll;
background-position: -83px -0px;


设置scroll -83px -0px 把图片向左滚动83个像素,向上滚动0个像素。
再把div大小设置为和小图片大小一样,即可大小只显示部分图片的效果
运行效果
<style> div{ width:25; height:25; background:transparent url(https://how2j.cn/study/wangwang.gif) no-repeat scroll -83px -0px ; } </style> <div></div>
<style>
div{
	width:25;
	height:25;
	background:transparent url(https://how2j.cn/study/wangwang.gif) no-repeat scroll -83px -0px ;
}
 
</style>

<div></div>


源代码
1. 双击选中单词 2. 三击选中整行 3. CTRL+F 查找 4. F8 全屏编辑,再次点击恢复
渲染中 渲染完成
效果
借助裁剪的方式只显示部分图片:

clip:rect(top, right, bottom, left)


裁剪之后,只显示被裁剪出来的图片,所以还需要把整个图片向左移动,才看上去像拿到了想要的那部分图片

img{
position:absolute;
left:-83px;
clip:rect(0px 108px 25px 83px);
}
运行效果
<style> img{ position:absolute; left:-83px; clip:rect(0px 108px 25px 83px); } </style> <img src="https://how2j.cn/study/wangwang.gif">
<style>
img{
    position:absolute;
    left:-83px;
    clip:rect(0px 108px 25px 83px);
} 
</style>

<img src="https://how2j.cn/study/wangwang.gif">


源代码
1. 双击选中单词 2. 三击选中整行 3. CTRL+F 查找 4. F8 全屏编辑,再次点击恢复
渲染中 渲染完成
效果


HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。


问答区域    
2020-03-09 clip:rect
ddddq

clip:rect 需要4个参数, 第一个是从上往下切掉的高度, 第二个是从右往左保留的宽度 第三个参数是从下往上保留的高度 第四个参数是从左往右切掉的宽度 有点类似xy坐标轴这种方式,感觉很容易就搞混掉




2 个答案

zzqAND
答案时间:2020-05-29
注意: clip:rect(上,右,下,左); 上:从上往下截,去掉上截图。 右:从左往右截,去掉右截图 下:从上往下截,去掉下截图 左:从左往右截,去掉左截图 (所有的都是去掉对应方位的截图。 上、下都是从上往下截, 左、右都是从左往右截)

asdhiodhw
答案时间:2020-03-24
你这个更容易迷糊, 很简单,上下就是,下减去上的宽度 左右就是右减去左的宽度,从绝对位置0开始



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到




2020-02-07 更简单的方式
dazhu_

直接对图片进行处理,再加载图片,感觉这样更简单些







回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到




2019-11-23 可不可以用定位的方式喃
2019-02-12 您好 请问图片无法正常显示是路径的问题吗
2018-08-09 可以增加flex布局的内容么?


提问太多,页面渲染太慢,为了加快渲染速度,本页最多只显示几条提问。还有 2 条以前的提问,请 点击查看

提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
关于 前端部分-CSS-显示图片一部分 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 635924385
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
在已经存在的几千个提问里,有相当大的比例,是因为使用了和站长不同版本的开发环境导致的,比如 jdk, eclpise, idea, mysql,tomcat 等等软件的版本不一致。
请使用和站长一样的版本,可以节约自己大量的学习时间。 站长把教学中用的软件版本整理了,都统一放在了这里, 方便大家下载: https://how2j.cn/k/helloworld/helloworld-version/1718.html

上传截图