css3 模拟圆角outline

  今天网上看到张鑫旭大神的一篇模拟圆角outline的文章,觉得很强大,很神奇,很流弊,所以赶紧记录下来,供大家分享,学习!

  outline有个特性就是它不会占据空间,这是个很强大的属性,但是一般的outline都是方形的,那怎么才能实现绚丽的圆角outline效果了?我们都知道css3中有border-radius属性可以设置圆角,但是如果配合border和border-radius是会增加盒子的大小的!

这时我们就需要用到box-shadow和border-radius组合来模拟圆角的outline效果了!废话不多说,先上代码:

  

 1 <!DOCTYPE html>
 2     <html>
 3      <head>
 4       <style type="text/css">
 5           div{margin:0;padding:0;}
 6          div.outlineRadius{width:250px;height:250px;line-height:250px;text-align:center;}    
 7           .outlineRadius{border-radius:1px;box-shadow:0 0 0 25px #00438a;}
 8      </style>
 9      </head>
10      <body>
11      <div class="outlineRadius">圆角的outline效果盒子</div> 
12      </body>
13 </html>

 

运行效果如下:

  大家可以在chrome的调试工具中看此盒子的大小还是height:250px;

  为什么能达到这效果?因为盒子有1px的圆角,而盒子的阴影水平便宜为0,垂直便宜为0,阴影模糊距离为0,想象下这盒子其实看起来是没有阴影的,因为盒子的阴影刚好是盒子的大小,然而第四个参数根据w3c官方解释为阴影的尺寸,所以第四个

参数扩展了盒子的阴影,又因为盒子有1px的圆角所以就达到了模拟圆角outline的效果啦!是不是很棒啊!

转载于:https://www.cnblogs.com/QingChengFE/p/4484429.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值