CSS배틀 | #20 티켓

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

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


도전:






해결책:



<div class="container">
  <div class="ticket-transparent">
    <div class="round-dot lg top-left"></div>
    <div class="round-dot lg bottom-left"></div>
    <div class="round-dot sm top-center"></div>
    <div class="round-dot sm bottom-center"></div>
    <div class="round-dot lg top-right"></div>
    <div class="round-dot lg bottom-right"></div>
    <div class="ticket">
      <div class="yellow-side"></div>
      <div class="orange-side"></div>
    </div>
  </div>
</div>

<style>
  * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
  .container {
    width: 100vw;
    height: 100vh;
    background: #62306d;
    position: relative;
  }
  .ticket,
  .ticket-transparent {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 200px;
    height: 100px;
  }
  .ticket {
    display: flex;
  }
  .yellow-side {
    width: 70%;
    background: #f7ec7d;
  }
  .orange-side {
    width: 30%;
    background: #e38f66;
  }
  .round-dot {
    position: absolute;
    z-index: 10;
    background: #62306d;
    border-radius: 50%;
  }
  .lg {
    width: 40px;
    height: 40px;
  }
  .sm {
    width: 20px;
    height: 20px;
  }
  .top-left {
    transform: translate(-20px, -20px);
  }
  .bottom-left {
    bottom: 0;
    left: 0;
    transform: translate(-20px, 20px);
  }
  .top-center {
    top: 0;
    left: 70%;
    transform: translate(-10px, -10px);
  }
  .bottom-center {
    bottom: 0;
    left: 70%;
    transform: translate(-10px, 10px);
  }
  .top-right {
    right: 0;
    transform: translate(20px, -20px);
  }
  .bottom-right {
    bottom: 0;
    right: 0;
    transform: translate(20px, 20px);
  }
</style>



주요 내용:

  • using transparent element behind the scenes to control position of children elements, so in this case, .ticket-transparent is just a transparent placeholder to position all the dots in the correct places


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

좋은 웹페이지 즐겨찾기