PS设计教程网欢迎你!

用CSS3手工绘制的新浪微博图标

文章来源于 新浪微博,感谢作者 情非得已 给我们带来经精彩的文章!
设计教程/前端设计/前端设计2012-02-17
新浪有两个吉祥物,小新是女孩儿,小浪是男孩儿。现在流行用CSS3画点什么,我们SINA CDC的模特儿,必然是小新和小浪了。

新浪有两个吉祥物,小新是女孩儿,小浪是男孩儿。现在流行用CSS3画点什么,我们SINA CDC的模特儿,必然是小新和小浪了。

 

熬一晚上做了个小新头,不完善,还有更像的空间。窍门就是琢磨出用各种圆形,相互迭加而制作出一个物体。先看看最终效果吧。个人认为,firefox在图型方面的表现是最好的,而safari和chrome虽然有毛边,但优势是支持CSS动画。各有所长。而IE,就当它是打酱油的吧。

 

这次使用到的CSS3属性包括:

圆角:-moz-border-radius; -webkit-border-radius;

旋转:-moz-transform; -webkit-transform;

阴影:-moz-box-shadow; -webkit-box-shadow;

渐变:-moz-linear-gradient; -webkit-gradient;

 

下面就看一下我用CSS3代码画的小新,在各浏览器下的表现:

 

 

Firefox 3.6.8

用CSS3手工绘制的新浪微博图标

 

Chrome 5.0

用CSS3手工绘制的新浪微博图标

 

Safari 5.0

用CSS3手工绘制的新浪微博图标

 

IE6、IE7、IE8

用CSS3手工绘制的新浪微博图标

 

实现逻辑很简单。先画一个长方块儿,用CSS3代码为方块儿加圆角儿、阴影、倾斜、渐变光效。做为小新的头。

用CSS3手工绘制的新浪微博图标

 

一个小长方型,做为长圆型,并加阴影

用CSS3手工绘制的新浪微博图标

 

在上面盖一个大圆,粉色部位变成一个弯弯的锥型

用CSS3手工绘制的新浪微博图标

 

在大白圆上,再盖一个加阴影、渐变光效的小圆

用CSS3手工绘制的新浪微博图标

 

把表示头部的大圆,盖在表示头发的拐弯上,再把页面背景色定为白色,让别人看不出遮罩层。小新就长出一根头发了。

用CSS3手工绘制的新浪微博图标

将头发复制5份,每一根头发,都细调大小和位置

用CSS3手工绘制的新浪微博图标

眼睛就好画多了,先画一个白色的圆型,加灰边、和粉色上阴影

用CSS3手工绘制的新浪微博图标

 

盖一个棕色的圆,加黑边和阴影

用CSS3手工绘制的新浪微博图标

 

再盖两个小白点儿,画龙点睛

用CSS3手工绘制的新浪微博图标

 

组合起来,就完成了。

用CSS3手工绘制的新浪微博图标

 

实现起来比较费时间,但并没有难度。需要注意的是position的用法,制作出正确的前后顺序。

虽然不能比拟设计师用PS画出来的栩栩如生,代码写的小新,妩媚的券发像是一个个粗壮的小胳膊。组里有同学绘制的小浪人,也相当漂亮,浪的简直了。不过抱着精心制作的精神,相信你们会比我画的更好。

 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>小新头像-新浪CDC</title>
</head>
<style>
.sina{ margin:60px 0 0 22px;}
.head{ position:relative; width:195px; height:220px;}

.head_bg{ position:absolute; width:200px; height:175px; background:#ab2b41; left:6px; z-index:6;
-moz-border-radius-topleft:200px 180px;
-moz-border-radius-topright: 200px 180px;
-moz-border-radius-bottomleft: 200px 180px;
-moz-border-radius-bottomright: 200px 180px;
-webkit-border-radius:200px 180px;
-moz-transform: rotate(-6deg);
-webkit-transform:rotate(-6deg);
-moz-box-shadow:1px 4px 3px #333;
-webkit-box-shadow:1px 4px 3px #333;
border:1px solid #c03461;
}

.head_top{  position:absolute; top:-3px; left:5px; width:197px; height:167px;z-index:7;
-moz-border-radius-topleft:200px 180px;
-moz-border-radius-topright:200px 180px;
-moz-border-radius-bottomleft:200px 180px;
-moz-border-radius-bottomright:200px 180px;
-webkit-border-radius:200px 180px;
-moz-transform:rotate(-6deg); 
-webkit-transform:rotate(-6deg);
background: -moz-linear-gradient(left top, #e16591, #ce3551 50%);
background: -webkit-gradient(linear, 0 0, 0 50%, from(#e16591), to(#ce3551));
}
 
.head_shadow{ position:absolute; width:190px; height:162px;  top:2px; left:10px; z-index:8;
-moz-border-radius-topleft:200px 180px;
-moz-border-radius-topright:200px 180px;
-moz-border-radius-bottomleft:200px 180px;
-moz-border-radius-bottomright:200px 180px;
-webkit-border-radius:200px 180px;
background: -moz-linear-gradient(left top, white, #ce3552 50%);
background: -webkit-gradient(linear, left top, 10% 50%, from(#fff), to(#ce3552));
}

.head_a1{ width:54px; height:45px; position:absolute; top:-24px; right:32px;background:#d53960; z-index:5;
border:1px solid #c03461;
-moz-border-radius:180px 0;
-webkit-border-radius:180px 0 180px 0;
-moz-transform: rotate(-6deg);
-webkit-transform:rotate(-6deg); 
-moz-box-shadow:4px 4px 0px #c03461;
-webkit-box-shadow:4px 4px 0px #c03461;
}

.head_a1 .top{width:100px; height:100px; position:absolute; top:-80px; right:-11px; background:#fff; z-index:1;
-moz-border-radius:135px;
-webkit-border-radius:135px;
}

.head_a1 .body{width:23px; height:23px; position:absolute; top:-10px; right:-3px; background:#d53960; z-index:2;
-moz-border-radius:135px 135px 135px 0;
-webkit-border-top-left-radius:135px;
-webkit-border-top-right-radius:135px;
-webkit-border-bottom-right-radius:135px;
-webkit-border-bottom-left-radius:0;

-moz-transform: rotate(-60deg);
-webkit-transform: rotate(-60deg);
-moz-box-shadow:3px 4px 0px #c03461;
-webkit-box-shadow:3px 4px 0px #c03461;
}

.head_a1 .shadow{width:19px; height:19px; position:absolute; top:-8px; right:-2px; z-index:3;
-moz-border-radius:135px 135px 135px 0;
-webkit-border-radius:135px 135px 135px 0;
-moz-transform: rotate(-60deg);
-webkit-transform: rotate(-60deg);
background: -moz-linear-gradient(top, white, #ce3552 50%);
background: -webkit-gradient(linear, left top, 0 50%, from(#fff), to(#ce3552));
}

.head_a2{ width:60px; height:45px; position:absolute; top:-22px; right:-13px;background:#d53960; z-index:4;
border:1px solid #c03461;
-moz-border-radius:180px 0;
-webkit-border-radius:180px 0 180px 0;
-moz-transform: rotate(-10deg);
-webkit-transform: rotate(-10deg);
-moz-box-shadow:4px 4px 0px #c03461;
-webkit-box-shadow:4px 4px 0px #c03461;
}

.head_a2 .top{width:40px; height:38px; position:absolute; top:-12px; right:7px; background:#fff; z-index:1;
-moz-border-radius:180px 0 180px 0;
-webkit-border-radius:180px 0 180px 0;
-moz-transform: rotate(20deg);
-webkit-transform: rotate(20deg);
}

.head_a2 .body{width:23px; height:23px; position:absolute; top:-10px; right:-3px; background:#d53960; z-index:2;
-moz-border-radius:135px 135px 135px 0;
-webkit-border-radius:135px 135px 135px 0;
-moz-transform: rotate(-60deg);
-webkit-transform: rotate(-60deg);
-moz-box-shadow:3px 4px 0px #c03461;
-webkit-box-shadow:3px 4px 0px #c03461;
}

.head_a2 .shadow{width:19px; height:19px; position:absolute; top:-8px; right:-1px; z-index:3;
-moz-border-radius:135px 135px 135px 0;
-webkit-border-radius:135px 135px 135px 0;
-moz-transform: rotate(-60deg);
-webkit-transform: rotate(-60deg);
background: -moz-linear-gradient(top, white, #ce3552 50%);
background: -webkit-gradient(linear, left top, 0 50%, from(#fff), to(#ce3552));
}

.head_a3{ width:80px; height:47px; position:absolute; top:6px; right:-46px;background:#d53960; z-index:3;
 border:1px solid #c03461;
 -moz-border-radius:100px 0 110px 0;
 -webkit-border-radius:100px 0 110px 0;
 -moz-transform: rotate(-10deg);
 -webkit-transform: rotate(-10deg);
 -moz-box-shadow:4px 4px 0px #c03461;
 -webkit-box-shadow:4px 4px 0px #c03461;
}

.head_a3 .top{width:67px; height:38px; position:absolute; top:-18px; right:15px; background:#fff; z-index:1;
 -moz-border-radius:180px 0 180px 0;
 -webkit-border-radius:180px 0 180px 0;
 -moz-transform: rotate(40deg);
 -webkit-transform: rotate(40deg);
}
.head_a3 .body{width:23px; height:23px; position:absolute; top:-8px; right:-1px; background:#d53960; z-index:2;
 -moz-border-radius:135px 135px 135px 0;
 -webkit-border-radius:135px 135px 135px 0;
 -moz-transform: rotate(-72deg);
 -webkit-transform: rotate(-72deg);
 -moz-box-shadow:3px 4px 0px #c03461;
 -webkit-box-shadow:3px 4px 0px #c03461;
}

.head_a3 .shadow{width:19px; height:19px; position:absolute; top:-6px; right:0px; z-index:3;
 -moz-border-radius:135px 135px 135px 0;
 -webkit-border-radius:135px 135px 135px 0;
 -moz-transform: rotate(-60deg);
 -webkit-transform: rotate(-60deg);
 background: -moz-linear-gradient(top, white, #ce3552 50%);
background: -webkit-gradient(linear, left top, 0 50%, from(#fff), to(#ce3552));
}

.head_a4{ width:80px; height:47px; position:absolute; top:44px; right:-55px; background:#d53960; z-index:2;
border:1px solid #c03461;
 -moz-border-radius:80px 0 110px 0;
 -webkit-border-radius:80px 0 110px 0;
 -moz-transform: rotate(8deg);
 -webkit-transform: rotate(8deg);
 -moz-box-shadow:4px 4px 0px #c03461;
 -webkit-box-shadow:4px 4px 0px #c03461;
 }
 
.head_a4 .top{width:67px; height:38px;position:absolute; top:-18px; right:13px; background:#fff; z-index:1;
 -moz-border-radius:180px 0 180px 0;
 -webkit-border-radius:180px 0 180px 0;
 -moz-transform: rotate(40deg);
 -webkit-transform: rotate(40deg);
}
 
.head_a4 .body{width:23px; height:23px; position:absolute; top:-9px; right:-2px; background:#d53960; z-index:2;
 -moz-border-radius:135px 135px 135px 0;
 -webkit-border-radius:135px 135px 135px 0;
 -moz-transform: rotate(-70deg);
 -webkit-transform: rotate(-70deg);
 -moz-box-shadow:3px 4px 0px #c03461;
 -webkit-box-shadow:3px 4px 0px #c03461;
}
.head_a4 .shadow{width:19px; height:19px; position:absolute; top:-7px; right:-1px; z-index:3;
 -moz-border-radius:135px 135px 135px 0;
 -webkit-border-radius:135px 135px 135px 0;
 -moz-transform: rotate(-70deg);
 -webkit-transform: rotate(-70deg);
 background: -moz-linear-gradient(top, white, #ce3552 50%);
 background: -webkit-gradient(linear, left top, 0 50%, from(#fff), to(#ce3552));
}

.head_a5{ width:54px; height:45px; position:absolute; top:87px; right:-45px; background:#d53960; z-index:1;
border:1px solid #c03461;
 -moz-border-radius:135px 0 180px 0;
 -webkit-border-radius:135px 0 180px 0;
 -moz-transform: rotate(35deg);
 -webkit-transform: rotate(35deg);
 -moz-box-shadow:4px 4px 0px #c03461;
 -webkit-box-shadow:4px 4px 0px #c03461;
 }
.head_a5 .top{width:100px; height:100px; position:absolute; top:-78px; right:-7px; background:#fff; z-index:1;
 -moz-border-radius:135px;
 -webkit-border-radius:135px;
 }
.head_a5 .body{width:23px; height:23px; position:absolute; top:-6px; right:0px; background:#d53960; z-index:2;
 -moz-border-radius:135px 135px 135px 0;
 -webkit-border-radius:135px;
 -moz-transform: rotate(-70deg);
 -webkit-transform: rotate(-70deg);
 -moz-box-shadow:3px 4px 0px #c03461;
 -webkit-box-shadow:3px 4px 0px #c03461;
 }
.head_a5 .shadow{width:19px; height:19px; position:absolute; top:-4px; right:2px; z-index:3;
 -moz-border-radius:135px 135px 135px 0;
 -webkit-border-radius:135px 135px 135px 0;
 -moz-transform: rotate(-70deg);
 -webkit-transform: rotate(-70deg);
 background: -moz-linear-gradient(top, white, #ce3552 50%);
 background: -webkit-gradient(linear, left top, 0 50%, from(#fff), to(#ce3552));
}

.eye{ position:absolute; top:47px; left:27px; width:161px; height:88px; z-index:10;
-moz-transform: rotate(-2deg);
-webkit-transform: rotate(-2deg);
}

.eye1{ position:absolute; top:57px; left:59px; width:8px; height:8px; background:#fff; z-index:5;
 -moz-border-radius:180px;
 -webkit-border-radius:180px;
 }
.eye2{ position:absolute; top:29px; left:81px; width:22px; height:22px; background:#fff; z-index:4;
 -moz-border-radius:180px;
 -webkit-border-radius:180px;
 }
.eye3{ position:absolute; top:25px; left:56px; width:47px; height:47px; background:#000; z-index:3;
 -moz-border-radius:180px;
 -webkit-border-radius:180px;
 }
.eye4{ position:absolute; top:14px; left:46px; width:67px; height:67px; border:1px solid #312613; background:#66383d; z-index:2;
 -moz-border-radius:180px;
 -webkit-border-radius:180px;
 -moz-box-shadow:0px 0px 5px #000;
 -webkit-box-shadow:0px 0px 5px #000;
 }
.eye5{ position:absolute; top:1px; left:8px; width:137px; height:86px; background:#fff; z-index:1;
border-top:5px solid #999;border-left:5px solid #999;
-moz-border-radius:300px 30px 300px 30px;
-webkit-border-radius:300px 30px 300px 30px;
-moz-transform: rotate(20deg);
-webkit-transform: rotate(20deg);
-moz-box-shadow:0px -7px 0 #ec9dc2;
-webkit-box-shadow:0px -7px 0 #ec9dc2;}

</style>

<body>
<div class="sina">
  <div class="head">
    <div class="head_bg"></div>
    <div class="head_top"></div>
    <div class="head_shadow"></div>

    <div class="head_a1">
      <div class="top"></div>
      <div class="body"></div>
      <div class="shadow"></div>
    </div>
    <div class="head_a2">
      <div class="top"></div>
      <div class="body"></div>
      <div class="shadow"></div>
    </div>
    <div class="head_a3">
      <div class="top"></div>
      <div class="body"></div>
      <div class="shadow"></div>
    </div>
    <div class="head_a4">
      <div class="top"></div>
      <div class="body"></div>
      <div class="shadow"></div>
    </div>
    <div class="head_a5">
      <div class="top"></div>
      <div class="body"></div>
      <div class="shadow"></div>
   </div>
   
    <div class="eye">
      <div class="eye1"></div>
      <div class="eye2"></div>
      <div class="eye3"></div>
      <div class="eye4"></div>
      <div class="eye5"></div>
    </div>
  </div>
</div>
</body>
</html>

版权所有PS设计教程网公安备案:苏公网安备 32058302001023号工信部备案:沪ICP备09005587号
aaa