[CSS揭秘]切角效果

将角切掉也是一种流行的设计风格

传统解决方案可能是使用三角形或者其他形状的图片来盖住边角从而模拟切角效果

有了CSS3,我们完全可以使用新技术来实现

第一种方案: CSS渐变

需求一: 一个矩形需要切掉一个45°角

使用线性渐变来实现

background: #58a linear-gradient(-45deg, transparent 15px, #58a 0);

在渐变中,如果指定stop距离为0则表示与前一个stop的距离一样,所以从15px开始往后都是#58a

效果如下

需求二: 一个矩形需要切掉两个45°角

如果依然使用前面的线性渐变方案就会发现第二层渐变会覆盖第一层渐变。所以需要调整这些渐变的覆盖区域,即调整背景图片的大小。同时不要将背景图片重复。

效果如下

background-image: linear-gradient(-45deg, transparent 15px, #58a 0, linear-gradient(45deg, transparent 15px, #58a 0);

background-size: 50% 100%;

background-repeat: no-repeat;

background-position: right center,left center;

效果如下

需求三: 一个矩形四个角都需要切掉45°

使用4层渐变来实现该需求

background-image: linear-gradient(135deg, transparent 15px, #58a 0),

linear-gradient(-135deg, transparent 15px, #58a 0),

linear-gradient(-45deg, transparent 15px, #58a 0),

linear-gradient(45deg, transparent 15px, #58a 0);

background-repeat: no-repeat;

background-size: 50% 50%;

background-position: left top, right top, right bottom, left bottom;

效果如下

需求四: 一个矩形四个角都需要切成圆弧型

弧形切角(内凸圆角)实现方式就是讲线性渐变改成径向渐变

background-image: radial-gradient(circle at top left, transparent 15px, #58a 0),

radial-gradient(circle at top right, transparent 15px, #58a 0),

radial-gradient(circle at bottom right, transparent 15px, #58a 0),

radial-gradient(circle at bottom left, transparent 15px, #58a 0);

background-repeat: no-repeat;

background-size: 50% 50%;

background-position: left top, right top, right bottom, left bottom;

第二种方案: clip-path 剪裁路径

可以使用任意类型的背景裁剪出任意形状的图案

.box5{
width: 400px;
display: block;
margin: 30px 0 0 30px;
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);
}

总结: 优先使用渐变来实现切角效果,等到主流浏览器都开始支持clip-path属性之后或者是满足高端浏览器时可以通过剪裁实现各种各样的切角效果。

时间: 2024-08-05 07:04:05

[CSS揭秘]切角效果的相关文章

CSS3样式linear-gradient的使用(切角效果)

linear-gradient linear-gradient是CSS3中新增的样式,主要用于颜色的渐变效果.MDN地址 linear-gradient在不同内核下使用方式不同,详细内容可参考w3cplus 实用栗子(在Chrome下) 缺角效果先看效果图 <div class="div1"> 这是内容 </div> .div1 { width: 100px; height: 40px; line-height: 40px; background:linear-

用css实现网站切角效果 使用css3属性:渐变

都是大量的练习,老师练习乒乓球花了大量时间,十万次一个动作的重复,高中班主任说过,世上没有天才,只是重复的次数多了,自然被认作了天才,小小班的学生之所以厉害是因为他们重复一个知识点次数多,所以没有一定的时间积累是远远不够的. Session定义了一个基本的邮件会话,它需要从Properties中读取类似于邮件服务器,用户名和密码等信息.不过JDK中并没有包含,使用JavaMail发送邮件需要使用Sun发布的mail.jar和activtion.jar两个包. 迭代器是算法与容器之间的接口,可理解

CSS打造的边框折角效果

<html> <head> <title>CSS打造的边框折角效果</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <style type="text/css"> <!-- .curlycontainer{ border: 1px solid #b8b8b8;

《css3揭秘》的效果code

1.在阅读css3揭秘的基础上,跟着书中的效果组合起来的这组代码. 2.代码中有四张图片分别是 1.jpg 2.jpg  3.jpg 4.jpg; 作为demo,图片名称没有语义. 3.兼容性:  IE上有部分并不兼容,Edge,FF,chrome没有问题. 4.下面是一个选择器的实现: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"

css揭秘--笔记(未完)

第0章 关于本书 1, 本书要用到一个工具函数————$$(),它可以让我们更容易获取和遍历所有匹配特定css选择符的dom元素: 1 function $$(selector,context){ 2 context=context||document; 3 var elements=context.querySelectorAll(selector); 4 return Array.prototype.slice.call(elements); 5 } 2, 以下实现一个效果: 1 linea

CSS揭秘

第1章 引言 第2章 背景与边框 第3章 形状 第4章 视觉效果 第5章 字体排印 第6章 用户体验 第7章 结构与布局 第8章 过渡与动画 第1章 引言 Web标准:是敌还是友 CSS编码技巧 第2章 背景与边框 1 半透明边框 2 多重边框 3 灵活的背景定位 4 边框内圆角 5 条纹背景 6 复杂的背景图案 7 伪随机背景 8 连续的图像边框 第3章 形状 9 自适应的椭圆 10 平行四边形 11 菱形图片 12 切角效果 13 梯形标签页 14 简单的饼图 第4章 视觉效果 15 单侧投

CSS3实战开发:手把手教大家折角效果实战开发

各位网友,大家好,我是陌上花会开,今天这篇文章,我将手把手教大家如何开发一套纯CSS的折角效果.一如往常,我不提供代码下载,但是我可以保证,只要将教程中的代码复制到本地,绝对百分百获得与我演示的效果一样,希望各位明白我的用意. 好了,直接开始今天的教程吧.首先,我先给大家演示一下今天实战案例的效果: 有人会说这是什么?这就是我们今天的实战开发,我将带领大家开发上图中的右上角折叠效果. 在我讲解完之前,有些人可能觉得很难,不可思议.我想跟你们说:真的so easy.下面就请跟着我的分解步骤一步步学

[css 揭秘]:CSS揭秘 技巧(四):边框内圆角

我的github地址:https://github.com/FannieGirl/ifannie/ 源码都在这上面哦! 喜欢的给我一个星吧 边框内圆角 问题:有时候我们需要一个容器,只在内侧有圆角,而边框或描边的四个角在外部仍然保持直角的形状. 其实,以前我都是用两个div实现的. 解决方案 如果只需要达成简单的实色效果,我们还可以通过其他的方法. 描边 并不会跟着元素的圆角走(因而可以实现外层是直角),box-shadow 却是会的,因此把两者叠加到一起,box-shadow 会刚好填补 描边

[CSS揭秘]不规则投影

难点 普通元素添加border-radius所生成的形状添加box-shadow的效果都非常完美.但是当普通元素添加了伪元素或者半透明的装饰之后,box-shadow就会有点力不从心.因为boder-radius会无耻地忽视透明部分. 场景: 1. 半透明图像,背景图像,border-image 2. 具有点状.虚线或者半透明的边框,但是没有背景 3. 伪元素生成的对话气泡 4. 切角形状 5. 折角形状 6. 菱形图像 解决不规则形状的投影,目前最简单的方法就是使用filter滤镜,使用CSS