border-radius失效了?

border-radius失效了?

今天涉及两个属性:

  1. overscroll: scroll-y / scroll-x / scroll;
  2. border-radius: 10px;

原本这两个属性是没有什么联系的,但是当同时出现在同一个元素上时,就会发生圆角效果被滑动条覆盖的情况。
例如:

<style>
	div {
		border-radius:10px;
		overflow:scroll-y;
	}
</style>
<div></div>

这种情况下,div的右上角和右下角都会因为滚动条的存在而显示的是直角。
其实div的四个角确实已经有了圆角的效果,但是滚动条属于div内部的元素,层级高,所以将div的圆角遮挡住了。那么我们解决这种情况的方法也很简单。

<style>
	div {
		border-radius: 10px;
		overflow: hidden;
	}
	ul {
		overflow: scroll-y;
	}
</style>
<div>
	<ul></ul>
</div>

我们在原本需要滚动的盒子内部加上一层滚动元素,将滚动的效果放在内部的滚动元素上,外部div加上overflow: hidden;并设置圆角,就可以达到我们需要的效果。

同样的我们也可以在当前元素的外层加上圆角遮罩,最终效果同上。

如有其他情况欢迎补充

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Eighteen Z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值