美文网首页
切角效果

切角效果

作者: _菡曳_ | 来源:发表于2017-07-28 15:14 被阅读0次

现在流行把元素的一个或多个角切成45°的缺口(也称作斜面切角)。
CSS渐变方案
利用渐变可以接受一个角度(比如45deg)作为方向,而且色标的位置信息也可以是绝对的长度值,这一点丝毫不受容器尺寸的影响。
一个切角:

.box{
            margin: 20% auto;
            padding: 1em;
            text-align: center;
            width: 30%;
            height: 20%;
            background: #58a;
            background: linear-gradient(-45deg,transparent 10px,#58a 0) right;
        }
一个切角效果

现在假设要做两个切角,以底部为例,最初的想法可能是:

background: linear-gradient(-45deg,transparent 10px,#58a 0),
            linear-gradient(45deg,transparent 10px,#655 0);
第一次尝试失败

失败的原因是默认情况下,两层渐变都会填满整个元素,因此他们会相互覆盖,这就需要让他们都缩小一些,于是我们使用background-size让每层渐变分别只占据整个元素一半的面积:

background: linear-gradient(-45deg,transparent 10px,#58a 0) right,
            linear-gradient(45deg,transparent 10px,#655 0) left;
background-size: 50% 100%;
还是没有达到理想效果

原因在于我们忘记关掉background-repeat因而每层渐变各自平铺了两次,再次改进代码:

background: linear-gradient(-45deg,transparent 10px,#58a 0) right,
            linear-gradient(45deg,transparent 10px,#655 0) left;
background-size: 50% 100%;
background-repeat: no-repeat;
最终效果

显然,做四个切角就需要四层渐变:

background: #58a;
background: linear-gradient(135deg,transparent 10px,#58a 0) top left,
            linear-gradient(-135deg,transparent 10px,#58a 0) top right,
            linear-gradient(-45deg,transparent 10px,#58a 0) bottom right,
            linear-gradient(45deg,transparent 10px,#58a 0) bottom left;
background-size: 50% 50%;
background-repeat: no-repeat;
中间两条缝我也不知道什么鬼
使用SASS预处理器的mixin可以减少代码重复
弧形切角
也称作“内凹圆角”,即使用径向渐变来实现以上效果:
background: #58a;
background: radial-gradient(circle at top left,transparent 10px,#58a 0) top left,
            radial-gradient(circle at top right,transparent 10px,#58a 0) top right,
            radial-gradient(circle at bottom right,transparent 10px,#58a 0) bottom right,
            radial-gradient(circle at bottom left,transparent 10px,#58a 0) bottom left;
background-size: 50% 50%;
background-repeat: no-repeat;
弧形切角实现效果
裁剪路径方案
background: #58a;
clip-path: polygon(20px 0,calc(100% - 20px) 0,100% 20px,100% calc(100% - 20px),calc(100% - 20px) 100%,20px 100%,0 calc(100% - 20px),0 20px);

相关文章

  • 切角效果

    现在流行把元素的一个或多个角切成45°的缺口(也称作斜面切角)。CSS渐变方案利用渐变可以接受一个角度(比如45d...

  • css实现切角效果(弧形切角)

    在这之前先熟悉一个css属性linear-gradient()函数用于创建一个线性渐变的“图像”。语法 direc...

  • 12、切角效果

    使用渐变背景可以实现元素的切角效果。 实现底部两个切角时,需要使用两层渐变,再把两层渐变的大小分别设置为整个元素的...

  • CSS 实现切角效果

    就是一个正常的矩形,然后被“切”了一块,而且是沿着右上角切的。那么,这种布局如何实现呢? 一、自适应方式 这种布局...

  • CSS3技巧之形状(切角效果)

    上一小节给大家分享了平行四边形的实现方法,此时我们来说一下切角效果的实现方法。 实现切角效果需要掌握的几个点包括:...

  • 【css3】实现切角效果

  • view圆角、阴影

    项目中用到卡片模式,有阴影效果,记录一下切角一般用到 layer.masksToBounds = true 或 ...

  • day05

    1.切角 简单的切角 切四个角 2梯形 第一部分 第二部分 3饼图 4.阴影 单侧阴影 两侧阴影 不规则阴影 5染色效果

  • CSS 渐变属性(gradient)制作切角效果

    查看图片代码...

  • iOS 重写cell的Frame

    在iOS开发中,我们会遇到各种各样的需求,例如cell圆切角、阴影偏移等效果,这时我们可以通过重写cell的set...

网友评论

      本文标题:切角效果

      本文链接:https://www.haomeiwen.com/subject/qorxlxtx.html