用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 相关文章推荐
Jquery中Ajax 缓存带来的影响的解决方法
May 19 Javascript
javascript页面动态显示时间变化示例代码
Dec 18 Javascript
vue实现可增删查改的成绩单
Oct 27 Javascript
jQuery EasyUI 页面加载等待及页面等待层
Feb 06 Javascript
vue中用动态组件实现选项卡切换效果
Mar 25 Javascript
AngularJS 打开新的标签页实现代码
Sep 07 Javascript
防止页面url缓存中ajax中post请求的处理方法
Oct 10 Javascript
JavaScript实现鼠标滚轮控制页面图片切换功能示例
Oct 14 Javascript
node.js环境搭建图文详解
Sep 19 Javascript
微信小程序使用二次贝塞尔曲线画波浪
Dec 25 Javascript
小程序实现横向滑动日历效果
Oct 21 Javascript
详解JavaScript中精度失准问题及解决方法
Feb 04 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中二分法查找算法实例分析
2016/09/22 PHP
Yii框架弹出窗口组件CJuiDialog用法分析
2017/01/07 PHP
laravel 获取当前url的别名方法
2019/10/11 PHP
jquery.AutoComplete.js中文修正版(支持firefox)
2010/04/09 Javascript
JQuery扩展插件Validate 2通过参数设置验证规则
2011/09/05 Javascript
JavaScript实现统计文本框Textarea字数增强用户体验
2012/12/21 Javascript
JS实现遮罩层效果的简单实例
2013/11/12 Javascript
javascript loadScript异步加载脚本示例讲解
2013/11/14 Javascript
js点击文本框后才加载验证码实例代码
2015/10/20 Javascript
探究Javascript模板引擎mustache.js使用方法
2016/01/26 Javascript
适用于javascript开发者的Processing.js入门教程
2016/02/24 Javascript
jQuery实现的仿百度,仿谷歌搜索下拉框效果示例
2016/12/30 Javascript
jQuery插件jquery.kxbdmarquee.js实现无缝滚动效果
2017/02/15 Javascript
JavaScript结合HTML DOM实现联动菜单
2017/04/05 Javascript
swiper 自动图片无限轮播实现代码
2018/05/21 Javascript
详解vue中的computed的this指向问题
2018/12/05 Javascript
vue限制输入框只能输入8位整数和2位小数的代码
2019/11/06 Javascript
js实现提交前对列表数据的增删改查
2020/01/16 Javascript
[03:49]DOTA2 2015国际邀请赛中国区预选赛第二日现场百态
2015/05/27 DOTA
Python变量作用范围实例分析
2015/07/07 Python
python如何读写csv数据
2018/03/21 Python
python版本五子棋的实现代码
2018/12/11 Python
tensorflow 获取checkpoint中的变量列表实例
2020/02/11 Python
将pymysql获取到的数据类型是tuple转化为pandas方式
2020/05/15 Python
python能做哪些生活有趣的事情
2020/09/09 Python
详解selenium + chromedriver 被反爬的解决方法
2020/10/28 Python
南非最受欢迎的时尚品牌:MRP
2016/09/18 全球购物
电子商务专业个人的自我评价分享
2013/10/29 职场文书
交通事故调解协议书
2014/04/16 职场文书
安全宣传标语口号
2014/06/06 职场文书
质量月活动总结
2014/08/26 职场文书
班子查摆四风个人对照检查材料思想汇报
2014/10/04 职场文书
接收函
2019/04/22 职场文书
Nginx+Tomcat负载均衡多实例详解
2022/04/11 Servers
使用python绘制分组对比柱状图
2022/04/21 Python
ECharts transform数据转换和dataZoom在项目中使用
2022/12/24 Javascript