CSS3实现内凹圆角的实例代码


Posted in HTML / CSS onMay 04, 2017

圆角,大家一定都会做,border-radius, 内凹圆角如何实现?

可以拿个白色圆盒子盖住方形盒子的大半边实现,但是这样,是不透明的,背景发生改变时,就要改遮盖盒子的颜色,或者背景是渐变,改起来更麻烦,或背景是图片等等,就直接不太好改了,这种方法就有局限性。 说白了就是遮盖的那部分不透明以后,自适应性不强。

这里介绍一个用径向渐变实现的内凹圆角,可以解决上述问题。可以用 CSS 生成一个背景透明的内凹圆角。

1. 基本线性渐变

div {
 height:100px;
 width:200px;
 background-image:linear-gradient(90deg,red,blue);
}
<div>从左到右的红到蓝渐变</div>

2. 加百分比调整渐变范围

div {
 height:100px;
 width:200px;
 background-image:linear-gradient(90deg,red 20%,blue 80%);
}
<div></div>

3. 浓缩渐变范围,直至重合,形成一个红蓝分隔的两个色块

div {
 height:100px;
 width:200px;
 background-image:linear-gradient(90deg,red 50%,blue 50%);
}
 <div></div>

4. 颜色是可以设置透明色的,transparent, 将红色改成透明色,可以看到只有蓝色的色块了。

div {
 height:100px;
 width:200px;
 background-image:linear-gradient(90deg,transparent 50%,blue 50%);
}

<div></div>

5. 同理联想到径向渐变,同样缩小渐变圈,直至重合,靠近圆心的颜色设成transparent。

/* 径向渐变主体 */ 
.raidal {
 height:100px;
 width:100px;
 background:radial-gradient(transparent 50%,blue 50%);
}
 <div class='raidal'></div>

6. 径向渐变是可以设置半径圆心位置的,所以设到左顶角,left top 调整半径大小为 200px,就发现背景透明的内凹圆角实现了。

应用时可以用伪元素设置,然后用绝对定位,子绝父相,调整位置,组合成想要的效果

/* 径向渐变主体 */ 
.raidal1 {
 height:100px;
 width:100px;
 background:radial-gradient(200px at left top,transparent 50%,blue 50%);
}
<div class='raidal1'></div>

7. 同理四个方向, 调整圆心位置即可

/* 左上 */ 
.raidal1 {
 height:100px;
 width:100px;
 background:radial-gradient(200px at left top,transparent 50%,blue 50%);
}
/* 右上 */ 
.raidal2 {
 height:100px;
 width:100px;
 background:radial-gradient(200px at right top,transparent 50%,blue 50%);
}
/* 右下 */ 
.raidal3 {
 height:100px;
 width:100px;
 background:radial-gradient(200px at right bottom,transparent 50%,blue 50%);
}
/* 左下 */
 .raidal4 {
 height:100px;
 width:100px;
 background:radial-gradient(200px at left bottom,transparent 50%,blue 50%);
} 
<div class='raidal1'></div> 
<div class='raidal2'></div>
 <div class='raidal3'></div>
 <div class='raidal4'></div>

8. 同样,不想这么圆角,也是可以椭圆的,半径设两个参数, 就是椭圆。

/* 左上 */ 
.ellipse {
 height:100px;
 width:100px;
 background:radial-gradient(200px 300px at left top,transparent 50%,blue 50%);
}
 <div class='ellipse'></div>

径向渐变有很多参数大家可以自己再尝试调整,可以出现各种奇怪的形状,这里就不演示了。相对来说,内凹圆角就够用了  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
CSS3的column-fill属性对齐列内容高度的用法详解
Jul 01 HTML / CSS
css3给背景图片加颜色遮罩的方法
Nov 05 HTML / CSS
关于css中margin的值和垂直外边距重叠问题
Oct 27 HTML / CSS
css3实现简单的白云飘动背景特效
Oct 28 HTML / CSS
使用CSS3制作版头动画效果
Dec 24 HTML / CSS
利用html5 canvas破解简单验证码及getImageData接口应用
Jan 25 HTML / CSS
HTML5 3D衣服摇摆动画特效
Mar 17 HTML / CSS
浅谈html5标签css3的常用样式
Oct 20 HTML / CSS
canvas 阴影和图形变换的示例代码
Jan 02 HTML / CSS
html5中嵌入视频自动播放的问题解决
May 25 HTML / CSS
AmazeUI 导航条的实现示例
Aug 14 HTML / CSS
AmazeUI 单选框和多选框的实现示例
Aug 18 HTML / CSS
利用HTML5+CSS3实现3D转换效果实例详解
May 02 #HTML / CSS
css3+伪元素实现鼠标移入时下划线向两边展开的效果
Apr 25 #HTML / CSS
CSS3实现自定义Checkbox特效实例代码
Apr 24 #HTML / CSS
深入理解css中vertical-align属性
Apr 18 #HTML / CSS
总结30个CSS3选择器
Apr 13 #HTML / CSS
CSS3模拟动画下拉菜单效果
Apr 12 #HTML / CSS
CSS3动画:5种预载动画效果实例
Apr 05 #HTML / CSS
You might like
php更改目录及子目录下所有的文件后缀扩展名的代码
2010/10/12 PHP
php实现过滤UBB代码的类
2015/03/12 PHP
使用Appcan客户端自动更新PHP版本号(全)
2015/07/31 PHP
PHP使用file_get_content设置头信息的方法
2016/02/14 PHP
php基于curl主动推送最新内容给百度收录的方法
2016/10/14 PHP
php 使用html5实现多文件上传实例
2016/10/24 PHP
javascript中的一些注意事项 更新中
2010/12/06 Javascript
Jquery选择子控件&quot;大于号&quot;和&quot; &quot;区别介绍及使用示例
2013/06/25 Javascript
通过javascript把图片转化为字符画
2013/10/24 Javascript
JavaScript实现两个Table固定表头根据页面大小自行调整
2014/01/03 Javascript
深入分析下javascript中的[]()+!
2015/07/07 Javascript
教你用javascript实现随机标签云效果_附代码
2016/03/16 Javascript
JS正则获取HTML元素的方法
2017/03/31 Javascript
jquery实现图片放大点击切换
2017/06/06 jQuery
小程序ios音频播放没声音问题的解决
2018/07/11 Javascript
js实现简单选项卡功能
2020/03/23 Javascript
vue中的适配px2rem示例代码
2018/11/19 Javascript
从零开始在NPM上发布一个Vue组件的方法步骤
2018/12/20 Javascript
Python实现处理管道的方法
2015/06/04 Python
python 返回列表中某个值的索引方法
2018/11/07 Python
python 正则表达式贪婪模式与非贪婪模式原理、用法实例分析
2019/10/14 Python
基于Python3.6中的OpenCV实现图片色彩空间的转换
2020/02/03 Python
Python小白学习爬虫常用请求报头
2020/06/03 Python
Python 利用OpenCV给照片换底色的示例代码
2020/08/03 Python
基于html5绘制圆形多角图案
2016/04/21 HTML / CSS
俄罗斯金苹果网上化妆品和香水商店:Goldapple
2019/12/01 全球购物
管理科学大学生求职信
2013/11/13 职场文书
协议书的格式
2014/04/23 职场文书
培训简讯范文
2015/07/20 职场文书
领导干部学习心得体会
2016/01/23 职场文书
读《皮囊》有感:理解是对他人的最大的善举
2019/11/14 职场文书
MySQL安装后默认自带数据库的作用详解
2021/04/27 MySQL
什么是SOLID
2022/03/24 Javascript
引用计数法和root搜索算法以及JVM中判定对象需要回收的方法
2022/04/19 Java/Android
详解Python中的for循环
2022/04/30 Python
Python实现聚类K-means算法详解
2022/07/15 Python