Make the landing page responsive.

This commit is contained in:
yackob03 2013-10-03 13:54:59 -04:00
parent 31a72253a9
commit f308ba5e28
2 changed files with 159 additions and 269 deletions

View file

@ -84,35 +84,34 @@
} }
.landing { .landing {
position: relative;
width: 100%;
height: 562px;
padding: 10px;
color: white; color: white;
margin-top: -19px;
background-color: #1d1d1d;
background-position: left;
background-image: url(../containers-back-black.jpg);
background-repeat: no-repeat;
margin-top: -20px;
margin-bottom: 0px;
padding-top: 96px;
min-height: 500px;
} }
.landing .message-container { .landing .messages {
position: absolute; margin-bottom: 40px;
top: 88px;
left: 50px;
width: 600px;
z-index: 3;
} }
.landing .signup-container { .landing .messages b {
position: absolute; color: #94C9F7;
top: 100px;
right: 50px;
width: 350px;
z-index: 3;
} }
.landing .signup-container input { .landing .messages h1 {
font-size: 48px;
}
.form-signup input {
margin: 12px; margin: 12px;
margin-left: 0px; margin-left: 0px;
} }
@ -129,179 +128,63 @@
color: black; color: black;
} }
.landing .message {
font-size: 3.4em;
margin-bottom: 10px;
}
.landing .message b {
color: #94C9F7;
}
.landing .sub-message {
font-size: 1.8em;
margin-bottom: 20px;
}
.landing .welcome-message {
text-align: center;
}
.landing .welcome-message .sub-message {
margin-top: 16px;
}
.landing .welcome-message .gravatar {
display: inline-block;
border: 1px solid #94C9F7;
}
.landing .sub-message b {
color: #94C9F7;
}
.landing .sellcall {
font-size: 1.4em;
}
.landing .shoutouts {
position: absolute;
bottom: 30px;
left: 0px;
right: 0px;
text-align: center;
z-index: 3;
white-space: nowrap;
}
.landing .shoutout {
display: inline-block;
margin-left: 20px;
margin-right: 20px;
width: 300px;
vertical-align: top;
white-space: normal;
}
.landing .shoutout i { .landing .shoutout i {
font-size: 36px; font-size: 36px;
display: block; display: block;
text-align: center;
} }
.landing .shoutout b { .landing .shoutout b {
font-size: 22px; font-size: 22px;
display: block; display: block;
line-height: 31px;
}
.landing .shoutout {
font-size: 14px;
text-align: center; text-align: center;
} line-height: normal;
.landing .background-mask {
position: absolute;
top: 0px;
left: 0px;
right: 0px;
height: 562px;
background: -moz-linear-gradient(top, #141414 0%, transparent 15%, transparent 85%, #141414 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#141414), color-stop(15%,transparent), color-stop(85%,transparent), color-stop(100%,#141414));
background: -webkit-linear-gradient(top, #141414 0%,transparent 15%,transparent 85%,#141414 100%);
background: -o-linear-gradient(top, #141414 0%,transparent 15%,transparent 85%,#141414 100%);
background: -ms-linear-gradient(top, #141414 0%,transparent 15%,transparent 85%,#141414 100%);
background: linear-gradient(to bottom, #141414 0%,transparent 15%,transparent 85%,#141414 100%);
z-index: 2;
}
.landing .background {
position: absolute;
top: 0px;
left: 0px;
right: 0px;
background-color: #1d1d1d;
background-position: left;
background-image: url(../containers-back-black.jpg);
background-repeat: no-repeat;
height: 562px;
z-index: 1;
}
.landing .options {
display: inline-block;
padding: 10px;
margin-top: 20px;
}
.landing .options .option {
}
.landing .options .or {
margin: 14px;
text-align: center;
}
.landing .options .or span {
display: inline-block;
border-radius: 50%;
background: #444;
padding: 6px;
width: 48px;
height: 48px;
line-height: 36px;
text-transform: uppercase;
text-align: center;
} }
.landing-footer { .landing-footer {
padding: 20px; background-color: white;
background-image: none;
position: absolute;
top: 610px;
bottom: 0px;
left: 0px;
right: 0px;
min-height: 138px;
border-radius: 0px;
margin-bottom: 0px;
} }
.landing-footer .footer-column { .landing-footer .copyright-container {
display: inline-block; font-size: 11px;
padding: 10px; color: black;
margin-left: 20px; text-align: right;
vertical-align: top; padding-right: 30px;
padding-top: 20px;
} }
.landing-footer .footer-column ul { .landing-footer .copyright-container a {
display: block;
}
.landing-footer .dt-logo {
vertical-align: center;
max-width: 150px;
}
.landing-footer .copyright {
font-size: 11px;
color: black;
}
.landing-footer ul {
list-style-type: none; list-style-type: none;
margin: 0px; margin: 0px;
padding-left: 0px; padding-left: 0px;
} }
.landing-footer .footer-column li { .landing-footer li {
margin: 0px; margin: 0px;
} }
.landing-footer .dt-logo { .user-welcome {
float: right; text-align: center;
margin-top: 30px;
margin-right: 10px;
vertical-align: center;
width: 150px;
}
.landing-footer .copyright {
position: absolute;
left: 10px;
bottom: 4px;
font-size: 11px;
color: black;
} }
#repoSearch { #repoSearch {
@ -547,6 +430,8 @@ p.editable:hover i {
margin-bottom: 20px; margin-bottom: 20px;
border-bottom: 1px solid #eee; border-bottom: 1px solid #eee;
padding: 10px; padding: 10px;
font-size: 14px;
line-height: normal;
} }
.repo-listing:last-child { .repo-listing:last-child {

View file

@ -1,18 +1,19 @@
<div class="landing"> <div class="jumbotron landing">
<div class="background"></div> <div class="container">
<div class="background-mask"></div> <div class="row messages">
<div class="message-container" ng-show="user.anonymous"> <div class="col-md-7">
<div class="message">Secure hosting for <b>private</b> docker containers</div> <div ng-show="user.anonymous">
<div class="sub-message">Use the docker images <b>your team</b> needs with the safety of <b>private</b> storage</div> <h1>Secure hosting for <b>private</b> docker containers</h1>
<h3>Use the docker images <b>your team</b> needs with the safety of <b>private</b> storage</h3>
<div class="sellcall"><a href="#/plans">Starting at $7/mo</a></div> <div class="sellcall"><a href="#/plans">Starting at $7/mo</a></div>
</div> </div>
<div class="message-container" ng-show="!user.anonymous"> <div ng-show="!user.anonymous">
<div ng-show="loadingmyrepos"> <div ng-show="loadingmyrepos">
<div class="spin"></div> <div class="spin"></div>
</div> </div>
<div ng-show="!loadingmyrepos && myrepos.length > 0"> <div ng-show="!loadingmyrepos && myrepos.length > 0">
<h2>Your Top Repositories</h4> <h2>Your Top Repositories</h2>
<div class="repo-listing" ng-repeat="repository in myrepos"> <div class="repo-listing" ng-repeat="repository in myrepos">
<i class="icon-hdd icon-large"></i> <i class="icon-hdd icon-large"></i>
<a ng-href="#/repository/{{repository.namespace}}/{{ repository.name }}">{{repository.namespace}}/{{repository.name}}</a> <a ng-href="#/repository/{{repository.namespace}}/{{ repository.name }}">{{repository.namespace}}/{{repository.name}}</a>
@ -28,12 +29,12 @@
<div class="or"><span>or</span></div> <div class="or"><span>or</span></div>
<div class="option"><a href="#/repository">Browse the public repositories</a></div> <div class="option"><a href="#/repository">Browse the public repositories</a></div>
</div> </div>
</div>
</div>
</div>
</div> <!-- col -->
</div> <div class="col-md-4 col-md-offset-1">
</div>
</div>
<div class="signup-container">
<div ng-show="user.anonymous"> <div ng-show="user.anonymous">
<form class="form-signup" name="signupForm" ng-submit="register()" data-trigger="manual" data-content="{{ registerError }}" data-placement="left" ng-show="!awaitingConfirmation && !registering"> <form class="form-signup" name="signupForm" ng-submit="register()" data-trigger="manual" data-content="{{ registerError }}" data-placement="left" ng-show="!awaitingConfirmation && !registering">
<input type="text" class="form-control" placeholder="Create a username" name="username" ng-model="newUser.username" autofocus required> <input type="text" class="form-control" placeholder="Create a username" name="username" ng-model="newUser.username" autofocus required>
@ -49,46 +50,47 @@
<div class="sub-message">Thank you for registering! We have sent you an activation email. You must <b>verify your email address</b> before you can continue.</div> <div class="sub-message">Thank you for registering! We have sent you an activation email. You must <b>verify your email address</b> before you can continue.</div>
</div> </div>
</div> </div>
<div ng-show="!user.anonymous"> <div ng-show="!user.anonymous" class="user-welcome">
<div class="welcome-message">
<img class="gravatar" src="//www.gravatar.com/avatar/{{ user.gravatar }}?s=128&d=identicon" /> <img class="gravatar" src="//www.gravatar.com/avatar/{{ user.gravatar }}?s=128&d=identicon" />
<div class="sub-message">Welcome <b>{{ user.username }}</b>!</div> <div class="sub-message">Welcome <b>{{ user.username }}</b>!</div>
</div>
<button ng-show="myrepos" class="btn btn-lg btn-primary btn-block" ng-click="browseRepos()">Browse all repositories</button> <button ng-show="myrepos" class="btn btn-lg btn-primary btn-block" ng-click="browseRepos()">Browse all repositories</button>
</div> </div>
</div> </div> <!-- col -->
</div> <!-- row -->
<div class="shoutouts" ng-show="user.anonymous"> <div class="row" ng-show="user.anonymous">
<div class="shoutout"> <div class="col-md-4 shoutout">
<i class="icon-lock"></i> <i class="icon-lock"></i>
<b>Secure</b> <b>Secure</b>
Store your private docker containers securely where only you and your team Store your private docker containers securely where only you and your team
can access it can access it
</div> </div>
<div class="shoutout"> <div class="col-md-4 shoutout">
<i class="icon-cloud"></i> <i class="icon-cloud"></i>
<b>Cloud Hosted</b> <b>Cloud Hosted</b>
Accessible from anywhere, anytime Accessible from anywhere, anytime
</div> </div>
<div class="shoutout"> <div class="col-md-4 shoutout">
<i class="icon-share-sign"></i> <i class="icon-share-sign"></i>
<b>Shareable</b> <b>Shareable</b>
Have to share a container? No problem! Share with anyone you choose Have to share a container? No problem! Share with anyone you choose
</div> </div>
</div> </div> <!-- row -->
</div> </div> <!-- container -->
</div> <!-- jumbotron -->
<div class="navbar landing-footer"> <nav class="landing-footer">
<div class="footer-column"> <div class="row">
<div class="col-md-2 col-md-offset-1">
<h4>About</h4> <h4>About</h4>
<ul> <ul>
<li><a href="http://blog.devtable.com/">Blog</a></li> <li><a href="http://blog.devtable.com/">Blog</a></li>
</ul> </ul>
</div> </div>
<div class="footer-column"> <div class="col-md-2">
<h4>Legal</h4> <h4>Legal</h4>
<ul> <ul>
<li><a href="/tos">Terms of Service</a></li> <li><a href="/tos">Terms of Service</a></li>
@ -96,7 +98,7 @@
</ul> </ul>
</div> </div>
<div class="footer-column"> <div class="col-md-2">
<h4>Support</h4> <h4>Support</h4>
<ul> <ul>
<li><a href="mailto:support@quay.io">Contact Support</a></li> <li><a href="mailto:support@quay.io">Contact Support</a></li>
@ -104,7 +106,10 @@
</ul> </ul>
</div> </div>
<div class="col-md-3 col-md-offset-2 copyright-container">
<a href="https://devtable.com"><img class="dt-logo" src="/static/dt-logo.png"></a> <a href="https://devtable.com"><img class="dt-logo" src="/static/dt-logo.png"></a>
<span class="copyright">&copy;2013 DevTable, LLC</span> <span class="copyright">&copy;2013 DevTable, LLC</span>
</div> </div>
</div> <!-- row -->
</nav>