用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 文件大小判断的实现代码
Apr 07 Javascript
js原生态函数中使用jQuery中的 $(this)无效的解决方法
May 25 Javascript
jQuery的.live()和.die() 使用介绍
Sep 10 Javascript
基于jquery的拖动布局插件
Nov 25 Javascript
全面理解面向对象的 JavaScript(来自ibm)
Nov 10 Javascript
JS设置CSS样式的方式汇总
Jan 21 Javascript
JS控制鼠标拒绝点击某一按钮的实例
Dec 29 Javascript
vue-cli脚手架搭建的项目去除eslint验证的方法
Sep 29 Javascript
解决layui动态添加的元素click等事件触发不了的问题
Sep 20 Javascript
js实现登录拖拽窗口
Feb 10 Javascript
浅谈vue中$event理解和框架中在包含默认值外传参
Aug 07 Javascript
vue3不同环境下实现配置代理
May 25 Vue.js
学习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 strcmp使用说明
2010/04/22 PHP
ThinkPHP独立分组使用的注意事项
2014/11/25 PHP
PHP设计模式之适配器模式(Adapter)原理与用法详解
2019/12/12 PHP
PHP中mysqli_get_server_version()的实例用法
2020/02/03 PHP
Node.js安装教程和NPM包管理器使用详解
2014/08/16 Javascript
js中的json对象详细介绍
2014/10/29 Javascript
浅析javascript中的事件代理
2015/11/06 Javascript
实例解析jQuery插件EasyUI最常用的表单验证规则
2015/11/29 Javascript
理解javascript封装
2016/02/23 Javascript
学习AngularJs:Directive指令用法(完整版)
2016/04/26 Javascript
Bootstrap表单控件使用方法详解
2017/01/11 Javascript
Bootstrap实现翻页效果
2017/11/27 Javascript
D3.js实现拓扑图的示例代码
2018/06/30 Javascript
js闭包的9个使用场景
2020/12/29 Javascript
python持久性管理pickle模块详细介绍
2015/02/18 Python
状态机的概念和在Python下使用状态机的教程
2015/04/11 Python
用Python进行行为驱动开发的入门教程
2015/04/23 Python
python实现xlsx文件分析详解
2018/01/02 Python
python 实现人和电脑猜拳的示例代码
2020/03/02 Python
Pycharm的Available Packages为空的解决方法
2020/09/18 Python
CSS3实战第一波 让我们尽情的圆角吧
2010/08/27 HTML / CSS
HTML5是否真的可以取代Flash
2010/02/10 HTML / CSS
HTML5中5个简单实用的API(第二篇,含全屏、可见性、拍照、预加载、电池状态)
2014/05/07 HTML / CSS
爱他美官方海外旗舰店:Aptamil奶粉
2017/12/22 全球购物
职业生涯规划怎么写
2013/12/29 职场文书
数学检讨书1000字
2014/02/24 职场文书
诚信的演讲稿范文
2014/05/12 职场文书
给校长的建议书500字
2014/05/15 职场文书
大二学生学年自我鉴定
2014/09/12 职场文书
2015年生产车间工作总结
2015/04/22 职场文书
入党积极分子培养联系人意见
2015/08/12 职场文书
小学远程教育工作总结
2015/08/13 职场文书
2019年大学毕业生个人自我鉴定范文大全
2019/03/21 职场文书
分享几个JavaScript运算符的使用技巧
2021/04/24 Javascript
分析设计模式之模板方法Java实现
2021/06/23 Java/Android
如何更改Win11声音输出设备?Win11声音输出设备四种更改方法
2022/04/08 数码科技