CSS flex, Selection

IngCoding·2022년 2월 24일
0

프론트 #1 HTML & CSS

목록 보기
2/6

1. 구현화면

2. HTML 코드

div 위에 하나의 구역을 만들고 텍스트를 넣기 위해 안쪽 div를 만듦

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="styles.css" rel='stylesheet'>
    <title>Document</title>
</head>
<body>
    <h1>The Best Colors</h1>
    <div><div class='inside'><h4>Tomato</h4><h4>FF6347</h4></div><div><div class='inside'><h4>Teal</h4><h4>008080</h4></div></div></div>
    <div><div class='inside'><h4>Burlywood</h4><h4>DEB887</h4></div><div><div class='inside'><h4>Thistle</h4><h4>D7BFD7</h4></div></div></div>
</body>
</html>

3. CSS 코드

1) 개념정리

  1. flex :유동적인 레이아웃 (margin, wrap 등등 조합)

    • flexbox : 구획들 배치할 때 좀 더 구분시켜주기?
  2. absolute : 부모(body 태그) 기준으로 화면 조정할 수 있게 해줌

    • relative : absolute의 부모를 바꿔주는 역할
  3. Pseudo Selector(의사 선택자)
    e.f) nth-child(2) > nth-child(2) : 2번째 자식태그 -> 2번째 자식태그

2) 코드에 적용

  • flex를 썼더니 div들이 겹쳐서 flexbox를 사용
  • div 위에 (텍스트박스)를 놓기 위해 position: absolute 적용
  • 의사선택자 연습을 위해 4가지 색 div:nth-child로 지정하고 구분
body {
    background-color: beige;
    width: 100vw;
    height: 100vh;
    display: flexbox;
}

h1 {
    text-align: center;
    width: 100vw;
}

h4 {
    margin: 15px;
}

div {
    margin-top: 2vh;
    margin-right: 3vw;
    height: 35vh;
    width: 25vw;
}

.inside {
    position: absolute;
    margin-top: 5vh;
    height: 10vh;
    width: 25vw;
    background-color: white;
}

div:nth-child(2) {
    background: tomato;
    margin-left: 15vh;
}

div:nth-child(2) > div:nth-child(2) {
    background:teal;
    margin-left: 20vh;
}

div:nth-child(3) {
    background: burlywood;
    margin-left: 15vh;
}

div:nth-child(3) > div:nth-child(2) {
    background: thistle;
    margin-left: 20vh;
}
profile
Data & PM

0개의 댓글