用js实现的抽象CSS圆角效果!!


Posted in Javascript onMay 03, 2007

大概是去年的时候吧,就在网上见过了现成的CSS圆角效果的CSS及HTML代码,例如:

<html>
<head>
<title>css圆角效果</title>
<meta http-equiv="content-type" content="text/html; charset=gb2312">
<style type="text/css">
div.RoundedCorner{background: #9BD1FA}
b.rtop, b.rbottom{display:block;background: #FFF}
b.rtop b, b.rbottom b{display:block;height: 1px;overflow: hidden; background: #9BD1FA}
b.r1{margin: 0 5px}
b.r2{margin: 0 3px}
b.r3{margin: 0 2px}
b.rtop b.r4, b.rbottom b.r4{margin: 0 1px;height: 2px}
</style>
</head>
<body>
<div class="RoundedCorner">
<b class="rtop"><b class="r1"></b><b class="r2"></b><b class="r3"></b><b class="r4"></b></b>
1
<b class="rbottom"><b class="r4"></b><b class="r3"></b><b class="r2"></b><b class="r1"></b></b>
</div>
</body>
</html> 

当然这样人为的把圆角值设置好,也非常好用了,基本上这段代码拿过去就可以用,但是如果要改变这个圆角的大小,要在这个角上加边框或基它的效果,那这段代码拿来就发挥不了它的威力了.就想做一个抽像化的组件化的东西出来!今年可谓是花费了几乎一天的时间!

想一想,圆角的四个角加在一起正好是一个圆,而圆的表达式是x*x+y*y=r*r,即x的平方加上y的平方等于半径的平方!有了这个公式,那么实现圆解的理论就得以角决了!

开始一步步的测试由没有到有,由零难化到组件化吧!我把一个圆角实现分为这样的结构
[顶部][顶部圆角显示控制][/顶部]
[主体][主体左边显示圆解控制][主体内容][主体右边显示贺角控制][/主体]
[底部][底部圆解显示控制][/底部]
得到今天的测试代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>CSS圆角框加组件开发--测试过程</title>
<style type="text/css">
<!--
#box,#topbox,#bottombox{
width:400px;
}
#box .content{ background-color:#FFCC00;height:400px;}
<?php
for($y=1;$y<=4;$y++){
 $x=(int)sqrt(4*4-$y*$y);
 $sx=4-$x;
 echo ".line{$y}{height:1px;overflow:hidden; background-color:#FFCC00;margin: 0 {$sx}px;}\n";
}
?>

-->
</style>
</head>

<body>
<div id="topbox">
<?php
for($y=4;$y>=1;$y--){
echo "<div class=\"line{$y}\"></div>\n";
}
?>
</div>
<div id="box">
<div class="content"> aaaaaaaaaaaaaaaaaa</div>
</div>
<div id="bottombox">
<?php
for($y=1;$y<=4;$y++){
echo "<div class=\"line{$y}\"></div>\n";
}
?>
</div>
</body>
</html>

Javascript 相关文章推荐
js 获取class的元素的方法 以及创建方法getElementsByClassName
Mar 11 Javascript
js获取location.href的参数实例代码
Aug 02 Javascript
jQuery中last()方法用法实例
Jan 06 Javascript
JS获取表格内指定单元格html内容的方法
Mar 31 Javascript
js原型链与继承解析(初体验)
May 09 Javascript
Google 地图控件集详解及实例代码
Aug 06 Javascript
ES5学习教程之Array对象
Apr 01 Javascript
webpack3+React 的配置全解
Aug 21 Javascript
微信小程序文章详情页面实现代码
Sep 10 Javascript
基于Vue-cli快速搭建项目的完整步骤
Nov 03 Javascript
详解Angular中实现自定义组件的双向绑定的两种方法
Nov 23 Javascript
Vue.js组件实现选项卡以及切换特效
Jul 24 Javascript
学习jquery必备 api中英文对照的chm手册 下载
May 03 #Javascript
Packer 3.0 JS压缩及混淆工具 下载
May 03 #Javascript
javascript+dom树型菜单类,希望朋友们一起进步
May 03 #Javascript
几行代码轻松搞定jquery实现flash8类似的连接效果
May 03 #Javascript
JS实多级联动下拉菜单类,简单实现省市区联动菜单!
May 03 #Javascript
javascript静态的url如何传递
May 03 #Javascript
可以支持多中格式的JS键盘
May 02 #Javascript
You might like
详解PHP中strlen和mb_strlen函数的区别
2014/03/07 PHP
Zend Framework教程之Loader以及PluginLoader用法详解
2016/03/09 PHP
javascript 表单的友好用户体现
2009/01/07 Javascript
jQuery DIV弹出效果实现代码
2009/07/03 Javascript
js中window.open()的所有参数详细解析
2014/01/09 Javascript
node.js中的fs.fchmod方法使用说明
2014/12/16 Javascript
简介JavaScript中的getUTCFullYear()方法的使用
2015/06/10 Javascript
基于jQuery实现的旋转彩圈实例
2015/06/26 Javascript
javascript动态添加checkbox复选框的方法
2015/12/23 Javascript
js实现html table 行,列锁定的简单实例
2016/10/13 Javascript
用Angular实时获取本地Localstorage数据,实现一个模拟后台数据登入的效果
2016/11/09 Javascript
Javascript实现一个简单的输入关键字添加标签效果实例
2017/06/01 Javascript
JS与HTML结合实现流程进度展示条思路详解
2017/09/03 Javascript
使用javascript做在线算法编程
2018/05/25 Javascript
Vue.js 中 axios 跨域访问错误问题及解决方法
2018/11/21 Javascript
Vue前端判断数据对象是否为空的实例
2020/09/02 Javascript
[01:05:12]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS CIS-GAME
2014/05/21 DOTA
[06:35]2014DOTA2国际邀请赛 老男孩梦圆西雅图中国军团世界最强
2014/07/22 DOTA
[56:18]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#2 MVP.Phx VS Fnatic第二局
2016/03/05 DOTA
Django验证码的生成与使用示例
2017/05/20 Python
Python实现的朴素贝叶斯算法经典示例【测试可用】
2018/06/13 Python
Python中关于浮点数的冷知识
2019/09/22 Python
Django实现将一个字典传到前端显示出来
2020/04/03 Python
python Canny边缘检测算法的实现
2020/04/24 Python
Jupyter notebook快速入门教程(推荐)
2020/05/18 Python
python中Array和DataFrame相互转换的实例讲解
2021/02/03 Python
浅谈HTML5 &amp; CSS3的新交互特性
2016/07/19 HTML / CSS
美国第二大团购网站:LivingSocial
2016/07/24 全球购物
转预备党员政审材料
2014/02/06 职场文书
金融事务专业毕业生求职信
2014/02/23 职场文书
网络编辑职责
2014/03/01 职场文书
项目投资建议书
2014/05/16 职场文书
党员反对四风问题思想汇报
2014/09/12 职场文书
毕业论文致谢部分怎么写
2015/05/14 职场文书
2016年领导干部正风肃纪心得体会
2015/10/09 职场文书
初中历史教学反思
2016/02/19 职场文书