HTML5制作机器人,使用CSS3制作机器人总动员的Eva

影片《机器人总动员》是2008年一部由安德鲁·斯坦顿编导的科幻动画电影。这部动画片自上映以来风靡全球,片中的主角-小机器人Eva更是成为卡通明星。现在我们就要用CSS3技术来绘制这位开通明星。

Eva的html结构非常简单:我们使用一个相对定位的div来包含一些绝对定位的div元素,用它们来“组装”Eva。所有的绝对定位的div(除了Eva的身体)都使用单独的空div来制作。手臂和身体之间使用了嵌套div结构,手臂嵌套在body div中,这样,移动身体也会移动它的手臂。头部和眼镜部分也是类似的结构。

在div.eve-container中有一个不属于Eva身体的div-它的影子eve-shadow。当我们通过css的box-shadow来对它进行渲染后,你将会看到在Eva下方的一个漂亮的阴影。

下面是制作Eva的CSS代码,注意代码中没有使用浏览器厂商的前缀。

div#eve-container { position: relative; width: 200px; height: 600px; margin: 0 auto; }

div#eve-container div { position: absolute; }

div#eve-head {

height: 145px; width: 180px;

border-top-left-radius: 90px 85px;

border-top-right-radius: 90px 85px;

border-bottom-left-radius: 90px 60px;

border-bottom-right-radius: 90px 60px;

background-color: #fff; border: 1px solid #999;

}

div#eve-faceplate {

background-color: #000;

width: 150px;

height: 95px;

bottom: 8px;

margin: 0 15px;

border-top-left-radius: 75px 60px;

border-top-right-radius: 75px 60px;

border-bottom-left-radius: 75px 35px;

border-bottom-right-radius: 75px 35px; }

div.eye { width: 45px; height: 25px;

background-color: #00a; bottom: 25px;

border-top-left-radius: 22px 12px;

border-top-right-radius: 22px 12px;

border-bottom-left-radius: 22px 13px;

border-bottom-right-radius: 22px 13px;

background: radial-gradient(#5798ce 0%, #000 100%);

}

div#eve-lefteye { margin-left: 15px; transform: rotate(10deg); }

div#eve-righteye { margin-left: 85px; transform: rotate(-10deg); }

div#eve-body {

width: 180px;

height: 220px;

top: 152px;

border-bottom-left-radius: 90px 220px;

border-bottom-right-radius: 90px 220px;

border: 1px solid #999; border-top: none;

background: radial-gradient(40px 0, #fff, #fff 70%, #000);

}

div#eve-neck {

width: 180px; height: 60px;

background-color: #fff; top: -30px;

border-radius: 50%; border: 1px solid #999;

background: radial-gradient(90px 65px, #fff, #fff 55%, #888);

}

div.arm {

width: 40px;

height: 180px;

background: #fff; border: 1px solid #999;

}

div#eve-leftarm {

left: -45px;

border-top-left-radius: 30px 50px;

border-top-right-radius: 10px 40px;

border-bottom-left-radius: 30px 130px;

border-bottom-right-radius: 10px 140px;

transform: rotate(10deg);

}

div#eve-rightarm {

left: 180px;

border-top-right-radius: 30px 50px;

border-top-left-radius: 10px 40px;

border-bottom-right-radius: 30px 130px;

border-bottom-left-radius: 10px 140px;

transform: rotate(-10deg);

}

div#eve-shadow {

width: 180px;

height: 60px;

top: 300px;

border-radius: 50%;

box-shadow: 0px 100px 30px rgba(0, 0, 0, 0.3);

}

在CSS代码中,我们主要使用border-radius属性来制作Eva的轮廓。注意border-radius属性的两个值的设置:一个是垂直方向的弯曲程度,一个是水平方向的弯曲程度。如果是半圆形,就简单的只给一个值。

最后,Eva的手臂和眼睛通过 CSS3 rotate给一些轴向倾斜。到这里,小Eva就做好了,是不是很有意思呢?但是如果你想将它放到其它页面上,需要重新调整CSS代码,因为它没有响应式效果。这也是缺点之一。我们打算在下一个版本中使用SVG来制作它,这样一次制作,到处可用!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值