您的位置:首页 > Web前端 > CSS

纯CSS3制作九款可爱复古相机

2015-10-31 15:57 786 查看
前言

掐指一算,快两个月没写博客分享了。好吧,我就只是在准备校招而已。现在已经有满意的offer了,所以我就回来啦!这两个月过得挺煎熬也挺充实的。具体细说估计得长篇大论,我就不闲扯了。总之呢,越努力,越幸运!

正文

先看看制作出来的效果图:





PS: 有人会说,这些东西实用性不强,没啥用。一开始我也是这么觉得,但后来我就改变自己的看法。首先,实用性目前来说确实不强,或者说应用范围很窄。但其实它可以提高自己的创意思维,css3的综合运用以及html代码的优化。当自己熟练使用的时候,会渐渐发现自己在重构那一块更加有想法和得心应手;其次,作为一个学生,在开发经验上略显不足,想分享一篇高质量的文章确实不易,所以我找准CSS3动画这个点,分享自己制作的一些好玩的demo,给大家带来一点点工作上或者生活上的乐趣,这就是我分享的初衷。当然,我也希望自己以后开发经验开始丰富的时候可以给大家分享更有价值的文章,这就等时间去沉淀吧!

OK,上面的效果是我依据一张自己在网上找的设计稿使用css3还原的,接下来就一个一个分享出来:

首先需要一个容器:

<div class="container">
</div>


以及一些必要的css样式:

.container{
width:600px;
height:600px;
margin:0 auto;
overflow:hidden;
}
.style_1,.style_2,.style_3,.style_4,.style_5,.style_6,.style_7,.style_8,.style_9{
width:200px;
height:200px;
float:left;
position:relative;
}
.style_1,.style_5,.style_9{
background-color:#f7b234;
}
.style_2,.style_6,.style_7{
background-color:#60a4ac;
}
.style_3,.style_4,.style_8{
background-color:#f47752;
}


第一款相机





html代码:

<div class="style_1">
<div class="camera_style_1">
<div class="header">
<div class="left"></div>
<div class="right">
<div class="whiteBlock"></div>
</div>
</div>
<div class="main">
<div class="round"></div>
</div>
</div>
</div>


css代码:

.camera_style_1{
width:120px;
height:86px;
margin:0 auto;
position: absolute;
top:50%;
left:50%;
margin-left:-60px;
margin-top:-43px;
}
.camera_style_1 .header{
width:100%;
height:15px;
}
.camera_style_1 .main{
width:100%;
height:55px;
background-color:#e17c10;
border-top:8px solid #016675;
border-bottom:8px solid #016675;
border-radius:2px;
border-top-right-radius:0;
}
.camera_style_1 .left{
width:0;
height:0;
border:12px solid transparent;
border-bottom:8px solid #cf7323;
position: absolute;
top:-5px;
left:5px;
}
.camera_style_1 .left:after,.camera_style_1 .left:before{
content:'';
display:block;
width:14px;
height:4px;
background-color:#e07b0f;
position: absolute;
top:1px;
left:-7px;
}
.camera_style_1 .left:before{
background-color:#016675;
top:-3px;
border-top-left-radius:1px;
border-top-right-radius:1px;
}
.camera_style_1 .right{
width:80px;
height:14px;
background-color:#016675;
position: absolute;
top:1px;
right:0;
border-top-left-radius:1px;
border-top-right-radius:1px;
}
.camera_style_1 .right:after{
content:'';
display:block;
width:8px;
height:8px;
border-radius:50%;
background-color:#fff;
position: absolute;
top:7px;
left:4px;
}
.camera_style_1 .right:before{
content:'';
display:block;
width:16px;
height:4px;
background-color:#e17c10;
position: absolute;
top:-4px;
right:5px;
}
.camera_style_1 .whiteBlock{
width:5px;
height:11px;
border-left:19px solid #fff;
border-right:19px solid #fff;
position: absolute;
top:5px;
right:7px;
}
.camera_style_1 .round{
width:44px;
height:44px;
border-radius: 50%;
background-color:#016675;
border:6px solid #fff;
position: absolute;
top:24px;
left:32px;
}
.camera_style_1 .round:after{
content: '';
display:block;
width:34px;
height:34px;
background-color:#3e3c38;
border-radius:50%;
position: absolute;
top:5px;
left:5px;
}
.camera_style_1 .round:before{
content: '';
display:block;
width:10px;
height:5px;
background-color:#fff;
position: absolute;
top:38px;
right:-32px;
}


第二款相机





html代码:

<div class="style_2">
<div class="camera_style_2">
<div class="header">
<div class="left"></div>
<div class="right"></div>
</div>
<div class="main">
<div class="round"></div>
</div>
</div>
</div>


css代码:

.camera_style_2{
width:120px;
height:90px;
margin:0 auto;
position: absolute;
top:50%;
left:50%;
margin-left:-60px;
margin-top:-45px;
}
.camera_style_2 .header{
width:100%;
height:15px;
}
.camera_style_2 .main{
width:100%;
height:50px;
background-color:#50544e;
border-top:15px solid #b5475d;
border-bottom:10px solid #b5475d;
border-radius:6px;
border-top-right-radius:0;
}
.camera_style_2 .round{
width:56px;
height:56px;
background-color:#fff;
border:4px solid #50544e;
border-radius:50%;
position: absolute;
top:22px;
left:28px;
}
.camera_style_2 .round:after{
content:'';
display:block;
width:34px;
height:34px;
background-color:#252522;
border-radius:50%;
border:5px solid #b5475d;
position: absolute;
top:6px;
left:6px;
}
.camera_style_2 .left{
width:3px;
height:7px;
border-left:15px solid #50544e;
border-right:20px solid #50544e;
position: absolute;
top:8px;
left:5px;
}
.camera_style_2 .left:after{
content:'';
display:block;
width:13px;
height:6px;
background-color:#fff;
position: absolute;
top:11px;
left:7px;
}
.camera_style_2 .right{
width:73px;
height:14px;
background-color:#b5475d;
border-top-left-radius:6px;
border-top-right-radius:6px;
position: absolute;
right:0;
top:1px;
}
.camera_style_2 .right:after{
content:'';
display:block;
width:9px;
height:9px;
background-color:#dbdbcc;
border-radius:50%;
position: absolute;
top:10px;
left:8px;
}
.camera_style_2 .right:before{
content:'';
display:block;
width:4px;
height:12px;
border-left:15px solid #fff;
border-right:20px solid #fff;
position: absolute;
top:7px;
right:8px;
}


第三款相机





html代码:

<div class="style_3">
<div class="camera_style_3">
<div class="main">
<div class="left"></div>
<div class="center"></div>
<div class="right"></div>
</div>
<div class="footer"></div>
</div>
</div>


css代码:

.camera_style_3{
width:120px;
height:106px;
margin:0 auto;
position: absolute;
top:50%;
left:50%;
margin-left:-60px;
margin-top:-53px;
}
.camera_style_3 .main{
width:100%;
height:71px;
background-color:#f2a313;
border-top-left-radius:10px;
border-top-right-radius:10px;
}
.camera_style_3 .main:before{
content:'';
display:block;
width:56px;
height:9px;
background-color:#744f2d;
border-top-left-radius:2px;
border-top-right-radius:2px;
position:absolute;
top:-9px;
left:32px;
}
.camera_style_3 .main:after{
content:'';
display:block;
width:100%;
height:15px;
background-color:#e1991c;
position: absolute;
bottom:35px;
left:0;
}
.camera_style_3 .footer{
width:100%;
height:35px;
background-color:#744f2d;
border-bottom-left-radius:10px;
border-bottom-right-radius:10px;
}
.camera_style_3 .footer:after{
content:'';
display:block;
width:80%;
height:3px;
background-color:#342316;
border-radius:3px;
position: absolute;
bottom:16px;
left:10%;
}
.camera_style_3 .left{
width:30px;
height:10px;
border-radius:10px;
background-color:#342316;
position: absolute;
top:5px;
left:5px;
}
.camera_style_3 .left:after{
content:'';
display:block;
width:14px;
height:14px;
background-color:#fff;
border-radius:50%;
position: absolute;
top:13px;
left:7px;
}
.camera_style_3 .center{
width:42px;
height:40px;
border:5px solid #fff;
border-radius:50%;
position: absolute;
top:3px;
left:34px;
}
.camera_style_3 .center:after{
content:'';
display:block;
width:32px;
height:30px;
background-color:#342316;
border-radius:50%;
position: absolute;
top:5px;
left:5px;
}
.camera_style_3 .right{
width:25px;
height:25px;
background-color:#342316;
border-radius:50%;
position: absolute;
top:5px;
right:5px;
}
.camera_style_3 .right:after{
content:'';
display:block;
width:13px;
height:13px;
background-color:#fff;
border-radius:50%;
position: absolute;
top:30px;
right:0;
}


第四款相机





html代码:

<div class="style_4">
<div class="camera_style_4">
<div class="header">
<div class="left"></div>
<div class="center"></div>
<div class="right"></div>
</div>
<div class="main"></div>
</div>
</div>


css代码:

.camera_style_4{
width:120px;
height:90px;
margin:0 auto;
position: absolute;
top:50%;
left:50%;
margin-left:-60px;
margin-top:-45px;
background-color:#f2a313;
border-radius:14px;
}
.camera_style_4:after,.camera_style_4:before{
content:'';
display:block;
width:130px;
height:10px;
background-color:#744f2d;
border-radius:10px;
position: absolute;
left:-5px;
top:15px;
z-index:3;
}
.camera_style_4:after{
top:80px;
}
.camera_style_4 .header{
width:100%;
height:22px;
}
.camera_style_4 .left{
width:26px;
height:8px;
background-color:#744f2d;
border-top-left-radius:50%;
border-top-right-radius:50%;
position: absolute;
top:-8px;
left:12px;
}
.camera_style_4 .center{
width:28px;
height:28px;
background-color:#744f2d;
border-radius:4px;
position: absolute;
top:-13px;
left:46px;
}
.camera_style_4 .center:after{
content:'';
display:block;
width:18px;
height:18px;
background-color:#fff;
border-radius:4px;
position: absolute;
top:5px;
left:5px;
}
.camera_style_4 .right{
width:10px;
height:10px;
background-color:#322317;
border-radius:50%;
position: absolute;
top:3px;
right:22px;
}
.camera_style_4 .right:after{
content:'';
display:block;
width:10px;
height:10px;
background-color:#322317;
border-radius:50%;
position: absolute;
top:0;
left:13px;
}
.camera_style_4 .main{
width:54px;
height:54px;
border:7px solid #fff;
border-radius:50%;
position: absolute;
top:19px;
left:26px;
z-index:4;
}
.camera_style_4 .main:after{
content:'';
display:block;
width:38px;
height:38px;
background-color:#342316;
border-radius:50%;
position: absolute;
top:8px;
left:8px;
}


第五款相机:





html代码:

<div class="style_5">
<div class="camera_style_5">
<div class="header">
<div class="left"></div>
<div class="center">
<div class="center_innerLeft"></div>
<div class="center_innerRight">
<div class="center_innerRight_body"></div>
</div>
</div>
<div class="right"></div>
</div>
<div class="main">
<div class="main_bg"></div>
<div class="outterRound"></div>
<div class="innerRound"></div>
</div>
</div>
</div>


css代码:

.camera_style_5{
width:120px;
height:90px;
margin:0 auto;
position: absolute;
top:50%;
left:50%;
margin-left:-60px;
margin-top:-43px;
}
.camera_style_5 .header{
width:100%;
height:16px;
}
.camera_style_5 .left{
width:20px;
height:12px;
background-color:#3e3d36;
position: absolute;
top:2px;
}
.camera_style_5 .left:after{
content:'';
display:block;
width:8px;
height:5px;
background-color:#3e3d36;
position: absolute;
top:9px;
left:6px;
}
.camera_style_5 .center{
width:65px;
height:16px;
position: absolute;
top:0;
left:33px;
}
.camera_style_5 .center_innerLeft{
width:20px;
height:4px;
background-color:#006674;
position: absolute;
top:12px;
left:0;
}
.camera_style_5 .center_innerLeft:before{
content:'';
display:block;
width:10px;
height:5px;
background-color:#3f3d39;
position: absolute;
top:-6px;
right:0;
}
.camera_style_5 .center_innerLeft:after{
content:'';
display:block;
width:4px;
height:2px;
background-color:#3f3d39;
position: absolute;
top:-2px;
right:3px;
}
.camera_style_5 .center_innerRight{
width:45px;
height:10px;
background-color:#006674;
position: absolute;
top:6px;
right:0;
}
.camera_style_5 .center_innerRight_body{
width:18px;
height:7px;
background-color:#fff;
position: absolute;
top:3px;
right:12px;
}
.camera_style_5 .center_innerRight_body:before,.camera_style_5 .center_innerRight_body:after{
content:'';
display:block;
width:6px;
height:6px;
background-color:#fff;
border-radius:50%;
position: absolute;
top:0;
left:-10px;
}
.camera_style_5 .center_innerRight_body:after{
left:21px;
}
.camera_style_5 .right{
width:16px;
height:8px;
background-color:#3e3d36;
position: absolute;
top:6px;
right:0;
}
.camera_style_5 .right:after{
content:'';
display:block;
width:6px;
height:4px;
background-color:#3e3d36;
position: absolute;
top:6px;
left:5px;
}
.camera_style_5 .main{
width:100%;
height:52px;
background-color:#e17c10;
border-top:10px solid #016675;
border-bottom:12px solid #016675;
border-bottom-right-radius:10px;
border-bottom-left-radius:10px;
}
.camera_style_5 .main_bg{
width:60px;
height:40px;
background-color:#006674;
position: absolute;
top:26px;
left:30px;
}
.camera_style_5 .main_bg:before,.camera_style_5 .main_bg:after{
content:'';
display:block;
width:6px;
height:6px;
background-color:#fff;
border-radius:50%;
position: absolute;
top:-8px;
left:-6px;
}
.camera_style_5 .main_bg:after{
left:70px;
}
.camera_style_5 .outterRound{
width:46px;
height:46px;
border:8px solid #fff;
border-radius:50%;
position: absolute;
top:26px;
left:29px;
}
.camera_style_5 .outterRound:before{
content:'';
display:block;
width:15px;
height:7px;
background-color:#fff;
-webkit-transform:rotate(-38deg);
transform:rotate(-38deg);
position: absolute;
top:36px;
left:-16px;
}
.camera_style_5 .outterRound:after{
content:'';
display:block;
width:5px;
height:5px;
background-color:#3f3d39;
border-radius:50%;
position: absolute;
top:39.5px;
left:-14px;
}
.camera_style_5 .innerRound{
width:34px;
height:34px;
background-color:#3e3c38;
border:7px solid #e17c10;
border-radius:50%;
position: absolute;
top:33px;
left:36px;
}


第六款相机





html代码:

<div class="style_6">
<div class="camera_style_6">
<div class="header">
<div class="top"></div>
</div>
<div class="main">
<div class="main_left"></div>
<div class="main_right"></div>
<div class="main_round"></div>
<div class="main_line"></div>
</div>
</div>
</div>


css代码:

.camera_style_6{
width:120px;
height:100px;
margin:0 auto;
position: absolute;
top:50%;
left:50%;
margin-left:-60px;
margin-top:-56px;
}
.camera_style_6 .header{
width:100%;
height:30px;
}
.camera_style_6 .top{
width:24px;
height:24px;
background-color:#fff;
border:8px solid #bc4c5f;
border-radius:50%;
position: absolute;
top:-11px;
left:40px;
}
.camera_style_6 .top:after{
content:'';
display:block;
width:14px;
height:5px;
background-color:#bc4c5f;
position: absolute;
bottom:-10px;
left:5px;
}
.camera_style_6 .main{
width:100%;
height:75px;
background-color:#bd4b60;
border-radius:10px;
}
.camera_style_6 .main:before{
content:'';
display:block;
width:100%;
height:40px;
background-color:#555953;
position: absolute;
bottom:8px;
left:0;
}
.camera_style_6 .main_left{
width:13px;
height:6px;
background-color:#fff;
position: absolute;
top:35px;
left:8px;
}
.camera_style_6 .main_left:after{
content:'';
display:block;
width:6px;
height:6px;
background-color:#fff;
border-radius:50%;
position: absolute;
top:0;
right:-9px;
}
.camera_style_6 .main_right{
width:2px;
height:12px;
border-left:14px solid #fff;
border-right:18px solid #fff;
position: absolute;
top:35px;
right:6px;
}
.camera_style_6 .main_round{
width:46px;
height:46px;
background-color:#be4a60;
border-radius:50%;
border:6px solid #fff;
position: absolute;
bottom:-3px;
left:14px;
}
.camera_style_6 .main_round:after{
content:'';
display:block;
width:36px;
height:36px;
background-color:#252522;
border-radius:50%;
position: absolute;
top:5px;
left:5px;
}
.camera_style_6 .main_line,.camera_style_6 .main_line:before,.camera_style_6 .main_line:after{
width:12px;
height:5px;
background-color:#3e3d36;
position: absolute;
top:61px;
left:78px;
}
.camera_style_6 .main_line:before{
content:'';
display:block;
top:8px;
left:0;
}
.camera_style_6 .main_line:after{
content:'';
display:block;
top:16px;
left:0;
}


第七款相机





html代码:

<div class="style_7">
<div class="camera_style_7">
<div class="main">
<div class="whiteBlock"></div>
<div class="round"></div>
</div>
</div>
</div>


css代码:

.camera_style_7{
width:120px;
height:80px;
background-color:#c34e5c;
border-radius:10px;
position: absolute;
top:50%;
left:50%;
margin-top:-40px;
margin-left:-60px;
}
.camera_style_7:before,.camera_style_7:after{
content:'';
display:block;
width:18px;
height:5px;
background-color:#51524d;
border-top-left-radius:4px;
border-top-right-radius:4px;
position: absolute;
top:-5px;
}
.camera_style_7:before{
left:10px;
}
.camera_style_7:after{
right:10px;
}
.camera_style_7 .main{
width:100%;
height:35px;
background-color:#4f534d;
position: absolute;
top:28px;
left:0;
}
.camera_style_7 .main:before{
content:'';
display:block;
width:100%;
height:5px;
background-color:#4f534d;
position: absolute;
top:-8px;
left:0;
}
.camera_style_7 .main:after{
content:'';
display:block;
width:40px;
height:96px;
background-color:#4f534d;
border-radius:12px;
position: absolute;
top:-36px;
left:40px;
z-index:1;
}
.camera_style_7 .whiteBlock{
width:50px;
height:7px;
border-left:16px solid #fff;
border-right:16px solid #fff;
position: absolute;
top:14px;
left:19px;
}
.camera_style_7 .whiteBlock:before{
content:'';
display:block;
width:24px;
height:14px;
background-color:#fff;
border-radius:3px;
position: absolute;
top:-44px;
left:13px;
z-index:2;
}
.camera_style_7 .whiteBlock:after{
content:'';
display:block;
width:10px;
height:10px;
background-color:#fff;
border-radius:50%;
position: absolute;
top:-38px;
left:70px;
}
.camera_style_7 .round{
width:28px;
height:28px;
background-color:#c34e5c;
border:4px solid #fff;
border-radius:50%;
position: absolute;
top:0;
left:42px;
z-index:2;
}
.camera_style_7 .round:after{
content:'';
display:block;
width:18px;
height:18px;
background-color:#3e3c38;
border-radius:50%;
position: absolute;
top:5px;
left:5px;
}


第八款相机





html代码:

<div class="style_8">
<div class="camera_style_8">
<div class="round"></div>
<div class="whiteBlock"></div>
</div>
</div>


css代码:

.camera_style_8{
width:120px;
height:60px;
background-color:#e99e1e;
border-radius:12px;
border-top:13px solid #744f2d;
border-bottom:7px solid #f2a313;
position: absolute;
top:50%;
left:50%;
margin-top:-40px;
margin-left:-60px;
}
.camera_style_8:before{
content:'';
display:block;
width:40px;
height:100px;
background-color:#3e3c38;
border-top-left-radius:22px 50px;
border-top-right-radius:12px 10px;
border-bottom-left-radius:20px 40px;
border-bottom-right-radius:16px 6px;
position: absolute;
bottom:-10px;
left:-20px;
}
.camera_style_8:after{
content:'';
display:block;
width:18px;
height:7px;
background-color:#fff;
border-radius:28px/10px;
position:absolute;
top:-24px;
left:-4px;
}
.camera_style_8 .round{
width:64px;
height:64px;
background-color:#fff;
border:10px solid #f2a313;
border-radius:50%;
position: absolute;
top:-12px;
left:23px;
z-index:3;
}
.camera_style_8 .round:after{
content:'';
display:block;
width:30px;
height:30px;
background-color:#3e3c38;
border:10px solid #764e2d;
border-radius:50%;
position: absolute;
top:7px;
left:7px;
}
.camera_style_8 .whiteBlock{
width:64px;
height:25px;
background-color:#f2a313;
border-top-left-radius:50%;
border-top-right-radius:50%;
position: absolute;
top:-20px;
left:33px;
z-index:1;
}
.camera_style_8 .whiteBlock:before{
content:'';
display:block;
width:10px;
height:10px;
background-color:#fff;
border-radius:50%;
position: absolute;
top:23px;
left:74px;
}
.camera_style_8 .whiteBlock:after{
content:'';
display:block;
width:7px;
height:7px;
background-color:#fff;
border-radius:50%;
position: absolute;
top:36px;
left:76px;
}


第九款相机





html代码:

<div class="style_9">
<div class="camera_style_9">
<div class="header">
<div class="left"></div>
<div class="center"></div>
<div class="right"></div>
</div>
<div class="whiteBlock"></div>
</div>
</div>


css代码:

.camera_style_9{
width:120px;
height:70px;
background-color:#e17c10;
border-top:8px solid #016675;
border-bottom:6px solid #016675;
position: absolute;
top:50%;
left:50%;
margin-left:-60px;
margin-top:-41px;
}
.camera_style_9:before{
content:'';
display:block;
width:50px;
height:50px;
background-color:#026573;
border:6px solid #fff;
border-radius:50%;
position: absolute;
bottom:-4px;
left:29px;
}
.camera_style_9:after{
content:'';
display:block;
width:34px;
height:34px;
background-color:#3e3c38;
border-radius:50%;
position:absolute;
bottom:10px;
left:43px;
}
.camera_style_9 .whiteBlock{
width:60px;
height:10px;
border-left:20px solid #fff;
border-right:20px solid #fff;
position: absolute;
top:3px;
left:10px;
}
.camera_style_9 .whiteBlock:after{
content:'';
display:block;
width:9px;
height:9px;
border-radius:50%;
background-color:#fff;
position: absolute;
top:0.5px;
right:3px;
}
.camera_style_9 .header{
width:100%;
height:20px;
position: absolute;
top:-28px;
left:0;
}
.camera_style_9 .left{
width:0;
height:0;
border:10px solid transparent;
border-bottom:8px solid #00606f;
position: absolute;
bottom:0;
left:5px;
}
.camera_style_9 .left:before{
content:'';
display:block;
width:12px;
height:4px;
background-color:#e07c13;
position: absolute;
bottom:-5px;
left:-6px;
}
.camera_style_9 .left:after{
content:'';
display:block;
width:4px;
height:3px;
background-color:#016673;
position: absolute;
bottom:-1px;
left:-2px;
}
.camera_style_9 .center{
width:38px;
height:10px;
background-color:#fff;
border:7px solid #016675;
border-top-left-radius:6px;
border-top-right-radius:6px;
border-bottom:none;
position: absolute;
bottom:0;
left:34px;
}
.camera_style_9 .right{
width:16px;
height:4px;
background-color:#00606f;
position: absolute;
bottom:0;
right:5px;
}
.camera_style_9 .right:before{
content:'';
display:block;
width:16px;
height:4px;
background-color:#e17b12;
position:absolute;
bottom:4px;
right:0;
}
.camera_style_9 .right:after{
content:'';
display:block;
width:4px;
height:3px;
background-color:#006775;
position:absolute;
bottom:8px;
right:6px;
}


PS: 篇幅有点长,代码都提供了,有兴趣的可以尝试一下。

若需转载,请注明出处,谢谢!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: