网站地图    收藏   

主页 > 前端 > css教程 >

CSS 有趣的边框 - html/css语言栏目:html.css - 自学

来源:自学PHP网    时间:2015-04-14 14:51 作者: 阅读:

[导读] 今天看到一篇文章,是利用CSS边框来做折纸效果,感觉很有意思,于是就对CSS的border研究了一下,发现还真有一些好玩的用法。首先是HTML代码,为了简单,就一个div:折纸效果然后我们为...

今天看到一篇文章,是利用CSS边框来做折纸效果,感觉很有意思,于是就对CSS的border研究了一下,发现还真有一些好玩的用法。

首先是HTML代码,为了简单,就一个div:

折纸效果
然后我们为它加上边框效果:

.note{
	display:block; 
	margin:100px auto;
	width:100px;
	height:100px;
	background:#ff0;
	border:1px solid #000;
}
这是最简单最丑的边框效果了,看起来像这样:

vc+4vdqjrM7Sw8ew0bHfv/LJ6LTW0ru146OsyLu687DRw7+49re9z/K1xLHfv/LR1cmruMTSu8/Co7o8L3A+CjxwPjwvcD4KPHByZSBjbGFzcz0="brush:java;">.note{ display:block; margin:100px auto; width:100px; height:100px; background:#ff0; border-width:10px 10px 10px 10px; border-color:#aa0 #f0f #512 #a21; border-style:solid; }效果如下:

\

瞬间产生3D效果了有木有!我们继续把边框设粗,然后把容器的height设为0:

.note{
	display:block; 
	margin:100px auto;
	width:100px;
	height:0px;
	background:#ff0;
	border-width:50px;
	border-color:#aa0 #a21 #740 #a21;
	border-style:solid;
}
\

瞬间产生信封的效果了有木有!我们继续把width也设为0,效果像这样(代码就不贴了):

\

是不是有一种金字塔的感觉呢!好了,就玩到这里,之前说了做折纸效果,现在想想应该是SO EASY了,先看效果图:

\

note还是原来的note,只是给note加了一个before伪元素,设置伪元素宽度为0,内容为空,利用边框做出三角形效果,然后通过绝对定位到右上角,最后加上阴影效果就ok啦。代码如下:

.note{
	display:block; 
	margin:100px auto;
	width:100px;
	height:100px;
	background:#ff0;
	padding:50px;
	position:relative;
}
.note:before{
	content:"";
	width:0;
	border-color:#fff #fff transparent transparent;
	border-style:solid;
	border-width:20px;
	position:absolute;
	top:0;
	right:0;
	
	-webkit-box-shadow:-2px 2px 2px rgba(0,0,0,0.3);
	-moz-box-shadow:-2px 2px 2px rgba(0,0,0,0.3);
        box-shadow:-2px 2px 2px rgba(0,0,0,0.3);
}
原来的HTML代码完全没变,只是更改了CSS样式而已,完全不影响语义化。

另附上CSS 中 border的属性:

\

另外,border-style本身也有支持3D效果的属性,以下是border-style的可选值:


有兴趣的可以试一下,另外如果用CSS3的话,可以做出更炫酷的效果,明天再研究....

平时布局的时候都有一个常用的写法,但是还有很多属性值我们没有用到,去发掘一下的话可能会有意想不到的惊喜!大家要是还有边框的有趣玩法,欢迎分享~~


自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论