利用DIV+CSS生成圆角边框,在很多情况下都会用到,目前DIV+CSS的圆角边框,一种是利用CSS3,一种是利用布局模拟出圆角。
先说第一种,利用CSS3,前提是您的浏览器必须支持CSS3,Firefox3是支持的,我看到的很多网站圆角也是利用CSS3直接生成的,无非就是ie下依然显示直角而已,让ie固执去吧。

利用CSS3,你可以指定4个角都是圆角,或者某一个角是圆角非常方便,代码如下:

#round {
	background-color: #000;
	border: 1px solid #000;
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	color:#fff;
}

#indie {
	background-color: #000;
	border: 1px solid #000;
	-moz-border-radius-topright: 10px;
	-moz-border-radius-bottomright: 10px;
	-webkit-border-top-left-radius: 10px;
	-webkit-border-bottom-left-radius: 10px;
	color:#fff;
}



<div id="round"><h1>圆角边框</h1></div>
<div id="indie"><h1>部分圆角</h1></div>



效果图:


[img]http://www.kutoku.info/images/java/100713/rand2.png[/img]


以上是CSS3的圆角,好处是:方便,正规,正确。缺点嘛(姑且算缺点吧),IE不支持,至少IE6,IE7不支持。



下面是第二种圆角边框的方法,完美支持Firefox和IE,缺点就是麻烦点。道理很简单:在一个DIV的上面放4个<b>标签,从下道上一次递减2个像素。在DIV下面也放4个<b>标签,从上到下一次递减两个像素。从而模拟出圆角的效果。


效果图:


[img]http://www.kutoku.info/images/java/100713/rand.png[/img]


body{background:#fff;}
#nav h1, #nav h2, #nav p {margin:0 10px; letter-spacing:1px;}
#nav h1,#nav h2{font-size:2.5em; color:#fff;}
#nav {background: transparent; margin:1em;text-align:center;}

.xtop, .xbottom {display:block; background:transparent; font-size:1px;}
.xb1, .xb2, .xb3, .xb4 {display:block; overflow:hidden;}
.xb1, .xb2, .xb3 {height:1px;}
.xb2, .xb3, .xb4 {background:#000; border-left:1px solid #000; border-right:1px solid #000;}
.xb1 {margin:0 5px; background:#000;}
.xb2 {margin:0 3px; border-width:0 2px;}
.xb3 {margin:0 2px;}
.xb4 {height:2px; margin:0 1px;}

.xboxcontent {display:block; background:#000; border:0 solid #000; border-width:0 1px;}



<div id="nav">
<b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"></b></b>
<div class="xboxcontent">
<h1>圆角边框</h1>
<h2>Rounded borders without images</h2>
<img src="./logo.png" width="700"/>
</div>
<b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"></b></b>
</div>




上面两个例子的完整代码见附件。