用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设置控件位置的方法
Aug 21 Javascript
JS实现点击链接取消跳转效果的方法
Jan 24 Javascript
关于微信jssdk实现多图片上传的一点心得分享
Dec 13 Javascript
原生js实现水平方向无缝滚动
Jan 10 Javascript
JavaScript定义函数的三种实现方法
Sep 23 Javascript
简单介绍react redux的中间件的使用
Apr 06 Javascript
Hexo已经看腻了,来手把手教你使用VuePress搭建个人博客
Apr 26 Javascript
vue addRoutes实现动态权限路由菜单的示例
May 15 Javascript
vue router带参数页面刷新或回退参数消失的解决方法
Feb 27 Javascript
轻松学习JavaScript函数中的 Rest 参数
May 30 Javascript
使用 UniApp 实现小程序的微信登录功能
Jun 09 Javascript
使用Vue Composition API写出清晰、可扩展的表单实现
Jun 10 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简单对象与数组的转换函数代码(php多层数组和对象的转换)
2011/05/18 PHP
解析PHP SPL标准库的用法(遍历目录,查找固定条件的文件)
2013/06/18 PHP
基于PHP+Ajax实现表单验证的详解
2013/06/25 PHP
thinkphp缓存技术详解
2014/12/09 PHP
PHP 5.3和PHP 5.4出现FastCGI Error解决方法
2015/02/12 PHP
php实现用于验证所有类型的信用卡类
2015/03/24 PHP
php时间计算相关问题小结
2016/05/09 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
2017/07/20 PHP
自写的利用PDO对mysql数据库增删改查操作类
2018/02/19 PHP
广告显示判断
2006/08/31 Javascript
jQuery实现的Email中的收件人效果(按del键删除)
2011/03/20 Javascript
提示$ is not defined错误分析及解决
2013/04/09 Javascript
介绍JavaScript的一个微型模版
2015/06/24 Javascript
javascript跨域方法、原理以及出现问题解决方法(详解)
2015/08/06 Javascript
谈谈javascript中使用连等赋值操作带来的问题
2015/11/26 Javascript
JS如何判断json是否为空
2016/07/06 Javascript
需要牢记的JavaScript基础知识
2016/09/25 Javascript
js前端解决跨域问题的8种方案(最新最全)
2016/11/18 Javascript
关于vue.js发布后路径引用的问题解决
2017/08/15 Javascript
小程序调用微信支付的方法
2019/09/26 Javascript
微信小程序 textarea 层级过高问题简单解决方案
2019/10/14 Javascript
vue项目中在可编辑div光标位置插入内容的实现代码
2020/01/07 Javascript
js实现简单的贪吃蛇游戏
2020/04/23 Javascript
python开发之tkinter实现图形随鼠标移动的方法
2015/11/11 Python
浅析Python的web.py框架中url的设定方法
2016/07/11 Python
python dataframe常见操作方法:实现取行、列、切片、统计特征值
2018/06/09 Python
opencv实现简单人脸识别
2021/02/19 Python
python模块导入的方法
2019/10/24 Python
python 基于opencv 实现一个鼠标绘图小程序
2020/12/11 Python
编写一子程序,将一链表倒序,即使链表表尾变表头,表头变表尾
2016/02/10 面试题
关于递归的一道.NET面试题
2013/05/12 面试题
开学典礼主持词
2014/03/19 职场文书
经验交流材料格式
2014/12/30 职场文书
会议主持人开场白台词
2015/05/28 职场文书
三年级作文之趣事作文
2019/11/04 职场文书
浅谈MySQL之select优化方案
2021/08/07 MySQL