`

Css圆角边框

阅读更多

一、CSS3圆角的优点

  传统的圆角生成方案,必须使用多张图片作为背景图案。CSS3的出现,使得我们再也不必浪费时间去制作这些图片了,而且还有其他多个优点:

  * 减少维护的工作量。图片文件的生成、更新、编写网页代码,这些工作都不再需要了。

  * 提高网页性能。由于不必再发出多余的HTTP请求,网页的载入速度将变快。

  * 增加视觉可靠性。某些情况下(网络拥堵、服务器出错、网速过慢等等),背景图片会下载失败,导致视觉效果不佳。CSS3就不会发生这种情况。

  二、border-radius属性

  CSS3圆角只需设置一个属性:border-radius(含义是"边框半径")。你为这个属性提供一个值,就能同时设置四个圆角的半径。所有合法的CSS度量值都可以使用:em、ex、pt、px、百分比等等。

  比如,下面是一个div方框:

  现在设置它的圆角半径为15px:

  border-radius: 15px;

  这条语句同时将每个圆角的"水平半径"(horizontal radius)和"垂直半径"(vertical radius)都设置为15px。

  border-radius可以同时设置1到4个值。如果设置1个值,表示4个圆角都使用这个值。如果设置两个值,表示左上角和右下角使用第一个值,右上角和左下角使用第二个值。如果设置三个值,表示左上角使用第一个值,右上角和左下角使用第二个值,右下角使用第三个值。如果设置四个值,则依次对应左上角、右上角、右下角、左下角(顺时针顺序)。

  border-radius: 15px 5px;

  border-radius: 15px 5px 25px;

  border-radius: 15px 5px 25px 0px;

  (左下角的半径为0,就变成直角了。)

  border-radius还可以用斜杠设置第二组值。这时,第一组值表示水平半径,第二组值表示垂直半径。第二组值也可以同时设置1到4个值,应用规则与第一组值相同。

  border-radius: 15px 5px / 3px;

  border-radius: 15px 5px 25px / 3px 5px;

  border-radius: 15px 5px 25px 5px / 3px 5px 10px 15px;

  三、单个圆角的设置

  除了同时设置四个圆角以外,还可以单独对每个角进行设置。对应四个角,CSS3提供四个单独的属性:

  * border-top-left-radius
  * border-top-right-radius
  * border-bottom-right-radius
  * border-bottom-left-radius

  这四个属性都可以同时设置1到2个值。如果设置1个值,表示水平半径与垂直半径相等。如果设置2个值,第一个值表示水平半径,第二个值表示垂直半径。

  border-top-left-radius: 15px;

  border-top-left-radius: 15px 5px;

  四、浏览器支持

  IE 9、Opera 10.5、Safari 5、Chrome 4和Firefox 4,都支持上述的border-radius属性。早期版本的Safari和Chrome,支持-webkit-border-radius属性,早期版本的Firefox支持-moz-border-radius属性。

  目前来看,为了保证兼容性,只需同时设置-moz-border-radius和border-radius即可。

  -moz-border-radius: 15px;
  border-radius: 15px;

  (注意:border-radius必须放在最后声明,否则可能会失效。)

  另外,早期版本Firefox的单个圆角的语句,与标准语法略有不同。

  * -moz-border-radius-topleft(标准语法:border-top-left-radius)
  * -moz-border-radius-topright(标准语法:border-top-right-radius)
  * -moz-border-radius-bottomleft(标准语法:border-bottom-left-radius)
  * -moz-border-radius-bottomright(标准语法:border-bottom-right-radius)

  五、注意事项

  虽然各大浏览器都支持border-radius,但是在某些细节上,实现都不一样。当四个角的颜色、宽度、风格(实线框、虚线框等)、单位都相同时,所有浏览器的渲染结果基本一致;一旦四个角的设置不相同,就会出现很大的差异。比如,下面这段代码在不同的浏览器中,渲染结果就相差很大。

  border-color: black;
  border-style: solid dashed;
  border-width: 1px 2px 3px;
  border-top-color: red;
  border-radius: 5%;

  另外,并非所有浏览器,都支持将圆角半径设为一个百分比值。

  因此,目前最安全的做法,就是将每个圆角边框的风格和宽度,都设为一样的值,并且避免使用百分比值。

 

=================================================================

 

以上是CSS3的写法

如下是传统的写法:

<html>
<head>
<style>
#a{
	border-left:1px #333 solid;
	border-right:1px #333 solid;
	width:300px;
	height:200px;
	background:#99FFFF;
}
.b{
	height:1px;
	overflow:hidden;
	border-left:1px #333 solid;
	border-right:1px #333 solid;
	background:#99FFFF;
}
textarea{
	width:294px;
	height:200px;
	background:#99FFFF;
	border:0;
	border-color:#99FFFF;
	overflow:hidden;
}
</style>
</head>
<body>
<div>
	
	<div class="b" style="margin-left:3px;width:294px;background:#333"></div>
	
	<div class="b" style="margin-left:2px;width:296px;"></div>
	<div class="b" style="margin-left:1px;width:298px"></div>

	<div id="a">
	<textarea>
	以我的能力,纯DIV+CSS实现的效果只能做到这样了。这里是放置内容的地方,自己看一看代码的规律,很容易明白。

	代码很简单,a层为放置内容的层,其width值为300,然后向外以2像素的宽度递减,用一个像素来控制圆角。最外一层要加上background为个属性,目的是要将上、下两线条呈现出来。

	这里实现了3像素的圆角边框,b层的数量决定了要实现多少个像素边框。建议不要多于3层,最好是2层,即2像素圆角边框,或者1层,因为层数越多,圆角的表现就越不圆滑。在firefox  IE6 都通过测试。
	</textarea>
	</div>
	<div class="b" style="margin-left:1px;width:298px"></div>
	<div class="b" style="margin-left:2px;width:296px;"></div>
	<div class="b" style="margin-left:3px;width:294px;background:#333"></div>

</div>
</body>
</html>

---------------------------------------------------------------

<html>
 <head>
   <style type="text/css">
   
   u.corner u
   {
       height: 1px;
       font-size:1px;
       display: block;
       overflow: hidden;
       text-decoration: none;
       border-color:#CC0033;
	   border-style:solid;
   }
  
   u.corner u.h1{margin: 0 5px;} 
   u.corner u.h2{margin: 0 3px;}
   u.corner u.h3{margin: 0 2px;}
   u.corner u.h4{margin: 0 1px; height: 2px}
   /*
     用一个像素的点和控制边距控制显示位置。这个缺点是只能通过背景色来控制。不能设置边框
   */
   </style>
 <head>
 <body>
   <div> 
   <u class="corner"><u class="h1"></u><u class="h2"></u><u class="h3"></u><u class="h4"></u></u>
     <div style="border-color:#CC0033;border-style:solid; height: 210;border-width:0 1px;">content</div>
   <u class="corner"><u class="h4"></u><u class="h3"></u><u class="h2"></u><u class="h1"></u></u>
   </div>
 </body>

</html> 

========================================
<fieldset style="width:500px;">
  <legend>
  标题圆角效果
  </legend>
  内容比DIV好的圆角效果
</fieldset>


--------------------------------------
<style type="text/css">

#xsnazzy h1, #xsnazzy h2, #xsnazzy p {margin:0 10px; letter-spacing:1px;}
#xsnazzy h1 {font-size:2.5em; color:#fff;}
#xsnazzy h2 {font-size:2em;color:#06a; border:0;}
#xsnazzy p {padding-bottom:0.5em;}
#xsnazzy h2 {padding-top:0.5em;}
#xsnazzy {background: transparent; margin:1em;}

.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:#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">
<b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"></b></b>
<div class="xboxcontent">
<h1>Snazzy Borders</h1>
<p>Based on Nifty Corners By Alessandro Fulciniti<br />http://pro.html.it/esempio/nifty/</p>

content
</div>
<b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"></b></b>
</div> 

 

分享到:
评论
2 楼 zhanwc 2012-06-26  
xzz7175327 写道
感谢、、、十分有用!

不客气
1 楼 xzz7175327 2012-06-26  
感谢、、、十分有用!

相关推荐

    无懈可击的CSS圆角边框(自由伸缩)

    ### 无懈可击的CSS圆角边框(自由伸缩) #### CSS圆角边框技术解析 在网页设计中,圆角边框是一种常见的视觉元素,能够为页面带来更加柔和、美观的效果。然而,当涉及到创建一个可以自由伸缩的圆角边框时,就需要...

    DIV+CSS 圆角边框

    在早期的CSS版本中,实现圆角边框需要使用图片或者JavaScript,但随着CSS3的引入,这一过程变得更加简洁。 首先,我们来看CSS3中的`border-radius`属性,这是实现圆角边框的关键。`border-radius`允许开发者为每个...

    css 圆角边框 样式表

    本文将深入探讨CSS圆角边框的原理以及如何在实际网页设计中应用。 一、CSS圆角边框的原理 CSS3引入了`border-radius`属性,允许我们设置元素边框的圆角半径。这个属性可以接受一到四个值,分别对应元素的上左、上...

    css圆角边框css圆角边框css圆角边框

    css圆角边框css圆角边框css圆角边框css圆角边框css圆角边框

    css圆角边框相关知识和代码演示

    css圆角边框

    CSS圆角边框、按钮插件

    在本主题“CSS圆角边框、按钮插件”中,我们将深入探讨如何利用CSS创建具有圆角边框的元素以及如何实现动态美观的按钮效果。 首先,让我们谈谈CSS圆角边框。在CSS3中,我们可以使用`border-radius`属性来创建具有...

    CSS圆角边框

    "CSS圆角边框"是一个常见的需求,它使得网页元素的边框不再是传统的直角,而是具有平滑的圆形或弧形边缘,为网页带来了更现代、更友好的视觉效果。在给定的文件中,我们看到与“CSS圆角边框”相关的资源,如不同的...

    CSS圆角边框制作代码

    本篇文章将深入探讨如何使用CSS来实现圆角边框。 首先,CSS3引入了`border-radius`属性,它允许我们为元素的每个角落设置独立的圆角半径,从而实现圆角效果。基本语法如下: ```css element { border-radius: top...

    纯 CSS 圆角 边框

    纯CSS圆角边框! 值得下载看看!资源免费,大家分享!! 更多免费资源 http://ynsky.download.csdn.net/

    CSS+JS实现的圆角边框TAB选项卡滑动门代码

    1. **CSS圆角边框**:CSS3的`border-radius`属性用于设置元素边框的圆角半径,允许我们创建不同大小的圆角效果。例如,`border-radius: 10px;`将为元素添加一个10像素的圆角。同时,还可以分别设置四个角的圆角大小...

    div+css圆角边框的制作

    在本主题中,我们将深入探讨如何使用 `CSS` 制作具有圆角边框的 `div` 元素,这在现代网页设计中非常常见,可以提升网站的视觉效果和用户体验。 首先,让我们了解 `CSS` 的边框属性。边框由三个主要属性构成:边框...

    css教程制作css圆角边框(兼容全部浏览器)

    CSS 教程 - 制作 CSS 圆角边框(兼容全部浏览器) CSS 圆角边框的概念 在现代 Web 设计中,圆角边框是一个非常常见的设计元素,用于添加视觉效果和美化网页的外观。然而,制作圆角边框时需要考虑浏览器的兼容性,...

    CSS 制作圆角边框.docx

    总的来说,早期的CSS圆角边框实现技术反映了前端开发的进化历程,从复杂和不兼容的解决方案到现在的标准化和简洁方法。理解这些历史技巧可以帮助我们更好地掌握CSS,并且对过去和现在的技术有更深的理解。

    css 图片圆角边框的效果

    在CSS中,实现图片圆角边框的效果是一种常见的设计技巧,尤其在老版本浏览器不支持CSS3圆角边框属性时。本篇文章将详细介绍如何利用CSS结合图片来创建具有圆角边框效果的元素。 首先,我们需要理解CSS的背景属性。`...

    CSS实现圆角边框代码 兼容IE、火狐.docx

    【CSS实现圆角边框代码 兼容IE、火狐】 在网页设计中,实现圆角边框可以提升页面的视觉效果,同时增加现代感。早期,为了在不同浏览器(如IE、火狐)间实现圆角边框的兼容性,开发者会使用图片或者JavaScript来实现...

    css3实现圆角边框

    css3中的边框一般多为矩形,也可以通过设置实现圆角边框的效果,通过border-radius:;通过设置该属性值得大小改变边框的圆角大小,从而达到自己需要的圆角边框效果

    div css圆角代码各种圆角表格_圆角边框css圆角

    本篇文章将深入探讨如何使用 `div` 和 `CSS` 实现各种圆角表格和圆角边框。 首先,我们了解 `div` 元素。`div` 是一个通用的容器元素,用于组合网页上的其他元素。通过应用样式,我们可以让 `div` 元素呈现不同的...

    css 圆角边框

    CSS圆角边框指的是在网页布局中,元素的边框可以设置为圆角形式,而不是传统直角的样式。这在创建用户界面元素时,如按钮、卡片等,能够带来更为美观和友好的视觉效果。CSS3的出现让这一功能变得简单,因为它提供了...

    CSS圆角边框制作指南与实例

    总的来说,CSS圆角边框的制作经历了从复杂到简单的历程。虽然早期的方法在特定环境下仍然有其价值,但使用CSS3的`border-radius`无疑提供了更高效、更灵活的解决方案。在设计网页时,应优先考虑使用CSS3特性,以确保...

Global site tag (gtag.js) - Google Analytics