- Published on
- ·4 min read
상하 대괄호([ ]) 모양(로또 용지 번호 모양) 만들기(css)
서비스 바로가기
설명할 내용
로또 용지에 있는 상하 대괄호 모양 혹시 기억하나요?
위에 링크한 로또 번호 생성기 서비스를 만들면서 로또 용지와 유사한 UI로 만들어 보기로 했습니다.
아래의 좌측 이미지는 실제 로또 용지, 우측 이미지는 결과물 캡처입니다.
구현
HTML
<div class="number-wrap"><span class="number">1</span></div>
<div class="number-wrap on"><span class="number">2</span></div>
<div class="number-wrap"><span class="number">3</span></div>
<!-- 이후 번호 생략 ... -->
CSS
숫자를 감싸는 .number-wrap
에서 주황색 테두리를 만들어주고,
::before
/ ::after
에서 주황색 테두리 부분을 배경색으로 덮어주는 것이 포인트입니다.
::before
/ ::after
를 제거해보거나, width
/left
/right
를 각각 변경해보면서 변화를 확인해 보시는 것도 좋습니다.
/* 색상 정의 */
:root {
--color-black: #000;
--lotto-color: #e43a3c;
--primary-background: #fafafa;
--color-white: #fff;
}
/* 숫자를 감싸는 부분으로, 주황색 테두리를 만들어줍니다. */
.number-wrap {
position: relative;
display: inline-block;
width: 29px;
height: 47px;
border: 2px solid var(--lotto-color);
color: var(--lotto-color);
font-size: 14px;
font-weight: bold;
align-self: center;
justify-self: center;
text-align: center;
vertical-align: middle;
margin-top: auto;
}
/* 숫자가 선택되었을 때, 검은색으로 마킹 처리 */
.number-wrap.on {
background-color: var(--color-black);
color: var(--color-white);
}
/* 괄호 모양을 만들어주는 왼쪽 옆면 지워주기, border 너비에 맞게 left, width 처리 */
.number-wrap::before {
content: '';
position: absolute;
left: -2px;
top: 20%;
bottom: 20%;
width: 2px;
background-color: var(--primary-background);
}
/* 괄호 모양을 만들어주는 오른쪽 옆면 지워주기, border 너비에 맞게 right, width 처리 */
.number-wrap::after {
content: '';
position: absolute;
right: -2px;
top: 20%;
bottom: 20%;
width: 2px;
background-color: var(--primary-background);
}
/* 숫자 표시 부분 */
.number {
margin: 0;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
JSFiddle에서 확인하기
https://jsfiddle.net/sosone/end94qya/
연관 포스팅
추가로 안드로이드에서 위와 같은 모양을 구현한 방법이 궁금하다면 아래 포스팅을 참고하세요.
태그와 연관된 글
2023. 12. 17.
데이터 양이 많아지면서 발생한 React Native 앱 성능 문제 개선하기2023. 11. 21.
애드몹(AdMob) GDPR 적용 - React Native(안드로이드)2023. 11. 20.
애드몹(AdMob) GDPR 적용 - 안드로이드2023. 11. 16.
진행률을 표시할 Progress Bar(Circle) 만들기 - React Native2023. 07. 25.
Color Picker(ambilwarna) 라이브러리 사용하여 색상 변경(안드로이드)