Welcome to CSSBattle Challenges!
In this short article, I go through my solution for CSSBattle - #25 Blossom 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="lg-blossom left"></div> <div class="lg-blossom right"></div> <div class="sm-blossom left"></div> <div class="sm-blossom right"></div> </div> <style> * { padding: 0; margin: 0; box-sizing: border-box; } .container { background: #998235; width: 100vw; height: 100vh; position: relative; } .lg-blossom { position: absolute; background: #1a4341; width: 100px; height: 80px; left: 50%; top: 50%; } .lg-blossom.left { border-top-left-radius: 50px; border-bottom-right-radius: 50px; transform: translate(calc(-50% - 50px), calc(-50% - 40px)) rotate(270deg); } .lg-blossom.right { border-top-right-radius: 50px; border-bottom-left-radius: 50px; transform: translate(calc(-50% + 50px), calc(-50% + 40px)) rotate(270deg); } .sm-blossom { position: absolute; background: #f3ac3c; width: 80px; height: 60px; left: 50%; top: 50%; } .sm-blossom.left { border-top-right-radius: 50px; border-bottom-left-radius: 50px; transform: translate(calc(-50% - 50px), calc(-50% + 60px)); } .sm-blossom.right { border-top-left-radius: 50px; border-bottom-right-radius: 50px; transform: translate(calc(-50% + 50px), calc(-50% - 60px)); } </style>
Key Takeaway(s):
- using border-radius property to create blossom like shape
- using both translate and rotate properties to control direction and placement of elements
As always, I welcome any feedback or questions regarding the implementation detail of the challenge. Otherwise, I hope this was useful!
Top comments (0)