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一款3D字体带阴影效果的实现步骤
Mar 20 HTML / CSS
结合 CSS3 transition transform 实现简单的跑马灯效果的示例
Feb 07 HTML / CSS
CSS3使用transition属性实现过渡效果
Apr 18 HTML / CSS
CSS3实现王者匹配时的粒子动画效果
Apr 12 HTML / CSS
html5 学习简单的拾色器
Sep 03 HTML / CSS
HTML5的革新 结构之美
Jun 20 HTML / CSS
html5 canvas实现圆形时钟代码分享
Dec 25 HTML / CSS
用HTML5制作一个简单的弹力球游戏
May 12 HTML / CSS
借助HTML5 Canvas API制作一个简单的猜字游戏
Mar 25 HTML / CSS
Html5页面中的返回实现的方法
Feb 26 HTML / CSS
HTML页面滚动时部分内容位置固定不滚动的实现
Apr 14 HTML / CSS
HTML页面点击按钮关闭页面的多种方式
Dec 24 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
ie与session丢失(新窗口cookie丢失)实测及解决方案
2013/07/15 PHP
php中实现获取随机数组列表的自定义函数
2015/04/02 PHP
Json_encode防止汉字转义成unicode的方法
2016/02/25 PHP
PHP MSSQL 分页实例
2016/04/13 PHP
JavaScript 直接操作本地文件的实现代码
2009/12/01 Javascript
jquery入门—编写一个导航条(可伸缩)
2013/01/07 Javascript
jquery(hide方法)隐藏指定元素实例
2013/11/11 Javascript
聊一聊jQuery插件uploadify使用方法
2016/08/24 Javascript
JS控制页面跳转时未请求要跳转的地址怎么回事
2016/10/14 Javascript
纯原生js实现贪吃蛇游戏
2020/04/16 Javascript
完美实现js拖拽效果 return false用法详解
2017/07/28 Javascript
Vue2.0+Vux搭建一个完整的移动webApp项目的示例
2019/03/19 Javascript
Vue替代marquee标签超出宽度文字横向滚动效果
2019/12/09 Javascript
浅谈Vue3.0新版API之composition-api入坑指南
2020/04/30 Javascript
Node使用koa2实现一个简单JWT鉴权的方法
2021/01/26 Javascript
对Python新手编程过程中如何规避一些常见问题的建议
2015/04/01 Python
Python编写生成验证码的脚本的教程
2015/05/04 Python
浅析Python基础-流程控制
2016/03/18 Python
Python 通过pip安装Django详细介绍
2017/04/28 Python
Django外键(ForeignKey)操作以及related_name的作用详解
2019/07/29 Python
django 前端页面如何实现显示前N条数据
2020/03/16 Python
python 贪心算法的实现
2020/09/18 Python
浅谈HTML5新增和废弃的标签
2019/04/28 HTML / CSS
澳洲国民品牌乡村路折扣店:Country Road & Trenery Outlet
2018/04/19 全球购物
巴西宠物商店:Cobasi
2019/04/19 全球购物
大学生期末自我鉴定
2014/02/01 职场文书
保护环境的建议书
2014/03/12 职场文书
学习保证书范文
2014/04/30 职场文书
党员弘扬焦裕禄精神思想汇报
2014/09/10 职场文书
高等学院职业生涯规划书范文
2014/09/16 职场文书
检讨书格式
2015/01/23 职场文书
获奖感言怎么写
2015/07/31 职场文书
2016国庆节活动宣传语
2015/11/25 职场文书
2019教师的学习计划
2019/06/25 职场文书
如何书写你的职业生涯规划书?
2019/06/27 职场文书
javascript实现计算器功能详解流程
2021/11/01 Javascript