Skip to content

Instantly share code, notes, and snippets.

@califat
Forked from anonymous/index.pug
Created August 9, 2017 05:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save califat/7404eb7c767a281c924be2f93de7d177 to your computer and use it in GitHub Desktop.
Save califat/7404eb7c767a281c924be2f93de7d177 to your computer and use it in GitHub Desktop.
Snake
.container
h2 This snake is...
form
p.form__answer
input(type="radio" name="type" id="responsive" value="responsive" checked)
label(for="responsive") Responsive
p or
p.form__answer
input(type="radio" name="type" id="adaptive" value="adaptive")
label(for="adaptive") Adaptive
ul.snake
li
li
li
li
li
p Psst! Resize your browser window to see the result.
footer
h2.footer__title About this pen
h3.footer__subtitle Snake
p.footer__parragraph Earlier today I saw a discussion on twitter about this topic. :P "If a snake was responsive how would it be?"
p.footer__parragraph So I decided that it was good idea to make a pen about it.
p.copyright Awesome pen by
a(target="_blank" href="https://codepen.io/AngelaVelasquez") Angela
</footer>
//Crappy Jquery begins here
$("#responsive").click( function(){
if( $(this).is(':checked') ) {
$(".snake").addClass("responsive");
$(".snake").removeClass("adaptive");
}
});
$("#adaptive").click( function(){
if( $(this).is(':checked') ) {
$(".snake").addClass("adaptive");
$(".snake").removeClass("responsive");
}
});
//It is my first time using JS. If you have any recommendation I would really appreciate it. Feel free to comment!

Snake

Earlier today I saw a discussion on twitter about this topic. :P "If a snake was responsive how would it be?"

So I decided that it was good idea to make a pen about it.

A Pen by Angela Velasquez on CodePen.

License.

/* Imported Font from google fonts */
@import url('https://fonts.googleapis.com/css?family=Fira+Sans:400,600');
/* Color palette */
$snake: #85FFD5;
$snake--darker: #3BA99C;
$gray: #C3C5C5;
$white: #FAFAFA;
body, html {
font-family: 'Fira Sans', sans-serif;
background-color: $white;
}
h2 {
color: $snake--darker;
font-size: 35px;
}
p {
color: $gray;
}
form {
display: flex;
margin: 20px auto 40px;
justify-content: center;
p {
margin: 0 10px;
font-size: 22px;
}
}
.form__answer {
input {
visibility: hidden;
width: 0;
}
label {
cursor: pointer;
display: inline-block;
position: relative;
&:hover {
color: rgba($snake--darker,.5);
}
&:after {
display: block;
content: '';
position: absolute;
margin: auto;
height: 8px;
width: 8px;
background-color: transparent;
border-radius: 4px;
left: 0;
right: 0;
transition: background .4s ease-in-out;
}
}
}
input[type="radio"]:checked ~ label {
color: $snake--darker;
&:after {
background-color: $snake--darker;
}
}
.container {
width: 80%;
margin: 20vh auto;
text-align: center;
}
/* Snake styles */
.snake {
display: flex;
flex-direction: row;
justify-content: space-between;
max-width: 960px;
margin: 0 auto;
padding: 20px 0;
list-style: none;
}
li {
display: inline-flex;
width: auto;
flex: 1;
height: 20px;
position: relative;
}
li:before {
display: block;
position: absolute;
content: '';
background: $snake;
width: 100%;
height: 20px;
bottom: 0;
border-bottom: 4px solid $snake--darker;
}
li:first-child:before {
border-radius: 20px 0 0 20px;
}
li:nth-child(5):before {
border-radius: 0 20px 20px 0;
}
li:nth-child(5):after {
@extend li:before;
background: $snake--darker;
height: 6px;
width: 10px;
border-radius: 10px;
right: 20px;
bottom: 8px;
border-color: transparent;
}
/* Snake styles for adaptivee behavior*/
@media only screen and (max-width: 667px) {
.snake.adaptive {
flex-direction: column;
li:first-child:before {
border-radius: 20px 20px 0 20px;
}
li:nth-child(2):before {
height: 100%;
width: 20px;
bottom: 0;
right: 0;
}
li:nth-child(3):before {
border-radius: 20px 0 20px 0;
}
li:nth-child(4):before {
@extend li:nth-child(2):before;
right: auto;
left: 0;
}
li:nth-child(5):before {
border-radius: 0 20px 20px 20px;
}
li:nth-child(5):after {
border-radius: 10px;
}
}
}
/* Footer Styles */
footer {
background-color: $snake--darker;
position: relative;
padding: 20px;
h2, h3, p, ul {
max-width: 610px;
margin: 20px auto;
}
}
.footer__title {
font-size: 30px;
margin-top: 40px;
color: rgba($white,.5);
}
.footer__subtitle {
font-size: 22px;
color: $white;
}
.footer__parragraph {
line-height: 1.5em;
font-size: 22px;
color: $white;
a {
color: $snake;
padding: 6px;
}
}
.footer__list {
@extend .footer__parragraph;
}
.copyright {
@extend .footer__parragraph;
text-align: center;
border-top: 1px dashed rgba($white,.45);
padding: 10px 0;
margin: 40px auto;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment