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过渡_动力节点Java学院整理
Jul 11 HTML / CSS
css3实现超炫风车特效
Nov 12 HTML / CSS
CSS3制作炫酷的下拉菜单及弹起式选单的实例分享
May 17 HTML / CSS
利用CSS3实现折角效果实例源码
Sep 28 HTML / CSS
html5记忆翻牌游戏实现思路及代码
Jul 25 HTML / CSS
会走动的图形html5时钟示例
Apr 27 HTML / CSS
Html5 Geolocation获取地理位置信息实例
Dec 09 HTML / CSS
基于canvas使用贝塞尔曲线平滑拟合折线段的方法
Jan 10 HTML / CSS
html5录音功能实战示例
Mar 25 HTML / CSS
HTML页面滚动时部分内容位置固定不滚动的实现
Apr 14 HTML / CSS
css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效
Apr 29 HTML / CSS
Html5大屏数据可视化开发的实现
Jun 11 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读取远程gzip压缩网页的方法
2014/12/29 PHP
php使用flock阻塞写入文件和非阻塞写入文件的实例讲解
2017/07/10 PHP
thinkPHP5.0框架事务处理操作简单示例
2018/09/07 PHP
妙用Jquery的val()方法
2012/06/27 Javascript
Javascript继承(上)——对象构建介绍
2012/11/08 Javascript
JavaScript(js)设置默认输入焦点(focus)
2012/12/28 Javascript
JavaScript截取字符串的Slice、Substring、Substr函数详解和比较
2014/03/20 Javascript
Javascript中的delete操作符详细介绍
2014/06/06 Javascript
JS中处理时间之setUTCMinutes()方法的使用
2015/06/12 Javascript
常用DOM整理
2015/06/16 Javascript
node.js require() 源码解读
2015/12/13 Javascript
Node.js配合node-http-proxy解决本地开发ajax跨域问题
2016/08/31 Javascript
jquery.zclip轻量级复制失效问题
2017/01/08 Javascript
js中new一个对象的过程
2017/02/20 Javascript
Vue.js父与子组件之间传参示例
2017/02/28 Javascript
Webpack如何引入bootstrap的方法
2017/06/17 Javascript
vue2.0.js的多级联动选择器实现方法
2018/02/09 Javascript
JavaScript面试出现频繁的一些易错点整理
2018/03/29 Javascript
node打造微信个人号机器人的方法示例
2018/04/26 Javascript
Angular设置别名alias的方法
2018/11/08 Javascript
微信小程序swiper实现滑动放大缩小效果
2018/11/15 Javascript
基于vue.js实现分页查询功能
2018/12/29 Javascript
js对象数组和对象的使用实例详解
2019/08/27 Javascript
跟老齐学Python之永远强大的函数
2014/09/14 Python
Python简单定义与使用二叉树示例
2018/05/11 Python
python 每天如何定时启动爬虫任务(实现方法分享)
2018/05/21 Python
Scrapy模拟登录赶集网的实现代码
2020/07/07 Python
HTML5 video标签(播放器)学习笔记(一):使用入门
2015/04/24 HTML / CSS
大学生毕业自荐信
2013/10/10 职场文书
办公室前台岗位职责范本
2013/12/10 职场文书
青春寄语大全
2014/04/09 职场文书
应届生自荐书
2014/06/23 职场文书
总经理检讨书
2014/09/15 职场文书
5.12护士节活动总结
2015/02/10 职场文书
2015年大学宣传部工作总结
2015/05/26 职场文书
教你如何使用Python下载B站视频的详细教程
2021/04/29 Python