Welcome to CSSBattle Challenges!
In this short article, I go through my solution for CSSBattle - #22 Cloud challenge. Please refer to the code snippet below to get a better insight into my thought processes and the implementation detail.
Challenge:
Solution:
<div class="container">
<div class="left-circle circle bg-orange"></div>
<div class="bottom-rect bg-orange"></div>
<div class="right-circle circle bg-orange"></div>
</div>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
.bg-orange {
background: #D86F45;
}
.circle {
width: 100px;
height: 100px;
border-radius: 50%;
}
.container {
background: #F5D6B4;
width: 100vw;
height: 100vh;
position: relative;
}
.left-circle, .bottom-rect, .right-circle {
position: absolute;
left: 50%;
top: 50%;
}
.left-circle {
transform: translate(-100px, -35px);
}
.bottom-rect {
transform: translate(-75px, 15px);
width: 175px;
height: 50px;
border-top-left-radius: 50px;
border-top-right-radius: 50px;
border-bottom-left-radius: 50px;
border-bottom-right-radius: 50px;
}
.right-circle {
transform: translate(-20px, -65px);
}
</style>
Key Takeaway(s):
- breaking down a complicated shape into smaller, easily reproducible chunks
- feel free to use position
absolute
to place elements relative to each other
As always, I welcome any feedback or questions regarding the implementation detail of the challenge. Otherwise, I hope this was useful!
Top comments (0)