overflow:clip有何用处,怎样使用的
Admin 2022-11-21 群英技术资讯 293 次浏览
首先,简单介绍下 overflow: clip
的用法。
overflow: clip
: 与 overflow: hidden
的表现形式极为类似,也是对元素的 padding-box
进行裁剪。
但是,它们有两点不同:
也就是 overflow: clip
内部完全禁止任何形式的滚动。当然,这个不是今天的重点,暂且略过不谈。
MDN 原文:The difference between clip and hidden is that the clip keyword also forbids all scrolling, including programmatic scrolling.
overflow: clip
可以从 x,y 轴方向上对裁剪进行,控制,而 overflow: hidden
不行。
重点在于这一点。我们来简单示意一下:
我们来看对于不区分方向,overflow: clip
与 overflow: hidden
的表现形式:
<div>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. </p>
</div>
<div class="hidden">
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. </p>
</div>
<div class="clip">
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. </p>
</div>
登录后复制
.hidden {
overflow: hidden;
}
.clip {
overflow: clip;
}
登录后复制
我们设置了 3 个 DIV 容器,其中一个不设置 overflow,另外两个分别设置 overflow: clip
与 overflow: hidden
。效果如下:
此时,overflow: clip
与 overflow: hidden
的表现是一致的。
overflow: clip
在 x/y 轴上可单独设置然而,overflow: clip
的与众不同之处在于,它可以单独设置给 x 轴或者 y 轴,使得容器拥有某一个方向上的裁剪能力,而相对的另外一个方向,允许溢出。
看看这个 DEMO:
这里的现象值得注意:
单单设置 overflow-x: hidden
或者 overflow-y: hidden
,表现形式都和 overflow: hidden
一致,是全方位的裁剪
而水平 x 或竖直 y 方向的 overflow-x: clip
/ overflow-y: clip
配合另一个方向的 overflow-x: visible
,却能够实现一个方向允许溢出,一个方向实现裁剪!
需要解释一下上面两点:
设置 overflow: hidden
就会创建 BFC,因此没法只限制一个方向;而 overflow: clip
不会创建 BFC,因此它们在很多表现上会产生不一致的现象(譬如)
overflow-x/y 设置为 hidden 时, overflow-y/x 会变成 auto, 即使设置为 visible
完整的 DEMO,你可以戳这里:CodePen Demo -- overflow: hidden & overflow: clip
至此,我们就实现了这样一种效果,允许元素在 x/y 方向上的单向裁剪,像是这样:
(上图允许 x 轴方向上的溢出,而 y 轴方向进行了裁剪)
OK,那么,如果再进一步。譬如有这么个需求,要求上、左、右方向允许溢出,而下方向需要裁剪,能做到么?
答案是可以的。
CSS 中其实还有多种方式可以进行元素的裁切,近似的实现类似于 overflow: hidden
的功能。
譬如,其中,我们可以使用 clip-path
实现上、下、左、右 单一方向的裁剪。这是我之前一篇文章的内容 -- 如何不使用 overflow: hidden 实现 overflow: hidden,感兴趣可以看看。
原文地址:https://www.cnblogs.com/coco1s/p/16627152.html
作者:ChokCoco
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
html网页内容过长,会自动拥有垂直滚动条,那么div内部如何实现垂直滚动条呢?这个就需要用到iScroll这个插件了,下面将来实现一个div垂直滚动条示例,用来初步了解|iScroll使用方法。 首先我们新建一个div的容器,div内部会有一个垂直滚动条的,html代码如
CSS的animation可以做出大多数的loading效果,今天脚本之家小编给大家带来了基于CSS实现一个简单loading动画效果,非常不错,需要的朋友参考下吧
说语义标签前先来理解下什么叫语义化,当下html是靠div+css来铸造页面的整体框架和结构的,通篇大量的div可读性极低,因此诞生了这些特殊的标签,简单地说就是见名知义,使页面更清晰,方便维护和开发。HTML5为我们提供了一系列的语义标签。
已知两个宽和高均为100px,margin均为20px的div垂直排列,现象如下图所示: 当设置css1的margin-bottom:40px;或者css2的margin-top:40px时,现象如下图所示: 结论:只有当两个垂直排列的盒子的垂直外边距挨在一起时会产生合并问题,此问题也不需要解决,记住谁的外边距较大就采用谁的外边距就ok了。水平排列的盒子不存在合并的问题。下面实
这篇文章主要介绍了css 获取从第n个开始之后的所有元素 ,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008