A Pen by Derek Wheelden on CodePen.
Created
March 25, 2014 23:01
-
-
Save anonymous/9773388 to your computer and use it in GitHub Desktop.
A Pen by Derek Wheelden.
This file contains hidden or 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="container"> | |
<h1>File Browser Mockup</h1> | |
<h2>Click some things</h2> | |
<div class="browser"> | |
<h1>File Browser</h1> | |
<ul class="folders"> | |
<li> | |
<a href="#"> | |
<i class="fa fa-folder"></i> | |
Blogs | |
</a> | |
</li> | |
<li> | |
<a href="#"> | |
<i class="fa fa-folder"></i> | |
PDFs | |
</a> | |
</li> | |
<li> | |
<a href="#"> | |
<i class="fa fa-folder"></i> | |
Dossiers | |
</a> | |
</li> | |
<li> | |
<a href="#"> | |
<i class="fa fa-folder"></i> | |
Not Porn | |
</a> | |
</li> | |
</ul> | |
<div class="files"> | |
<ul class="files__actions"> | |
<li> | |
<a href="#"> | |
<i class="fa fa-search"></i> Search | |
</a> | |
</li> | |
<li> | |
<a href="#"> | |
<i class="fa fa-plus"></i> Upload File | |
</a> | |
</li> | |
<li> | |
<a href="#" class="show-thumbnails"> | |
<i class="fa fa-picture-o"></i> Show Thumbnails | |
</a> | |
</li> | |
</ul> | |
<ul class="files__list"> | |
<li> | |
<div class="thumbnail"> | |
<img src="http://fillmurray.com/300/300"> | |
<div class="zoom"><i class="fa fa-search"></i></div> | |
</div> | |
<a href="#"> | |
<i class="fa fa-picture-o"></i> happy-trees.png | |
</a> | |
<div class="settings"> | |
<label for"alt-text">Alt Text ›</label> | |
<input type="text" id="alt-text"> | |
<label>Align ›</label> | |
<input type="radio" name="align"> Left | |
<input type="radio" name="align"> Right | |
<input type="radio" name="align" checked> Auto | |
<span class="insert"> | |
<i class="fa fa-plus"></i> Insert | |
</span> | |
</div> | |
</li> | |
<li> | |
<div class="thumbnail"> | |
<img src="http://fillmurray.com/200/200"> | |
<div class="zoom"><i class="fa fa-search"></i></div> | |
</div> | |
<a href="#"> | |
<i class="fa fa-picture-o"></i> happy-river.png | |
</a> | |
<div class="settings"> | |
<label for"alt-text">Alt Text ›</label> | |
<input type="text" id="alt-text"> | |
<label>Align ›</label> | |
<input type="radio" name="align"> Left | |
<input type="radio" name="align"> Right | |
<input type="radio" name="align" checked> Auto | |
<span class="insert"> | |
<i class="fa fa-plus"></i> Insert | |
</span> | |
</div> | |
</li> | |
<li> | |
<div class="thumbnail"> | |
<i class="fa fa-file"></i> | |
<div class="zoom"><i class="fa fa-search"></i></div> | |
</div> | |
<a href="#"> | |
<i class="fa fa-file"></i> tps_report_jerry.pdf | |
</a> | |
<div class="settings"> | |
<label for"alt-text">Title ›</label> | |
<input type="text" id="alt-text"> | |
<span class="insert"> | |
<i class="fa fa-plus"></i> Insert | |
</span> | |
</div> | |
</li> | |
<li> | |
<div class="thumbnail"> | |
<i class="fa fa-file"></i> | |
<div class="zoom"><i class="fa fa-search"></i></div> | |
</div> | |
<a href="#"> | |
<i class="fa fa-file"></i> embarassing-secrets.pdf | |
</a> | |
<div class="settings"> | |
<label for"alt-text">Title ›</label> | |
<input type="text" id="alt-text"> | |
<span class="insert"> | |
<i class="fa fa-plus"></i> Insert | |
</span> | |
</div> | |
</li> | |
<li> | |
<div class="thumbnail"> | |
<i class="fa fa-question"></i> | |
<div class="zoom"><i class="fa fa-search"></i></div> | |
</div> | |
<a href="#"> | |
<i class="fa fa-question"></i> virus_trojan.hax | |
</a> | |
<div class="settings"> | |
<label for"alt-text">Title ›</label> | |
<input type="text" id="alt-text"> | |
<span class="insert"> | |
<i class="fa fa-plus"></i> Insert | |
</span> | |
</div> | |
</li> | |
<li> | |
<div class="thumbnail"> | |
<i class="fa fa-question"></i> | |
<div class="zoom"><i class="fa fa-search"></i></div> | |
</div> | |
<a href="#"> | |
<i class="fa fa-question"></i> virus_trojan_1.hax | |
</a> | |
<div class="settings"> | |
<label for"alt-text">Title ›</label> | |
<input type="text" id="alt-text"> | |
<span class="insert"> | |
<i class="fa fa-plus"></i> Insert | |
</span> | |
</div> | |
</li> | |
</ul> | |
<div class="placeholder active"> | |
<i class="fa fa-rocket"></i> | |
</div> | |
</div> | |
</div> | |
</div> |
This file contains hidden or 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
$(function () { | |
var $folders = $('.folders'), | |
$files = $('.files'), | |
$filesList = $('.files__list'); | |
$folders.on('click', 'a', function () { | |
// Hide the rocket | |
$('.placeholder').removeClass('active'); | |
// Reveal the actions toolbar | |
$('.files__actions').addClass('active'); | |
// Reveal the list of files | |
$filesList.addClass('active'); | |
// Hightlight only the clicked folder | |
$('a', $folders).removeClass('active'); | |
$(this).addClass('active'); | |
return false; | |
}); | |
$files.on('click', '.files__list a', function () { | |
// Hide thumbnails and settings toolbar for | |
// previously clicked files | |
$('.settings', $filesList).removeClass('active'); | |
$('li', $filesList).removeClass('active'); | |
// Reveal thumbnail and settings toolbar | |
$(this) | |
.closest('li') | |
.addClass('active') | |
.find('.settings') | |
.addClass('active'); | |
return false; | |
}); | |
$('.show-thumbnails').on('click', function () { | |
var $this = $(this), | |
$li = $('li', $filesList); | |
if ($this.hasClass('active')) { | |
// Hide thumbnails | |
$li.removeClass('active'); | |
$this.removeClass('active'); | |
} else { | |
// Show thumbnails | |
$li.addClass('active'); | |
$this.addClass('active'); | |
} | |
return false; | |
}); | |
}); | |
try { | |
Typekit.load({ | |
loading: function() { | |
// Javascript to execute when fonts start loading | |
}, | |
active: function() { | |
// Javascript to execute when fonts become active | |
$('.container').addClass('tk-loaded'); | |
}, | |
inactive: function() { | |
// Javascript to execute when fonts become inactive | |
$('.container').addClass('tk-loaded'); | |
} | |
}); | |
} catch (e) { | |
// Do something | |
} |
This file contains hidden or 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
@import "compass"; | |
// Variables | |
$base-color: hsl(200, 70, 70); | |
$darker: darken($base-color, 20%); | |
$lighter: lighten($base-color, 20%); | |
$complement: complement($base-color); | |
.browser { | |
position: relative; | |
width: 90%; | |
max-width: 50em; | |
min-height: 20em; | |
margin: 0 auto; | |
background: white; | |
overflow: hidden; | |
box-shadow: 0 0.5em 2em 0 rgba(black, 0.2); | |
h1 { | |
margin: 0; | |
padding: 0.5em 0; | |
background: $darker; | |
font-size: 1em; | |
line-height: 1.5; | |
text-transform: uppercase; | |
color: white; | |
} | |
ul { | |
margin: 0; | |
padding: 0; | |
list-style: none; | |
} | |
.folders { | |
position: absolute; | |
top: 3.125em; | |
bottom: 0; | |
width: 12.5em; | |
background: #444; | |
font-size: 0.8em; | |
color: white; | |
z-index: 9999; | |
li { | |
display: block; | |
a { | |
display: block; | |
padding: 0.625em; | |
border-left: 5px solid $complement; | |
text-decoration: none; | |
color: inherit; | |
} | |
&:nth-child(even) a { | |
border-left: 5px solid $base-color; | |
background: #555; | |
} | |
a:hover, a.active { | |
border-left: 5px solid $complement; | |
background: $complement; | |
color: white; | |
} | |
} | |
i { margin-right: 0.5em; } | |
} | |
.files { | |
position: relative; | |
height: 100%; | |
padding-left: 10em; | |
.placeholder { | |
position: absolute; | |
top: 50%; | |
left: calc(50% + 0.5em); | |
font-size: 10em; | |
font-weight: bold; | |
text-transform: uppercase; | |
color: black; | |
opacity: 0; | |
transition: opacity 0.2s ease-in-out; | |
transform: translate(-50%, -50%); | |
animation: rockit 1s infinite ease-in-out; | |
&.active { opacity: 0.05; } | |
} | |
.files__actions { | |
max-height: 0; | |
background: $base-color; | |
font-size: 0.75em; | |
color: white; | |
overflow: hidden; | |
transition: max-height 0.2s ease-in-out; | |
@extend .cf; | |
&.active { | |
max-height: 3em; | |
} | |
li { | |
display: block; | |
float: left; | |
a { | |
display: block; | |
padding: 0.5em 1em; | |
text-decoration: none; | |
color: inherit; | |
&:hover, &.active { background: white; color: $darker; } | |
} | |
} | |
} | |
} | |
.files__list { | |
opacity: 0; | |
transition: opacity 0.2s ease-in-out; | |
&.active { opacity: 1; } | |
li { | |
position: relative; | |
transition: transform 0.2s ease-in-out; | |
transform: translateX(-3.5em); | |
&:hover, &.active { | |
transform: translateX(0); | |
} | |
} | |
li:nth-child(even) a { | |
background: #f7f7f7; | |
} | |
li a { | |
display: block; | |
width: calc(100% + 3.5em); | |
padding: 1em 1em 1em 4.5em; | |
background: white; | |
text-decoration: none; | |
color: inherit; | |
i { | |
width: 1.5em; | |
margin-right: 0.5em; | |
text-align: center; | |
} | |
} | |
li > .thumbnail { | |
position: absolute; | |
width: 3.5em; | |
height: 3.5em; | |
img { | |
position: absolute; | |
top: 50%; | |
left: 50%; | |
width: 100%; | |
transform: translate(-50%, -50%); | |
} | |
> i { | |
width: 100%; | |
background: $complement; | |
font-size: 1.5em; | |
line-height: 2.35; | |
text-align: center; | |
color: white; | |
} | |
.zoom { | |
position: absolute; | |
top: 0; | |
left: 0; | |
right: 0; | |
bottom: 0; | |
background: rgba(black, 0.5); | |
cursor: pointer; | |
opacity: 0; | |
transition: opacity 0.2s ease-in-out; | |
&:hover { opacity: 1; } | |
i { | |
width: 100%; | |
font-size: 1.5em; | |
line-height: 2.3333; | |
text-align: center; | |
color: white; | |
} | |
} | |
} | |
.settings { | |
width: calc(100% + 4.6667em); | |
max-height: 0; | |
padding: 0 1em 0 6em; | |
background: $base-color; | |
font-size: 0.75em; | |
color: white; | |
transition: max-height 0.2s ease-in-out; | |
&.active { max-height: 3em; } | |
label { | |
display: inline-block; | |
padding: 0.5em; | |
background: $darker; | |
} | |
input { | |
margin: 0 1em; | |
border: 1px solid $darker; | |
color: #222; | |
} | |
.insert { | |
display: inline-block; | |
margin-left: 1em; | |
padding: 0.5em; | |
background: white; | |
color: $darker; | |
cursor: pointer; | |
&:hover { | |
background: $darker; | |
color: white; | |
} | |
} | |
} | |
} | |
} | |
/** PAGE STYLES **/ | |
$serif: 'ff-tisa-web-pro', serif; | |
$sans-serif: 'proxima-nova', sans-serif; | |
* { box-sizing: border-box; } | |
html, body { width: 100%; height: 100%; } | |
html { font-size: 62.5%; } | |
body { | |
font-family: $sans-serif; | |
font-size: 2em; | |
line-height: 1.5; | |
font-weight: 300; | |
color: #222; | |
overflow-x: hidden; | |
-webkit-backface-visibility: hidden; | |
} | |
h1 { | |
margin: 0; | |
font-size: 3em; | |
font-weight: bold; | |
line-height: 1; | |
text-align: center; | |
color: $darker; | |
} | |
h2 { | |
margin: 0 0 0.5em; | |
font-size: 1.5em; | |
font-weight: normal; | |
text-align: center; | |
text-transform: lowercase; | |
color: $complement; | |
} | |
h3 { | |
margin: 1em 0; | |
font-family: $sans-serif; | |
font-size: 2em; | |
font-weight: 100; | |
text-transform: uppercase; | |
} | |
.container { | |
visibility: hidden; | |
padding: 1em 0; | |
} | |
.no-js .container, | |
.container.tk-loaded{ | |
visibility: visible; | |
} | |
.cf:before, | |
.cf:after { | |
content: " "; /* 1 */ | |
display: table; /* 2 */ | |
} | |
.cf:after { | |
clear: both; | |
} | |
.cf { | |
*zoom: 1; | |
} | |
@keyframes rockit { | |
0% { transform: translate(-50%, -50%) rotate(0deg); } | |
25% { transform: translate(-48%, -48%) rotate(2deg); } | |
50% { transform: translate(-50%, -50%) rotate(-2deg); } | |
75% { transform: translate(-52%, -52%) rotate(2deg); } | |
100% { transform: translate(-50%, -50%) rotate(0deg); } | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment