기억이 나지 않는다구요?
오른쪽의 글자를 눌러보세요!
바로 이런 겁니다.
바이올린을 연주하는 토끼
눈토끼
width: 18%;를 5개 놓은 모양
<link rel="stylesheet" href="nevercloud.css">
<div class="sheet-2colrow">
<div class="sheet-col sheet-rw">
<div><span>VIT</span><input type="text"></div>
<div><span>MND</span><input type="text"></div>
<div><span>STR</span><input type="text"></div>
<div><span>IMA</span><input type="text"></div>
<div><span>DEX</span><input type="text"></div>
</div>
<div class="sheet-col">
Lorem ipsum dolor sit amet consectetur adipisicing elit. Illo libero vitae expedita blanditiis magnam reprehenderit animi officiis? Nesciunt ex nihil voluptatem, quibusdam, porro, impedit minima sunt fuga soluta doloribus amet?
</div>
</div>
VIT
MND
STR
IMA
DEX
Lorem ipsum dolor sit amet consectetur adipisicing elit. Illo libero vitae expedita blanditiis magnam reprehenderit animi officiis? Nesciunt ex nihil voluptatem, quibusdam, porro, impedit minima sunt fuga soluta doloribus amet?
* {padding: 0;}
div.sheet-col:first-child {background-color: pink;}
div.sheet-col:last-child {background-color: skyblue;}
.sheet-rw div {
display: inline-block;
width: 18%;
text-align: center;
}
.sheet-rw input {width: 100%;}
<link rel="stylesheet" href="nevercloud.css">
<div class="sheet-2colrow">
<div class="sheet-col sheet-rw">
<div><span>VIT</span><input type="text"></div>
<div><span>MND</span><input type="text"></div>
<div><span>STR</span><input type="text"></div>
<div><span>IMA</span><input type="text"></div>
<div><span>DEX</span><input type="text"></div>
</div>
<div class="sheet-col sheet-xw">
<div><span>최대HP</span><input type="text"></div>
<div><span>HP</span><input type="text"></div>
<div><span>공격력</span><input type="text"></div>
<div><span>기량</span><input type="text"></div>
<div><span>회피력</span><input type="text"></div>
<div><span>이동력</span><input type="text"></div>
<div><span>행동력</span><input type="text"></div>
</div>
</div>
이 html코드를 바탕으로, RW능력치는 grid를 사용하고 XW능력치는 flex를 사용하겠습니다.
맨 첫번째 줄을 보시면 link 태그를 써서 CSS파일과 연결하여 스타일 시트로서 읽어들이고 있습니다. 제가 저장했던 css파일의 이름은 nevercloud였지만, 다른 이름으로 저장하셨다면 (파일명).css로 바꿔주세요.
input {width: 100%;}
그 다음 CSS에 이러한 한 줄을 써줍니다. 그렇게 하고 html 파일과 CSS 파일을 각각 저장한 뒤, html 파일을 크롬 또는 사파리 브라우저에서 실행하면 우리가 작성한 코드의 결과물이 어떻게 되는지 확인할 수 있습니다.
input의 입력칸이, 창의 가로폭을 100%로 가득 채우게 되었나요? 그러면 이제 class가 sheet-rw인 부분을 만져봅시다.
.sheet-rw {display: grid; grid-template-columns: repeat(5, 1fr);}
보여지는 형태는 grid로 설정하고, 그 grid의 모양이 한 줄에 5칸을 반복하게 했습니다. fr은 fraction(비율)이라는 의미로, 1:1:1:1:1의 모양이 되는 것입니다. 만약 1fr 자리에 그 대신 200px을 넣으면, 가로폭이 200px인 칸 5개가 만들어집니다.
여기까지 해서 CSS파일을 저장하고, 브라우저를 새로고침해서 결과물을 확인해보세요.
<link rel="stylesheet" href="nevercloud.css">
<div class="sheet-2colrow">
<div class="sheet-col sheet-rw">
<div><span>VIT</span><input type="text"></div>
<div><span>MND</span><input type="text"></div>
<div><span>STR</span><input type="text"></div>
<div><span>IMA</span><input type="text"></div>
<div><span>DEX</span><input type="text"></div>
</div>
<div class="sheet-col sheet-xw">
<div><span>최대HP</span><input type="text"></div>
<div><span>HP</span><input type="text"></div>
<div><span>공격력</span><input type="text"></div>
<div><span>기량</span><input type="text"></div>
<div><span>회피력</span><input type="text"></div>
<div><span>이동력</span><input type="text"></div>
<div><span>행동력</span><input type="text"></div>
</div>
</div>
VIT
MND
STR
IMA
DEX
최대HP
HP
공격력
기량
회피력
이동력
행동력
input {
width: 100%;
max-width: 400px;
}
.sheet-rw {
display: grid;
grid-template-columns: repeat(5, 1fr);
text-align: center;
}
.sheet-xw {display: flex; flex-wrap:wrap;}
grid와 flex는 똑같은 것처럼 보입니다. 하지만 flex의 칸은, 비율을 균등하게 나눠 가진 너비가 아니라 span이 가진 문자열의 길이에 따라 조금씩 차이가 있다는 것을 알 수 있습니다. 여기서 최대HP와 HP라는 칸만, 다른 칸의 절반 크기를 갖도록 줄여봅시다. 순서가 중요한데, sheet-xw의 모든 자식 div의 비율을 1로 할당한 뒤 다시 HP에 해당하는 div의 비율을 0.5로 할당해서 갱신합니다.
.sheet-xw div {flex: 1;}
.sheet-xw div:first-child, .sheet-xw div:nth-child(2) {flex: 0.5;}
최대 HP에 해당하는 div는, sheet-xw의 자식 요소인 div 중 첫번째에 있습니다. HP는 두번째니까, 각각 .sheet-xw>div:first-child와 .sheet-xw>div:nth-child(2)라는 선택자를 이용해서 지정합니다. flex를 1이라고만 쓰면, 이것은 사실 flex-grow: 1; flex-shrink: 1; flex-basis: 0;이라는 뜻입니다. 각각 늘어날 때의 비율, 줄어들 때의 비율, 기본(최소)크기 라고 생각해주세요.
이제 원하던 비율의 모양이 되었습니다.
<link rel="stylesheet" href="nevercloud.css">
<div class="sheet-2colrow">
<div class="sheet-col sheet-rw">
<div><span>VIT</span><input type="text"></div>
<div><span>MND</span><input type="text"></div>
<div><span>STR</span><input type="text"></div>
<div><span>IMA</span><input type="text"></div>
<div><span>DEX</span><input type="text"></div>
</div>
<div class="sheet-col sheet-xw">
<div><span>최대HP</span><input type="text"></div>
<div><span>HP</span><input type="text"></div>
<div><span>공격력</span><input type="text"></div>
<div><span>기량</span><input type="text"></div>
<div><span>회피력</span><input type="text"></div>
<div><span>이동력</span><input type="text"></div>
<div><span>행동력</span><input type="text"></div>
</div>
</div>
VIT
MND
STR
IMA
DEX
최대HP
HP
공격력
기량
회피력
이동력
행동력
input {width: 100%; max-width: 400px;}
.sheet-col>div {margin: 10px;}
.sheet-rw {
display: grid;
grid-template-columns: repeat(5, 1fr);
text-align: center;
}
.sheet-xw {display: flex; text-align: center;}
.sheet-xw div {flex: 1;}
.sheet-xw div:first-child, .sheet-xw div:nth-child(2) {flex: 0.5;}
여기서 글자들을 가운데 정렬하고, 여백도 넣어서 마무리합니다.
댓글 없음:
댓글 쓰기
본문과 관련이 적은 댓글은 삭제될 수 있습니다.