CSS 魔法系列:纯 CSS 绘制图形(心形、六边形等)

转自:http://www.cnblogs.com/lhb25/p/css-and-css3-shapes-a.html

《CSS 魔法系列》继续给大家带来 CSS 在网页中以及图形绘制中的使用。这篇文章给大家带来的是纯 CSS 绘制五角星、六角形、五边形、六边形、心形等等。

  我们的网页因为 CSS 而呈现千变万化的风格。这一看似简单的样式语言在使用中非常灵活,只要你发挥创意就能实现很多比人想象不到的效果。特别是随着 CSS3 的广泛使用,更多新奇的 CSS 作品涌现出来。

您可能感兴趣的相关文章
<!DOCTYPE html>
<html>
<head>
    <title>纯 CSS 绘制图形(心形、六边形等)</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link rel="stylesheet" type="text/css" href="sharp.css">
</head>
<body>
    <div id="star-five"></div>
    <div id="star-six"></div>
    <div id="pentagon"></div>
    <div id="hexagon"></div>
    <div id="octagon"></div>
    <div id="heart"></div>
</body>
</html>

sharp.css
------------------------------------------
#star-five {
   margin: 50px 0;
   position: relative;
   display: block;
   color: red;
   width: 0px;
   height: 0px;
   border-right:  100px solid transparent;
   border-bottom: 70px  solid red;
   border-left:   100px solid transparent;
   -moz-transform:    rotate(35deg);
   -webkit-transform: rotate(35deg);
   -ms-transform:     rotate(35deg);
   -o-transform:      rotate(35deg);
}
#star-five:before {
   border-bottom: 80px solid red;
   border-left: 30px solid transparent;
   border-right: 30px solid transparent;
   position: absolute;
   height: 0;
   width: 0;
   top: -45px;
   left: -65px;
   display: block;
   content: '';
   -webkit-transform: rotate(-35deg);
   -moz-transform:    rotate(-35deg);
   -ms-transform:     rotate(-35deg);
   -o-transform:      rotate(-35deg);
}
#star-five:after {
   position: absolute;
   display: block;
   color: red;
   top: 3px;
   left: -105px;
   width: 0px;
   height: 0px;
   border-right: 100px solid transparent;
   border-bottom: 70px solid red;
   border-left: 100px solid transparent;
   -webkit-transform: rotate(-70deg);
   -moz-transform:    rotate(-70deg);
   -ms-transform:     rotate(-70deg);
   -o-transform:      rotate(-70deg);
   content: '';
}

#star-six {
   width: 0;
   height: 0;
   border-left: 50px solid transparent;
   border-right: 50px solid transparent;
   border-bottom: 100px solid red;
   position: relative;
}
#star-six:after {
   width: 0;
   height: 0;
   border-left: 50px solid transparent;
   border-right: 50px solid transparent;
   border-top: 100px solid red;
   position: absolute;
   content: "";
   top: 30px;
   left: -50px;
}

#pentagon {
   margin-top: 80px;
   position: relative;
   width: 54px;
   border-width: 50px 18px 0;
   border-style: solid;
   border-color: red transparent;
}
#pentagon:before {
   content: "";
   position: absolute;
   height: 0;
   width: 0;
   top: -85px;
   left: -18px;
   border-width: 0 45px 35px;
   border-style: solid;
   border-color: transparent transparent red;
}

#hexagon {
   margin-top: 80px;
   width: 100px;
   height: 55px;
   background: red;
   position: relative;
}
#hexagon:before {
   content: "";
   position: absolute;
   top: -25px;
   left: 0;
   width: 0;
   height: 0;
   border-left: 50px solid transparent;
   border-right: 50px solid transparent;
   border-bottom: 25px solid red;
}
#hexagon:after {
   content: "";
   position: absolute;
   bottom: -25px;
   left: 0;
   width: 0;
   height: 0;
   border-left: 50px solid transparent;
   border-right: 50px solid transparent;
   border-top: 25px solid red;
}

#octagon {
   margin-top: 70px;
   width: 100px;
   height: 100px;
   background: red;
   position: relative;
}
 
#octagon:before {
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   border-bottom: 29px solid red;
   border-left: 29px solid #eee;
   border-right: 29px solid #eee;
   width: 42px;
   height: 0;
}
 
#octagon:after {
   content: "";
   position: absolute;
   bottom: 0;
   left: 0;
   border-top: 29px solid red;
   border-left: 29px solid #eee;
   border-right: 29px solid #eee;
   width: 42px;
   height: 0;
}

#heart {
   margin-top: 20px;
   position: relative;
   width: 100px;
   height: 90px;
}
#heart:before,
#heart:after {
   position: absolute;
   content: "";
   left: 50px;
   top: 0;
   width: 50px;
   height: 80px;
   background: red;
   -moz-border-radius: 50px 50px 0 0;
   border-radius: 50px 50px 0 0;
   -webkit-transform: rotate(-45deg);
   -moz-transform: rotate(-45deg);
   -ms-transform: rotate(-45deg);
   -o-transform: rotate(-45deg);
   transform: rotate(-45deg);
   -webkit-transform-origin: 0 100%;
   -moz-transform-origin: 0 100%;
   -ms-transform-origin: 0 100%;
   -o-transform-origin: 0 100%;
   transform-origin: 0 100%;
}
#heart:after {
   left: 0;
   -webkit-transform: rotate(45deg);
   -moz-transform: rotate(45deg);
   -ms-transform: rotate(45deg);
   -o-transform: rotate(45deg);
   transform: rotate(45deg);
   -webkit-transform-origin: 100% 100%;
   -moz-transform-origin: 100% 100%;
   -ms-transform-origin: 100% 100%;
   -o-transform-origin: 100% 100%;
   transform-origin :100% 100%;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值