转:http://www.cnblogs.com/itdriver/p/3901102.html
html:
<!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>
css:
*{ /*清除所有元素的内外边距*/
margin:0;
padding:0;
}
.note { /*设置折叠样式基本属性*/
width:480px;
height:400px;
margin:2em auto; /*调整.note元素的外边距*/
padding:2em;
background:#53A3B4;
}
====================
.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;
}