HOUSE OF BLOCKS
In-class challenge
by Josh Krauth-Harding
HTML
<div id="container">
<div class="floor" id="f3">
<div class="block" id="blk7"></div>
</div>
<div class="floor" id="f2">
<div class="block" id="blk4"></div>
<div class="block" id="blk5"></div>
<div class="block"></div>
<div class="block" id="blk6"></div>
</div>
<div class="floor" id="f1">
<div class="block" id="blk1"></div>
<div class="block" id="narrow1"></div>
<div class="block" id="blk2"></div>
<div class="block" id="narrow2"></div>
<div class="block" id="blk3"></div>
</div>
</div>
CSS
* {
margin: 0;
padding: 0;
}
body,
html {
height: 100%;
}
#container {
width: 100%;
height: 100%;
background-color: black;
}
.floor {
height: 33.333%;
width: 100%;
display: flex;
justify-content: space-between;
}
.block {
height: 100%;
width: 10%;
box-sizing: border-box;
background-color: white;
transition: .5s;
}
#f2 {
position: relative;
}
#blk1 {
left: 0;
margin-left: 10%;
}
#blk2 {
border-radius: 100px 100px 0 0;
bottom: 0;
width: 35%;
max-width: 250px;
}
#blk3 {
margin-right: 10%;
}
#blk4 {
height: 20%;
width: 100%;
bottom: 0;
position: absolute;
}
#blk5 {
margin-left: 20%;
height: 80%;
}
#blk6 {
margin-right: 20%;
height: 80%;
}
#blk7 {
width: 100%;
height: 101%;
clip-path: polygon(50% 0, 0 100%, 100% 100%);
}
#narrow1, #narrow2 {
display: none;
}
@media (max-width: 420px) {
.block {
width: 10%;
}
#f2 {
display: none;
}
#f1 {
height: 66.666%;
}
#blk2 {
width: 45%;
}
#narrow1, #narrow2 {
display: inline-block;
width: 5%;
margin: 0 5px;
}
}
JavaScript
/* No JS necessary */