用CSS实现圆角效果的几种方法

<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>很多的朋友问CSS圆角的问题,今天休假正好有时间,就写了如下的几种方法,基本上是我所能想到的都写下来了,希望朋友们用得上!呵呵!

第一种方法:
用的float属性写的
原理:是用宽高等于2的box定义其magin:-1来盖住后面的大框的border,然后在box里写一个宽高为1的小box来显示出突出的点

第二种方法: 其实和第一种方法是一样的,只是我加了个JS用来,这样在大网站调用时,比较快,一次性的下载了所有的圆解CSS,显示速度会快一点!小站也就无所谓了


第三种方法:
用了从上而下一致的box,只是定义了每一个box的margin:0 2px,这样改变数值从而达到圆角的效果,这个方法,我写了三个线来显示圆角,比上面的两个要多一个像素!



第四种方法: 这种方法和第三种方法是一样的,不过这里用了五层来写圆角,这样的圆弧度比较大,而且具说是最科学的一个算法,来显示圆角!要不然google怎么也会用这么大的圆角呢,呵呵!


以下代码在IE7和Firefox下测试都没有问题!,呵呵
欢迎朋友们对CSS进行交流指证!
复制内容到剪贴板
代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<style>
.content{border:1px #000 solid;margin:10px 0px;}
.g{margin:-1px;height:2px;width:2px;float:left;background:#FFF;overflow:hidden;}
.p{margin:1px;height:1px;width:1px;background:#000;overflow:hidden;}
</style>
<script language="javascript">
function getByTagName(e){return document.getElementsByTagName(e);}
function creatRoutBox(){
var boxs = getByTagName("div");
for (i=0 ;i < boxs.length ;i++) {
  if ( boxs[i].className == "t") {
   boxs[i].innerHTML = '<div class="g"><div class="p"></div></div><div class="g" style="float:right;"><div class="p" style="margin:1px 1px 0px 0px;"></div></div>';
  }
  if ( boxs[i].className == "b") {
   boxs[i].innerHTML = '<div class="g"><div class="p" style="margin:0px 0px 1px 1px;"></div></div><div class="g" style="float:right;"><div class="p" style="margin:0px 1px 1px 0px;"></div></div>';
  }
}
}
</script>
</HEAD>
<BODY οnlοad="creatRoutBox()">
第一种方法:
<div class="content">
<div class="x"><div class="g"><div class="p"></div></div><div class="g" style="float:right;"><div class="p" style="margin:1px 1px 0px 0px;"></div></div></div>
<div style="clear:both;margin:10px;">用的float属性写的
原理:是用宽高等于2的box定义其magin:-1来盖住后面的大框的border,然后在box里写一个宽高为1的小box来显示出突出的点
</div>
<div class="d"><div class="g"><div class="p" style="margin:0px 0px 1px 1px;"></div></div><div class="g" style="float:right;"><div class="p" style="margin:0px 1px 1px 0px;"></div></div></div>
</div>
第二种方法:
<div style="width:300px;">
<div class="content" style="background:#e1e1e1">
<div class="t"></div>
<div style="clear:both;margin:10px;">其实和第一种方法是一样的,只是我加了个JS用来,这样在大网站调用时,比较快,一次性的下载了所有的圆解CSS,显示速度会快一点!小站也就无所谓了</div>
<div class="b"></div>
</div></div>

<p></p>
第三种方法:
<style type="text/CSS">
.box{background:#FFF;width: 200px;}
.tb {display:block;background:#fff}
.tb div {display:block;height:1px;overflow:hidden;border-left:1px solid #000;border-right:1px solid #000;font-size:1px;}
.tb .r1{margin:0px 3px;border:0px;}
.tb .r2 {margin:0px 2px;}
.tb .r3 {margin:0px 1px;}
</style>
<div class="box">
    <div class="tb">
        <div class="r1" style="border-bottom:1px #000 solid;"></div>
        <div class="r2"></div>
        <div class="r3"></div>
    </div>
<div style="border-left:1px #000 solid;border-right:1px #000 solid;padding:10px 10px;">用了从上而下一致的box,只是定义了每一个box的margin:0 2px,这样改变数值从而达到圆角的效果,这个方法,我写了三个线来显示圆角,比上面的两个要多一个像素!<p></p></div>
  <div class="tb">
        <div class="r3"></div>
        <div class="r2"></div>
        <div class="r1" style="border-top:1px #000 solid;"></div>
    </div>
</div>
<p></p>
第四种方法:
<STYLE type=text/css>
#xsnazzy {background: transparent; }
.xtop, .xbottom {display:block; background:transparent; font-size:1px;}
.xb1, .xb2, .xb3, .xb4 {display:block; overflow:hidden;height:1px;background:#ccc; border-left:1px solid #08c; border-right:1px solid #08c;}
.xb1 {margin:0 5px; background:#08c;}
.xb2 {margin:0 3px; border-width:0 2px;}
.xb3 {margin:0 2px;}
.xb4 {height:2px; margin:0 1px;}
.xboxcontent {display:block; background:#ccc; border:0 solid #08c; border-width:0 1px;}
</STYLE>
<DIV id=xsnazzy style=width:400px;><B class=xtop><B class=xb1></B><B class=xb2></B><B class=xb3></B><B class=xb4></B></B>
<DIV class=xboxcontent>
这种方法和第三种方法是一样的,不过这里用了五层来写圆角,这样的圆弧度比较大,而且具说是最科学的一个算法,来显示圆角!要不然google怎么也会用这么大的圆角呢,呵呵!</DIV><B class=xbottom><B class=xb4></B><B class=xb3></B><B class=xb2></B><B class=xb1></B></B></DIV>
</BODY>
</HTML>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值