简单粗暴理解clip属性

简介: 简单粗暴理解clip属性

简单粗暴理解clip属性


TL;DR

clip其实就是将原盒子想象成一个坐标系,原点在左上角,然后计算出想要显示的矩形左上角和右下角的坐标,如(x1,y1)和(x2,y2),这样clip的四个值就是(y1,x2,y2,x1),注意不要负号。position: absolute;clip: rect(30px,60px,50px,10px)

细细解释

clip属性,就是跟截图很相似,拿个框截取想要的部分,其他的都不要。 日常用法,截取(即只显示)某个盒子的一部分出来。代码clip:rect(1 2 3 4),重点就是这四个数字的意思。 首先,做个初中数学题目。 如图,已知:矩形ABCD,长100,宽60,现在另外一个矩形EFGH,长50,宽20,EFGH在ABCD内部,EF距离AB是30,EH距离AC是10,现在求E和G的坐标。

思考~

思考~

思考~

答案揭晓,E(10,-30),G(10+50,-(30+20)),不带负号的话,E(10,30),G(10+50,30+20)

现在,在看下clip,你要在哪个盒子上截取,就在哪个盒子上写这个属性,盒子相当于ABCD,想要截取多大的矩形就是EFGH,那四个值怎么得到呢,E(10,30),G(10+50,30+20) => (10,30,10+50,30+20),还差点,将第一个值放在最后就可以了E(10,30),G(10+50,30+20) => (10,30,10+50,30+20) => (30,10+50,30+20,10),这就可以了!

注意的坑:

  • clip的盒子必须有position:absolute
  • 必须带单位,如px em rem
  • 所谓截取出来,就是你看到的部分,其余部分看不见但是仍然占位
  • 坐标出来以后,去掉负号,并且将第一个放在最后一个

上面的demo,变成代码试试。

<div
      style="width: 100px;height: 60px;background: #f69;position: absolute;clip: rect(30px,60px,50px,10px)"
    ></div>
复制代码

蓝色背景是盒子的实际占位,真实看到的是红色区域。

目录
相关文章
|
7天前
|
UED 异构计算
overflow 属性法的缺点
【10月更文挑战第27天】虽然`overflow`属性法是一种简单有效的解决浮动布局高度塌陷问题的方法,但在使用时需要充分考虑到其可能带来的各种缺点,并根据具体的页面布局需求和设计要求,谨慎地选择和使用,以避免对页面的显示效果、用户体验和性能表现产生不良影响。
|
2月前
|
小程序
小程序消除图片下边距的三个方法
小程序消除图片下边距的三个方法
47 11
|
4月前
|
前端开发
css动画 —— 自定义不规则的动画路径 offset-path (含不规则的动画路径参数获取方法)
css动画 —— 自定义不规则的动画路径 offset-path (含不规则的动画路径参数获取方法)
102 1
|
6月前
|
前端开发 容器
使用 object-fit 属性完美过渡图片
这篇文章介绍了CSS属性object-fit的用法。object-fit属性用于指定元素的内容如何适应指定容器的高度和宽度。该属性一般适用于img和video标签,可以进行剪切、缩放或拉伸操作。文章中展示了通过object-fit属性来统一设置多张图片的样式,保持原始比例并改变显示位置的示例,以及使用object-position属性实现简单的过渡效果。
使用 object-fit 属性完美过渡图片
|
6月前
|
XML 前端开发 算法
canvas从基础了解 -- 到算法标注框实现
canvas从基础了解 -- 到算法标注框实现
Echarts参数属性学习:x轴标签文本过长自动缩减并替换成缩略号...
Echarts参数属性学习:x轴标签文本过长自动缩减并替换成缩略号...
139 0
|
人工智能 前端开发 JavaScript
卷一卷CSS的transform实现原理,头发又掉了10根!!!
今天内卷的知识点是 css 属性 transform , transform 的英文翻译是变换,它可以对元素进行平移、旋转、缩放、倾斜等操作,这些操作都是通过矩阵来实现的,所以我们可以通过矩阵来理
148 0
|
存储 Swift
Swift - Cell自适应+代码约束(SnapKit)横竖屏支持平铺+根据URL获取图片size
Swift - Cell自适应+代码约束(SnapKit)横竖屏支持平铺+根据URL获取图片size
217 0
|
iOS开发
使用AutoLayout约束, 为啥图片的大小(Image size)却还以实际大小显示?
问题 给一个 UIImageView 设置一张图片时,使用 AutoLayout 给 UIImageView 约束宽高,但是实际显示的大小,图片以实际的大小显示出来,代码也没有设置 frame,设置contentMode为UIViewContentModeScaleAspectFit 也不起作用。
1096 0
|
前端开发 容器
web前端学习(二十三)——CSS3定位(position)、元素裁剪(clip)及鼠标样式(cursor)属性的相关设置
web前端学习(二十三)——CSS3定位(position)、元素裁剪(clip)及鼠标样式(cursor)属性的相关设置
web前端学习(二十三)——CSS3定位(position)、元素裁剪(clip)及鼠标样式(cursor)属性的相关设置