纯CSS制作的图形效果

转载自http://www.w3cplus.com/css/create-shapes-with-css

今天这个教程中主要和大家一起来探讨和学习:如何使用CSS来制作图形,比如说圆形,半圆形,三角形等。前面有几个教程中都有使用了纯CSS使用border来制作三角形,今天我特意在网上查阅了一下,介绍这样的教程还是蛮多的,因此我也决定整理一份相关教程出来与大家一起分享。最早发现使用border制作三角形是人物Eric Meyer的发现的,但我没有找到Eric Meyer介绍的教程,可相关教程就很多,我在此就不列出来了,我们开始今天的学习之旅吧。

如何工作?

很少会有人意识到,当浏览器绘制的border,会有一个角度的问题。我们就是得用这样的一个技巧来制作三角的效果。我们只需要保证一边的边框是有色,其他边框色为透明色,这样我们就很容易制作出三角形,然后改变其大小来实现不同的效果。我们一起来看一段代码:

		.css-arrow-multicolor {
		  border-color: red green blue orange;
		  border-style:solid;
		  border-width:20px;
		  width:0;
		  height:0;
		}		
	
 

正如你看到的上面代码段是使用border制作的四个三角形,这些三角形都是直角三角形边界大小,如果你改变border-width的大小,你将得到的是另一个三角形

		.css-arrow-acute {
		  border-color: red green blue orange;
		  border-style:solid;
		  border-width:25px 10px 15px 30px;
		  width:0;
		  height:0;
		}
		
 

当你改变border-style时,你会发现一些很神的效果:

		border-style: dotted;
	
 

但这种创意在不同的浏览器下并是支持的。

下面我们一起来通过代码,看看不同类型的制作方法

一、正方形(Square)

		#square { 
			width: 100px;
			height: 100px; 
			background: red; 
		}
	

正方形是最简单的了,只需要保证元素的宽度和高度相同,这样就OK了。当然我们还可以使用border直接绘制正方形,具体如何绘制大家可以动脑想想,我就不写了,不过使用border绘制正方形,里面不能填充内容的哟。

效果:

二、长方形(Rectangle)

		#rectangle { 
			width: 200px; 
			height: 100px;
			background: red; 
		}
	

在正方形的基础上改变他们的大小,确保width和height值不相同就行了。

效果:

三、圆形(Circle)

		#circle { 
			width: 100px; 
			height: 100px; 
			background: red; 
			-moz-border-radius: 50px; 
			-webkit-border-radius: 50px; 
			border-radius: 50px; 
		}
	

效果:

圆形的制作,我们采用的是CSS3中的border-radius属性。在制作过程中,有几点需要注意,其一宽度和高度值相同,其二圆角值为宽度或高度值的一半。也有地方提使用设置圆角值为50%,但我在Webkit中有碰到过不支持百分数的情况。

四、半圆形(Semicircle)

		#semicircle{ 
			width: 100px; 
			height: 50px; 
			background: red; 
			-moz-border-radius: 100px 100px 0 0; 
			-webkit-border-radius:  100px 100px 0 0; 
			border-radius:  100px 100px 0 0; 
		}
	

制作半圆和圆使用的方法是一样的,但需要配合元素的高度,宽度以及圆角的方位,制作出半圆形效果。

效果:

五、扇形(Fan-Shaped)

		#fanShaped {
			background: none repeat scroll 0 0 red;
			-webkit-border-radius: 50px 0 0 0;
			-moz-border-radius: 50px 0 0 0;
			border-radius: 50px 0 0 0;
			height: 50px;
			width: 50px;
		}
	

扇形在这里也就是四分之一圆效果,在制作四分之一圆和制作半圆形一样的,我们需要配合的就是元素的三个属性值,具体大家可以参考上面的代码。

效果:

六、椭圆形(Oval)

		#oval { 
			width: 200px; 
			height: 100px; 
			background: red; 
			-moz-border-radius: 100px / 50px; 
			-webkit-border-radius: 100px / 50px; 
			border-radius: 100px / 50px; 
		}
	

这里使用了border-radius的X/Y两轴取值,制作出一种变形的圆角,在配合宽度等值,就制作了类似椭圆形的一个效果。

效果:

posted @ 2013-06-07 11:15  他说  阅读(183)  评论(0)    收藏  举报