利用css3与html5来制作3d爱心

 

首先:爱心的制作

 

爱心的制作利用了css3的新增属性border-radius,border-radius的属性最多有8个值,

 

例如:border-radius:10px 20px 30px 40px/10px 20px 30px 40px;

 

斜杠之前代表上下左右的水平方向变化的圆角,之后代表上下左右的竖直方向变化的圆角,下面是例子

 

 

 

 

css:


 

 

 

 

 

 

*   {   padding:0;

         margin:0;} 

.heart3d{ position:absolute; top:0; left:0; margin-top:-80px; margin-left:-50px;//适应浏览器居中 width:100px; height:160px; } .heart{            position: absolute;            top: 0;            left: 0;            width:100px;            height: 160px;            border-radius: 50% 40% 0/50% 40% 0;            border-top:2px solid red;            border-right:2px solid red;        }

 

 

 

html:

<html>
 <head><title>...</title>
<style>
</style>
</head>
<body>
 <div name="heart3d"></div>
</body>
</html>

上面形成了心得一般然后利用js生成其余的

js:

<script type="text/javascript">
var contain = document.getElementsByClassName("heart3d")[0];
for (i=0;i<36;i++)//形成36个半心
{
var odiv =document.createElement("div");//创建一个元素节点div
odiv.className="heart";//赋予div的name属性值
odiv.style.transform="rotateY("+i*10+"deg) rotateZ(45deg) translateX(30px)";
contain.appendChild(odiv);//利用appendChild();方法将该div标签添加到contain中;

}
</script>

appendChild();方法将该div标签添加到contain中;

}
</script>

形成了立体的爱心;可能会遇到遇到一些问题像遇到所成画面为2d;只需加一个属性transfrom-style:

preserve-3d ;

即可。补充一点再加一个景深属性,值都在1000px-1200px;

perspective : 1000px ;

 

 

第一次写感觉语无伦次

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值