css实现简单圆角效果
作者:天驱 来源:Alipay UED 时间:2008-11-27 13:11:00
目前,我们要在网页中使用圆角效果,总是通过切图然后嵌套很多div,用背景来实现圆角效果。对于前端开发工程师来说,圆角的确是一个让人又爱又恨的东西,一方面顾及设计师追求的美观效果,另一方面又不得不增添很多工作投入。无意中看到别人写的一个用纯粹css来实现的圆角效果,研究了一下发现对于那些需求比较简单的圆角效果还是一种很好的方法。总结了一下,可以实现自适应的纯css圆角效果。
首先,我们看一下一般圆角的结构:
从下图可以明显看出圆角和直边的关系,其实把圆角放大之后可以看到圆角是由像素化的直边组成的:
于是就有了css实现圆角的思路,就是通过用1px 的水平线条来堆叠出圆角,其中border和background的颜色填充来实现圆角边框,同时设置不同的左右margin数值(以1px为基数)来实现错位,从而整体上实现了简单的圆角效果。
下面介绍一下代码:
html部分(思路是“头部+内容+底部”):
<div>
<b class="round">
<b class="round1"></b>
<b class="round2"></b>
<b class="round3"></b>
<b class="round4"></b>
<b class="round5"></b>
</b>
<div class="roundContent">
<!-- 显示内容区域 -->
我是内容 <br />
我是内容 <br />
我是内容 <br />
我是内容 <br />
</div>
<b class="round">
<b class="round5"></b>
<b class="round4"></b>
<b class="round3"></b>
<b class="round2"></b>
<b class="round1"></b>
</b>
</div>
通过<B>标签来模组建dom结构,上中下三部分拼合形成一个圆角整体。
css样式部分(主要是border颜色和margin数值):
<style type="text/css">
.round{display:block}
.round *{
display:block;
height:1px;
overflow:hidden;
font-size:.01em;
background:#e7ff94;
}
.round1{
margin:0 4px;
border:1px solid #ff2000;
background:#ff2000;/*头尾边框色*/
}
.round2{
margin:0 3px;
border:1px solid #ff2000;
}
.round3{
margin:0 2px;
border:1px solid #ff2000;}
.round4{
margin:0 1px;
border:1px solid #ff2000;}
.round5{
margin:0 1px;
border:1px solid #ff2000;
}
.round1,.round2,.round3,.round4,.round5{
border-top:none;
border-bottom:none;
}
.roundContent{
border-left:1px solid #ff2000;
border-right:1px solid #ff2000;/*左右边框色*/
background:#e7ff94;
padding:10px;
}
</style>
很容易看出这不是真正的圆角,没有很好的过渡效果,只是一定程度上模拟了圆角的实现原理。对于那些要求效果比较高的圆角和设计比较复杂的圆角来说不是很适用。
具体的效果如下:
demo文件在这里:点击查看
标签:圆角,自适应,css
0
投稿
猜你喜欢
Python安装使用命令行交互模块pexpect的基础教程
2023-07-09 22:43:40
使用postman进行接口测试的方法(测试用户管理模块)
2023-03-13 15:59:11
discuz 2.0整合asp系统,用户添加函数
2011-04-02 11:08:00
基于Python编写一个自动关机程序
2023-07-30 08:19:20
sqlserver数据库出现置疑的解决思路
2024-01-13 20:11:34
vue3缓存页面keep-alive及路由统一处理详解
2024-05-02 16:34:12
使用线框图来简化你的产品设计流程
2011-06-10 13:10:00
SQL 中STUFF用法
2024-01-25 01:14:30
JavaScript链式调用的设计
2009-12-04 12:46:00
Python实现二分查找算法实例
2022-04-07 08:44:37
SQL SERVER 2008 无法附加数据库的解决方法
2024-01-18 02:35:50
python虚拟环境的安装配置图文教程
2023-09-23 09:03:04
使用ASP脚本命令重新启动服务器
2008-10-10 11:53:00
js显示世界时间示例(包括世界各大城市)
2024-04-10 13:54:37
pycharm激活码快速激活及使用步骤
2022-05-09 01:31:29
实例解析MySQL中的存储过程及存储过程的调用方法
2024-01-21 19:45:04
Python实现合并同一个文件夹下所有txt文件的方法示例
2023-10-11 00:24:22
IE和Firefox的js兼容性整理
2007-11-21 19:40:00
javascript实现炫酷的拖动分页
2024-06-19 01:46:04
浅析Django 接收所有文件,前端展示文件(包括视频,文件,图片)ajax请求
2023-03-30 14:35:25