CSS배틀 | #17 피젯 스피너

CSSBattle Challenges에 오신 것을 환영합니다!

이 짧은 기사에서는 CSSBattle - #17 Fidget Spinner 챌린지에 대한 솔루션을 살펴봅니다. 내 사고 과정과 구현 세부 사항에 대한 더 나은 통찰력을 얻으려면 아래 코드 조각을 참조하십시오.


도전:






해결책:



<div class="container">
  <div class="rectangle"></div>
  <div class="circle top"></div>
  <div class="circle bottom"></div>
  <div class="circle left"></div>
  <div class="circle right"></div>
</div>

<style>
  * {
    box-sizing: border-box;
    padding: 0;
    margin: 0;
  }
  .container {
    width: 100%;
    height: 100%;
    position: relative;
    background: #09042A;
  }
  .rectangle {
    width: 100px;
    height: 50px;
    background: #E78481;
    top: 50%;
    left: 50%;
    position: absolute;
    transform: translate(-50%, -50%);
  }
  .circle {
    width: 80px;
    height: 80px;
    border-radius: 50%;
  }
  .top, .bottom {
    border: 10px solid #09042A;
    background: #F5BB9C;
    z-index: 2;
  }
  .left, .right {
    border: 10px solid #E78481;
    background: #09042A;
  }
  .left {
    top: 50%;
    left: 50%;
    position: absolute;
    transform: translate(calc(-50% + -60px), -50%);
  }
  .right {
    top: 50%;
    left: 50%;
    position: absolute;
    transform: translate(calc(-50% + 60px), -50%);
  }
  .top {
    top: 50%;
    left: 50%;
    position: absolute;
    transform: translate(-50%, calc(-50% + -53px));
  }
  .bottom {
    top: 50%;
    left: 50%;
    position: absolute;
    transform: translate(-50%, calc(-50% + 53px));
  }
</style>



주요 내용:

  • using transform translate to position items relative to parent container


언제나처럼 챌린지의 구현 세부 사항에 대한 피드백이나 질문을 환영합니다. 그렇지 않으면 이것이 도움이 되었기를 바랍니다!

좋은 웹페이지 즐겨찾기