html边框向内圆角,css效果之边框内圆角

本文主要介绍了css效果之边框内圆角,分享给大家,也给自己留个笔记,具体如下:

效果如下

3f31bc7e8758a41b55d7f9be0811858e.png

你可能想到的方法

padding: 16px;

box-shadow: 0 0 0 8px #655;

border-radius: 5px;

如果采用上面的方式,会产生一个与上面效果很像的效果:内外都是圆角。下过如下

56dad49dd54820b4be71ec0e44d603c1.png

如何将外面的那层shadow变为直角呢?

其关键就是outline和box-shadow属性:元素的圆角无法规定描边的方式

那么你可能会想到这样的实现方式

padding: 16px;

outline: 8px solid #655

border-radius: 5px;

然后当你满怀自信去查看效果时发现,居然又不是你想要的效果,你会发现内外之间会有一小点空白。

那怎么办,是不是bug?虽然元素的圆角无法规定描边的角的样式,但可以规定box-shadow的角的样式,于是解决方式诞生了:让box-shadow与outline重合,outline将box-shadow的圆角填充成直角,box-shadow填充outline与内层之间的空白

padding: 16px;

box-shadow: 0 0 0 8px #655;

border-radius: 5px;

outline: 8px solid #655;

这时再去刷新浏览器就会发现会是我们想要的效果了

附一个完整的例子

css learning

.section {

display: inline-block;

width: 200px;

background: gray;

padding: 16px;

box-shadow: 0 0 0 8px #655;

border-radius: 5px;

outline: 8px solid #655;

}

Suspendisse et arcu felis, ac gravida turpis.

Suspendisse potenti. Ut porta rhoncus ligula,

sed fringilla felis feugiat eget.

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值