看到有网友使用负的 outline-offset 实现了加号 。嗯?好奇的我马上也动手尝试了下,到底是如何使用负的 outline-offset 实现加号呢?
使用负值 outline-offset 实现加号
假设我们有这样一个简单的结构:
<div></div>div { width: 200px; height: 200px; outline: 20px solid #000; outline-offset: 10px;}
文章插图
修改 outline-offset 到一个合适的负值,那么在恰当的时候,outline 边框就会向内缩进为一个加号 。
经过一番尝试,修改上述 div 的 outline-offset为 -118px 。
div { width: 200px; height: 200px; outline: 20px solid #000; outline-offset: -118px;}加个动画效果,大概是这样:
文章插图
【你所不知道的 CSS 负值技巧与细节】很有意思,我尝试了很多不同的情况,最后总结了一个简单的规律,要使用负的 outline-offset 生成一个加号有一些简单的限制:
- 容器得是个正方形
- outline 边框本身的宽度不能太小
- outline-offset 负值 x 的取值范围为: -(容器宽度的一半 + outline宽度的一半) < x < -(容器宽度的一半 + outline宽度)
推荐阅读
- 神奇的 SQL 之子查询
- 世界上最长的潜艇长多少米 红宝石级潜艇
- Redis批量删除key的小技巧,你知道吗?
- 后端开发必备的 RestFul API 知识
- 如何去感受熟普的香甜醇厚滑
- redis是如何存储对象和集合的
- 普洱茶越陈越香的原理
- Java中的HashCode方法与内存泄漏问题,你了解过吗?
- 茶的香型这么多 你真的都明白吗
- 茶香的五重境界 你品到了几重