1. 一个切角

思路:如果我们要得到有一个切角的元素,我们只需要使用一个径向渐变就可以达到这个目标,这个渐变需要把一个透明色标放在切角处,然后再相同的位置设置另一个色标,并且把它的颜色设置成我们想要的背景色。

html

<div class="corner"></div>

css

.corner{
width: 200px;
height: 150px;
background: #58a;
background: linear-gradient(-45deg,transparent 20px,#58a 0);
}

效果图

2. 两个切角

由上面的例子,我们很快想到这么写

css

.corner{
width: 200px;
height: 150px;
background: #58a;
background: linear-gradient(-45deg,transparent 20px,#58a 0),
linear-gradient(45deg,transparent 20px,#58a 0);
}

效果图

我们发现并没有达到我们想要的效果,这是因为左下角和右下角的两个渐变把对方覆盖了,所以只看到背景色。

于是我们想到了background-size,没错,如果把background-size的值设置为一半,是不是就可以了呢?事实证明还是不对,原因在于我们忘记把background-repeat关掉了,因而每层渐变图案各自平铺了两次,这导致背景仍然是相互覆盖的,只不过这次是因为背景平铺,所以修改后的代码是这样的:

css

.corner{
width: 200px;
height: 150px;
background: #58a;
background: linear-gradient(-45deg,transparent 20px,#58a 0) right,
linear-gradient(45deg,transparent 20px,#58a 0) left;
background-size: 50% 100%;
background-repeat: no-repeat;
}

效果图:

3. 四个切角

css

.corner{
width: 200px;
height: 150px;
background: #58a;
background: linear-gradient(-45deg,transparent 15px,#58a 0) bottom right,
linear-gradient(45deg,transparent 15px,#58a 0) bottom left,
linear-gradient(135deg,transparent 15px,#58a 0) top left,
linear-gradient(-135deg,transparent 15px,#58a 0) top right;
background-size: 50% 51%;
background-repeat: no-repeat;
}

效果图

这里需要注意的是:background-size: 50% 51%;如果高度设置为50%,中间会出现一条空隙。

4. 弧形切角

css

.corner{
width: 200px;
height: 150px;
background: #58a;
background: radial-gradient(circle at bottom right,transparent 15px,#58a 0) bottom right,
radial-gradient(circle at bottom left,transparent 15px,#58a 0) bottom left,
radial-gradient(circle at top left,transparent 15px,#58a 0) top left,
radial-gradient(circle at top right,transparent 15px,#58a 0) top right;
background-size: 50% 51%;
background-repeat: no-repeat;
}

效果图

5. 使用border-imgage+svg实现

6. 使用clip-path实现

css

.corner{
width: 330px;
height: 250px;
background: url('ssd.jpg');
background-size: cover;
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);
}

效果图

这种方法的好处是:我们可以使用任意类型的文本,但是有一个很大的缺点是:当内边距不足时,它会裁切掉文本,因为它只能对元素进行统一的裁切,并不能区分元素的各个部分。

.corner{
width: 330px;
height: 250px;
background: url('ssd.jpg');
background-size: cover;
clip-path: polygon(20px ,calc(100% - 20px) ,
100% 20px,100% calc(100% - 20px),
calc(100% - 20px) 100%,20px 100%,
calc(100% - 20px), 20px);
}

css实现切角效果的更多相关文章

  1. css 折角效果/切角效果

    首先我们先创建一个图案为100像素的斜面切角的图案 html <div class="one">12345</div> css .one{ width: 1 ...

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

    linear-gradient linear-gradient是CSS3中新增的样式,主要用于颜色的渐变效果.MDN地址 linear-gradient在不同内核下使用方式不同,详细内容可参考w3cp ...

  3. css切角效果,折角效果

    html <div class="one">12345</div> <div class="two">abcde</d ...

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

     都是大量的练习,老师练习乒乓球花了大量时间,十万次一个动作的重复,高中班主任说过,世上没有天才,只是重复的次数多了,自然被认作了天才,小小班的学生之所以厉害是因为他们重复一个知识点次数多,所以没有一 ...

  5. CSS奇思妙想图形(心形、气泡三角形、切角、梯形、饼图等)

    今天看到一篇不错文章,在原来CSS3图形创建基础上扩展了很多. 这里记录总结下 心形 原理:利用 圆形 和 正方形实现 HTML: <div class="heartShaped&qu ...

  6. Css--深入学习之切角

    本文是作者从别的网站和文章学习了解的知识,简单做了个笔记,想要学习更多的可以参考这里:[css进阶]伪元素的妙用--单标签之美,奇思妙想 带切角的矩形: 该图来源于(奇思妙想) Css代码: .not ...

  7. Css--深入学习之折角效果

    本文是作者从别的网站和文章学习了解的知识,简单做了个笔记,想要学习更多的可以参考这里:[css进阶]伪元素的妙用--单标签之美,奇思妙想 代码: /*建立一个带圆角的矩形,并使用线性渐变将其从左到底透 ...

  8. Css-深入学习之弧形切角矩形

    本文是作者从别的网站和文章学习了解的知识,简单做了个笔记,想要学习更多的可以参考这里:[css进阶]伪元素的妙用--单标签之美,奇思妙想 (弧形切角矩形) 代码: width: 180px; heig ...

  9. CSS3实战开发: 折角效果实战开发

    <!DOCTYPE html> <html> <head> <meta charset="utf-9"> <meta name ...

随机推荐

  1. Linux分区的注意事项以及远程连接排错

    分区方式一般有三种 第一种:数据不是很重要 /boot(系统的引导分区): 系统引导的信息/软件 系统的内核   200M swap( 交换分区): 为了避免系统内存用光了导致系统 宕机 如果系统内存 ...

  2. 使用.Net Core+EF7 CodeFirst(2)

    上一篇的话,说了下怎么使用EF7 实现 CodeFirst去生成数据库, 其实还有好多问题的,这次一点一点的解决吧,都挺简单,不过零零散散的,, 1.读取配置文件,获得链接字符串 2.使用数据库进行增 ...

  3. 微信公众号开发系列-获取微信OpenID

    在微信开发时候在做消息接口交互的时候须要使用带微信加密ID(OpenId),下面讲讲述2中类型方式获取微信OpenID.接收事件推送方式和网页授权获取用户基本信息方式获取. 1.通过接收被动消息方式获 ...

  4. Android酷炫有用的开源框架

    一.代码库 1.from  代码家 整理比較好的源代码连接 一.兼容类库 ActionBarSherlock : Action Bar是Android 3.0后才開始支持的,ActionBarSher ...

  5. Spring Boot实战之逐行释义HelloWorld

    一.前言  研究Spring boot也有一小段时间了,最近会将研究东西整理一下给大家分享,大概会有10~20篇左右的博客,整个系列会以一个简单的博客系统作为基础,因为光讲理论很多东西不是特别容易理解 ...

  6. github not authorized eclipse 关于 代码不能提交到GitHub

    eclipse/myeclipse > menu > window > preferences > general > security > content > ...

  7. 详解功能版本管理之使用eoLinker

    先看一个对话: "这里,你改一下,这里返回一个object." "好...好......" "还有这里,返回个String." ...... ...

  8. Python 3.6.3 利用 Dlib 19.7 和 opencv 实现人脸68点定位 进行人脸识别

    0.引言 介绍利用Dlib官方给的人脸识别预测器"shape_predictor_68_face_landmarks.dat"进行68点标定,利用OpenCv进行图像化处理,在人脸 ...

  9. Python中import机制

    Python语言中import的使用很简单,直接使用import module_name语句导入即可.这里我主要写一下"import"的本质. Python官方定义:Python ...

  10. [array] leetCode-27. Remove Element - Easy

    27. Remove Element - Easy descrition Given an array and a value, remove all instances of that value ...