CSS3实战开发:手把手教大家折角效果实战开发
各位网友,大家好,我是陌上花会开,今天这篇文章,我将手把手教大家如何开发一套纯CSS的折角效果。一如往常,我不提供代码下载,但是我可以保证,只要将教程中的代码复制到本地,绝对百分百获得与我演示的效果一样,希望各位明白我的用意。
好了,直接开始今天的教程吧。首先,我先给大家演示一下今天实战案例的效果:
有人会说这是什么?这就是我们今天的实战开发,我将带领大家开发上图中的右上角折叠效果。
在我讲解完之前,有些人可能觉得很难,不可思议。我想跟你们说:真的so easy。下面就请跟着我的分解步骤一步步学习吧!
首先,我们先创建一块蓝色区域,代码如下:
<!DOCTYPE html> <html> <head> <meta charset=”utf-9″> <meta name=”keywords” content=”css,css3,实战互联网,教程”> <meta name=”description” content=”css3实现折角效果,折角效果,css3实战尽在实战互联网” > <link rel=”stylesheet” href=”styles_2014080901.css”> <title>CSS3实现折角效果实战开发</title> </head> <body> <div class=”note”> </div> </body> </html>
接着我们给.note元素应用样式:
*{ /*清除所有元素的内外边距*/ margin:0; padding:0; } .note { /*设置折叠样式基本属性*/ width:480px; height:400px; margin:2em auto; /*调整.note元素的外边距*/ padding:2em; background:#53A3B4; }
现在我们来看一下此时的运行效果:
那这个折叠效果怎么实现呢?请大家看好我下面的步骤。
我现在利用CSS3的伪元素给页面插入一块内容。
.note:before { content:”"; display:block; /*伪元素默认是行内元素,所以如果要设定宽高,这必须显性设置为block*/ border-width:0 16px 16px 0; /*设置边框宽度*/ border-color:#fff #fff transparent transparent; background:transparent; border-style:solid; /*设置边框为固体的*/ width:0; /*设定新创建的元素*/ }
这里我对伪元素:before做一个简单的介绍,:before伪元素必须指定内容,如果没有也必须设置content:”"; 由于伪元素默认是行内元素,所以如果要设置宽高,这必须显性设定其为block。如果相对伪元素有更详细了解,请关注我的空间。
伪元素创建好了,但是我希望我创建的元素位于.note区域的右上角。好,我们可以通过position的relative(相对定位)和absolute(绝对定位)来调整元素的位置。
给.note应用position:relative(相对定位):
.note { /*设置折叠样式基本属性*/ width:480px; height:400px; margin:2em auto; /*调整.note元素的外边距*/ padding:2em; background:#53A3B4; position:relative; }
接着利用绝对定位属性,使我们新创建的对象位于容器右上角:
.note:before { content:”"; display:block; /*伪元素默认是行内元素,所以如果要设定宽高,这必须显性设置为block*/ border-width:0 16px 16px 0; /*设置边框宽度*/ border-color:#fff #fff transparent transparent; background:transparent; border-style:solid; /*设置边框为固体的*/ width:0; /*设定新创建的元素*/ position:absolute; /*相对于父容器绝对定位,设置偏移父容器边框距离*/ top:0; right:0; }
此时,我们再看一下效果:
太好了,缺角已经实现了。我们一开始说过,折叠后的折角是有阴影效果的,现在就来给.note:before中添加阴影样式:
/*设置元素的阴影效果*/ -webkit-box-shadow:0 1px 1px rgba(0,0,0,0.3), -1px 1px 1px rgba(0,0,0,0.2); -moz-box-shadow:0 1px 1px rgba(0,0,0,0.3), -1px 1px 1px rgba(0,0,0,0.2); box-shadow:0 1px 1px rgba(0,0,0,0.3), -1px 1px 1px rgba(0,0,0,0.2);
现在我们再看一下加完阴影样式后的效果吧:
至此,大功告成,原来利用纯CSS3实现折叠效果是如此简单。
由于是作为显示,我设定了固定高度,如果大家希望设置成弹性的,可以取消其属性。
更多实战教程,请大家继续关注我的空间,谢谢大家的阅读。
欢迎大家加入互联网技术交流群:62329335