用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 相关文章推荐
有趣的javascript数组定义方法
Sep 10 Javascript
jQuery中对未来的元素绑定事件用bind、live or on
Apr 17 Javascript
node.js正则表达式获取网页中所有链接的代码实例
Jun 03 Javascript
jQuery判断元素上是否绑定了指定事件的方法
Mar 17 Javascript
JS去除iframe滚动条的方法
Apr 01 Javascript
对JavaScript客户端应用编程的一些建议
Jun 24 Javascript
javascript中call apply 与 bind方法详解
Mar 10 Javascript
Bootstrap项目实战之子栏目资讯内容
Apr 25 Javascript
jQuery时间日期三级联动(推荐)
Nov 27 Javascript
JavaScript用构造函数如何获取变量的类型名
Dec 23 Javascript
vue element-ui之怎么封装一个自己的组件的详解
May 20 Javascript
vue从后台渲染文章列表以及根据id跳转文章详情详解
Dec 14 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初学者头疼问题总结
2006/07/08 PHP
实时抓取YAHOO股票报价的代码
2006/10/09 PHP
PHP 冒泡排序算法的实现代码
2010/08/08 PHP
PHP及Zend Engine的线程安全模型分析
2011/11/10 PHP
PHP实现微信网页授权开发教程
2016/01/19 PHP
PHP API接口必备之输出json格式数据示例代码
2017/06/27 PHP
ThinkPHP整合datatables实现服务端分页的示例代码
2018/02/10 PHP
PHP实现微信提现功能
2018/09/30 PHP
JavaScript 模式之工厂模式(Factory)应用介绍
2012/11/15 Javascript
JavaScript中使用document.write向页面输出内容实例
2014/10/16 Javascript
js实现按钮控制图片360度翻转特效的方法
2015/02/17 Javascript
完美实现八种js焦点轮播图(下篇)
2020/04/20 Javascript
浅谈JS 数字和字符串之间相互转化的纠纷
2017/10/20 Javascript
jQuery实现的简单前端搜索功能示例
2017/10/28 jQuery
Angular2学习笔记之数据绑定的示例代码
2018/01/03 Javascript
vue 强制组件重新渲染(重置)的两种方案
2019/10/29 Javascript
vue实现动态表格提交参数动态生成控件的操作
2020/11/09 Javascript
python 切片和range()用法说明
2013/03/24 Python
Python创建日历实例
2014/08/21 Python
Python爬虫常用库的安装及其环境配置
2018/09/19 Python
django框架基于queryset和双下划线的跨表查询操作详解
2019/12/11 Python
Python3 Click模块的使用方法详解
2020/02/12 Python
Python定时从Mysql提取数据存入Redis的实现
2020/05/03 Python
纽约JewelryAffairs珠宝店:精细金银时尚首饰
2017/02/05 全球购物
巴西电子、家电、智能手机购物网站:Girafa
2019/06/04 全球购物
Java servlet面试题
2012/03/04 面试题
应届生会计电算化求职信
2013/10/03 职场文书
教师求职信范文分享
2013/12/27 职场文书
品牌服务方案
2014/06/03 职场文书
四风问题对照检查材料思想汇报
2014/10/07 职场文书
婚前财产协议书范本
2014/10/19 职场文书
个人整改方案范文
2014/10/25 职场文书
2014年安全保卫工作总结
2014/11/13 职场文书
结婚通知短信大全
2015/04/17 职场文书
《文化苦旅》读后感:阅读,让人诗意地栖居在大地上
2019/12/24 职场文书
SQL实现LeetCode(178.分数排行)
2021/08/04 MySQL