Created
August 6, 2013 23:21
-
-
Save anonymous/6169755 to your computer and use it in GitHub Desktop.
A CodePen by Captain Anonymous. Nexus 4 Pure CSS - I have made pure css design of my phone Nexus 4. No image, no svg, no webfonts only css, except phone tab background pattern. I was too bored :)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<div class="nexus"> | |
<div class="speaker"></div> | |
<div class="screen"> | |
<div class="phone-infos"> | |
<span>03.15</span> | |
<span class="battery"></span> | |
<span class="gsm"> | |
<b class="signal1"></b> | |
<b class="signal2"></b> | |
<b class="signal3"></b> | |
<b class="signal4"></b> | |
</span> | |
</div> | |
<ul class="phone-tabs"> | |
<li class="current"> | |
<a class="getphone"><i class="icon phone"></i></a> | |
</li> | |
<li> | |
<a class="getclock"><i class="icon clock"></i></a> | |
</li> | |
<li> | |
<a class="getpeoples"><i class="icon peoples"></i></a> | |
</li> | |
</ul> | |
<div class="phone-tab-contents"> | |
<div class="tab phone current"> | |
<div class="number-area"> | |
<span class="numbers"></span> | |
<a class="delete-btn"> | |
<i class="icon close">x</i> | |
</a> | |
</div> | |
<div class="numbers-container"> | |
<span class="pushed1">1<em class="brd">o o</em></span> | |
<span class="pushed2">2<em>ABC</em></span> | |
<span class="pushed3">3<em>DEF</em></span> | |
<span class="pushed4">4<em>GHI</em></span> | |
<span class="pushed5">5<em>JKL</em></span> | |
<span class="pushed6">6<em>MNO</em></span> | |
<span class="pushed7">7<em>PQRS</em></span> | |
<span class="pushed8">8<em>TUV</em></span> | |
<span class="pushed9">9<em>WXYZ</em></span> | |
<span class="pushedasterisk fff">*</span> | |
<span class="pushed0">0<em>+</em></span> | |
<span class="pushednumber fff">#</span> | |
</div> | |
<div class="call-btn"> | |
<i class="icon phone"></i> | |
</div> | |
</div> | |
<div class="tab clock"> | |
<p>Not Ready</p> | |
<p>Visit Nexus 4 Official Page</p> | |
<p><a href="http://www.google.com/nexus/4/">http://www.google.com/nexus/4/</a></p> | |
<p>Visit My Site</p> | |
<p><a href="http://erhanbasa.com/">http://erhanbasa.com/</a></p> | |
</div> | |
<div class="tab peoples"> | |
<p>Not Ready</p> | |
<p>Visit Nexus 4 Official Page</p> | |
<p><a href="http://www.google.com/nexus/4/">http://www.google.com/nexus/4/</a></p> | |
<p>Visit My Site</p> | |
<p><a href="http://erhanbasa.com/">http://erhanbasa.com/</a></p> | |
</div> | |
</div> | |
<ul class="main-btns"> | |
<li><a><i class="icon back"><</i></a></li> | |
<li><a><i class="icon home"></i></a></li> | |
<li><a><i class="icon windows"></i></a></li> | |
</ul> | |
</div> | |
</div> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Nexus 4 Pure CSS Design | |
// Author : Erhan Basa ( erhanbasa.com ) | |
// http://erhanbasa.com/blog/css-ile-nexus-4/ | |
$(document).ready(function(){ | |
/* Current Tab */ | |
$('.phone-tabs li a').click(function(){ | |
$('.phone-tabs li').removeClass('current'); | |
$(this).parent().addClass('current'); | |
}); | |
/* Simple Tab */ | |
var tabContents = $('.phone-tab-contents'); | |
$('.phone-tabs .getphone').click(function(){ | |
tabContents.removeClass('getpeoples'); | |
tabContents.removeClass('getclock'); | |
}); | |
$('.phone-tabs .getclock').click(function(){ | |
tabContents.removeClass('getpeoples'); | |
tabContents.addClass('getclock'); | |
}); | |
$('.phone-tabs .getpeoples').click(function(){ | |
tabContents.removeClass('getclock'); | |
tabContents.addClass('getpeoples'); | |
}); | |
/* Delete */ | |
$('.delete-btn').click(function(){ | |
var numbers = $('.number-area .numbers').text(); | |
var numbers2 = $('.number-area .numbers').text().length; | |
$('.number-area .numbers').text(numbers.substr(0,numbers2-1)); | |
}); | |
/* Pusher */ | |
var pusher = { | |
number : function(num) { | |
$('.numbers-container .pushed' + num + '').click(function(){ | |
$('.number-area .numbers').append(''+num+''); | |
}); | |
} | |
} | |
pusher.number(1); | |
pusher.number(2); | |
pusher.number(3); | |
pusher.number(4); | |
pusher.number(5); | |
pusher.number(6); | |
pusher.number(7); | |
pusher.number(8); | |
pusher.number(9); | |
pusher.number(0); | |
$('.numbers-container .pushedasterisk').click(function(){ | |
$('.number-area .numbers').append('*'); | |
}); | |
$('.numbers-container .pushednumber').click(function(){ | |
$('.number-area .numbers').append('#'); | |
}); | |
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* Nexus 4 Pure CSS Design */ | |
/* Author : Erhan Basa ( erhanbasa.com ) */ | |
/* http://erhanbasa.com/blog/css-ile-nexus-4/ */ | |
* {margin: 0; padding: 0;} | |
::selection {background: transparent;} | |
body {color: #4196b7; font: normal 12px arial,sans-serif;} | |
.nexus {position: relative; margin: 10px auto; width: 314px; height: 600px; border-radius: 80px / 40px; border-top: 3px solid #222; background: #6d6d6b; background: -moz-linear-gradient(left, #6d6d6b 0%, #3b3b3c 1%, #979797 3%, #686868 4%, #2e2e2e 100%); background: -webkit-gradient(linear, left top, right top, color-stop(0%,#6d6d6b), color-stop(1%,#3b3b3c), color-stop(3%,#979797), color-stop(4%,#686868), color-stop(100%,#2e2e2e)); background: -webkit-linear-gradient(left, #6d6d6b 0%,#3b3b3c 1%,#979797 3%,#686868 4%,#2e2e2e 100%); background: -o-linear-gradient(left, #6d6d6b 0%,#3b3b3c 1%,#979797 3%,#686868 4%,#2e2e2e 100%); background: -ms-linear-gradient(left, #6d6d6b 0%,#3b3b3c 1%,#979797 3%,#686868 4%,#2e2e2e 100%); background: linear-gradient(to right, #6d6d6b 0%,#3b3b3c 1%,#979797 3%,#686868 4%,#2e2e2e 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6d6d6b', endColorstr='#2e2e2e',GradientType=1 );} | |
.nexus:before {position: absolute; content: ''; z-index: -1; top: -6px; left: 0px; background: #babbbb; width: 314px; height: 78px; border-radius: 25% / 45%; border-top: 1px solid #444;} | |
.nexus:after {position: absolute; content: ''; z-index: -1; bottom: -5px; left: 0px; background: #babbbb; width: 314px; height: 78px; border-radius: 25% / 45%; border-bottom: 2px solid #555;} | |
.speaker {position: absolute; left: 0px; top: 0px; width: 65px; height: 5px; background: #333;left: 50%; margin-left: -33px; border-radius: 0 0 6px 6px; border:1px solid #474747; border-top: 0; box-shadow: inset 0 0 1px black;} | |
.screen {position: absolute; left: 17px; top: 64px; width: 282px; height: 467px; background: white;} | |
.phone-infos {width: 100%; height: 17px; background: #303030;} | |
.phone-infos span {float: right; font-size: 11px; margin: 2px 3px;} | |
.phone-infos .battery {width: 8px; height: 10px; background: #4196b7; margin-top: 2px; position: relative; margin-top: 4px;} | |
.phone-infos .battery:before {width: 4px; height: 2px; position: absolute; left: 2px; top: -2px; background: #4196b7; content: '';} | |
.phone-infos .gsm {position: relative; height: 12px; margin-right: 10px;} | |
.phone-infos .gsm b {float: left; position: absolute; bottom: 0;} | |
.phone-infos .gsm b:before {position: absolute; content: ''; top: -3px; width: 0; height: 0; border-bottom: 3px solid #4196b7; border-left: 3px solid transparent;} | |
.phone-infos .gsm .signal1 {width: 3px; height: 0px; background: #4196b7; left: -8px;} | |
.phone-infos .gsm .signal2 {width: 3px; height: 3px; background: #4196b7; left: -4px;} | |
.phone-infos .gsm .signal3 {width: 3px; height: 7px; background: #4196b7;} | |
.phone-infos .gsm .signal4 {width: 3px; height: 11px; background: #808184; left: 4px;} | |
.phone-infos .gsm .signal4:before {border-bottom: 3px solid #808184; border-left: 3px solid transparent;} | |
.phone-tabs {border-bottom: 1px solid #858383; background: #303030; height: 50px;} | |
.phone-tabs li {float: left; list-style: none; -webkit-transition:all .05s ease-in; -moz-transition:all .05s ease-in; -o-transition:all .05s ease-in; transition:all .05s ease-in;} | |
.phone-tabs li a {-webkit-transition:all .05s ease-in; -moz-transition:all .05s ease-in; -o-transition:all .05s ease-in; transition:all .05s ease-in; text-decoration: none; background: #303030; cursor:pointer; height: 40px; width:94px; display: block; text-align: center; position: relative; padding-top: 10px;} | |
.phone-tabs li a:active {background: rgba(104,208,249,.4);} | |
.phone-tabs li a:before {height: 20px; width: 1px; background: #858383; position: absolute; content: ''; left: 0; top: 16px;} | |
.phone-tabs li:first-child a:before {display: none;} | |
.phone-tabs li.current a:after {position: absolute; content: ''; left: 0px; bottom: 0px; width: 100%; height: 5px; background: #4196b7;} | |
.phone-tab-contents {width: 100%; height: 365px; position: relative; overflow: hidden;} | |
.phone-tab-contents .tab {width: 100%; height: 365px; position: absolute; background: #3f3f3f; position: absolute; -webkit-transition:all .25s ease-in; -moz-transition:all .25s ease-in; -o-transition:all .25s ease-in; transition:all .25s ease-in;} | |
.phone-tab-contents .tab.phone {left:0; background: #3f3f3f url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAKElEQVQIW2NkQAOO07anMSKLgQT2Z3nOggvCBECKwILIAmBBdAGQIABJuxH63EphJgAAAABJRU5ErkJggg==) repeat;} | |
.phone-tab-contents .tab.clock {left: 282px;} | |
.phone-tab-contents .tab.peoples{left: 564px;} | |
.phone-tab-contents.getclock .tab.phone {left: -282px;} | |
.phone-tab-contents.getclock .tab.clock {left: 0px;} | |
.phone-tab-contents.getclock .tab.peoples {left: 282px;} | |
.phone-tab-contents.getpeoples .tab.phone {left: -564px;} | |
.phone-tab-contents.getpeoples .tab.clock {left: -282px;} | |
.phone-tab-contents.getpeoples .tab.peoples {left: 0px;} | |
.phone-tab-contents .tab.clock p:first-child, | |
.phone-tab-contents .tab.peoples p:first-child {margin-top: 50px;} | |
.phone-tab-contents .tab.peoples p, | |
.phone-tab-contents .tab.clock p {width: 90%; padding: 10px 5% 0; text-align: center; color: #bbb;} | |
.phone-tab-contents .tab.peoples p a, | |
.phone-tab-contents .tab.clock p a {color: #fff;} | |
.main-btns {width: 100%; height: 34px; background: #303030;} | |
.main-btns li {list-style: none; float: left;} | |
.main-btns li a {width: 30px; display: block; width: 94px; height: 34px; text-align: center;} | |
.number-area {color: #fff; font-size: 20px; text-align: center; padding: 20px 0 20px; width: 100%; overflow: hidden; border-bottom: 1px solid #333; margin-bottom: 10px;} | |
.number-area .numbers {width: 230px; float: left; padding: 0 10px; height: 14px;} | |
.number-area .delete-btn {float: right; margin-right: 10px; cursor: pointer;} | |
.numbers-container {overflow: hidden;} | |
.numbers-container span {width: 94px; height: 30px; float: left; font-size: 30px; text-indent: 22px; position: relative; padding: 15px 0; cursor: pointer;} | |
.numbers-container span:active {background: rgba(104,208,249,.4);} | |
.numbers-container span em {font-size: 12px; color: #fff; font-style: normal; position: absolute; left: 22px; bottom: 15px; padding-bottom: 5px; } | |
.numbers-container span em.brd:before {position: absolute; width: 14px; height: 2px; background: #fff; content: ''; top: 9px; left: 24px;} | |
.numbers-container span em:after {width: 35px; height: 2px; background: #4196b7; content: ''; position: absolute; top: 16px; left: 22px;} | |
.numbers-container span.fff {color: #fff; text-align: center;} | |
.call-btn {width: 100%; text-align: center; border-top: 1px solid #333; padding-top: 10px;} | |
/* Icon Group */ | |
.icon {display: inline-block; font-style: normal; position: relative;} | |
.icon.phone {background: #fff; width: 5px; height: 26px; -webkit-transform: rotate(145deg); -moz-transform: rotate(145deg); -o-transform: rotate(145deg); transform: rotate(145deg); border-radius: 0 6px 6px 0; margin-top: 5px;} | |
.icon.phone:before {position: absolute; content: ''; width: 8px; height: 9px; background: #fff; left: -6px; bottom: -1px; border-radius: 3px 6px 7px 3px;} | |
.icon.phone:after {position: absolute; content: ''; width: 8px; height: 9px; background: #fff; left: -6px; top: -1px; border-radius: 3px 6px 7px 3px;} | |
.icon.clock {background: #303030; width: 22px; height: 22px; border: 2px solid #fff; border-radius: 22px; margin-top: 4px;} | |
.icon.clock:before {position: absolute; content: ''; height: 9px; width: 2px; background: #fff; top: 2px; left: 10px;} | |
.icon.clock:after {position: absolute; content: ''; height: 9px; width: 2px; background: #fff; top: 9px; -webkit-transform: rotate(120deg); -o-transform: rotate(120deg); -moz-transform: rotate(120deg); transform: rotate(120deg); left: 14px;} | |
.icon.peoples {background: #fff; height: 10px; width: 22px; border-radius: 12px 12px 0 0; margin-top: 20px;} | |
.icon.peoples:after {position: absolute; content: ''; background: #fff; width: 14px; height: 14px; border: 2px solid #303030; border-radius: 18px; top: -14px; left: 2px; z-index: 10;} | |
.icon.peoples:before {position: absolute; content: ''; background: #303030; width: 10px; height: 5px; left: 6px; top: -5px; z-index: 20; border-radius: 0 0 15px 15px;} | |
.icon.close {font-size: 12px; color: #303030; background: #fff; width: 14px; height: 12px;line-height: 12px; margin-top: 5px;} | |
.icon.close:before {position:absolute;content:''; left:-8px; width: 0px; height: 0px; border-style: solid; border-width: 6.5px 8px 6.5px 0; border-color: transparent #ffffff transparent transparent; } | |
.icon.home {width: 25px; height: 8px; border: 2px solid #bbbbbb; border-top: 0; margin-top: 15px;} | |
.icon.home:after {width: 2px; height: 17px; background: #bbbbbb; position: absolute; top: -12px; left: 5px; content: ''; -webkit-transform: rotate(70deg); -moz-transform: rotate(70deg); -o-transform: rotate(70deg); transform: rotate(70deg);} | |
.icon.home:before {width: 2px; height: 17px; background: #bbbbbb; position: absolute; top: -12px; right: 5px; content: ''; -webkit-transform: rotate(110deg); -moz-transform: rotate(110deg); -o-transform: rotate(110deg); transform: rotate(110deg);} | |
.icon.windows {width: 20px; height: 8px; border: 2px solid #bbbbbb; margin-top: 13px;} | |
.icon.windows:after {width: 2px; height: 14px; background: #bbbbbb; position: absolute; content: ''; right: -6px; top: -6px;} | |
.icon.windows:before {width: 22px; height: 2px; background: #bbbbbb; position: absolute; content: ''; right: -4px; top: -6px;} | |
.icon.back {width: 20px; height: 2px; background: #bbb; color: #bbb; font-size: 18px; line-height: 0px; text-indent: -16px; font-family: sans-serif; margin-top: 12px;} | |
.icon.back:before {width: 7px; height: 11px; background: #303030; position: absolute; content: ''; left: 8px; z-index: 10; top: 2px;} | |
.icon.back:after {width: 20px; height: 7px; border: 2px solid #bbb; position: absolute; content: ''; border-radius: 10px; } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment