7일차 / 내부/외부 링크, 가시성, 부동, 표시, 부동, 플렉스, 콘텐츠 정렬, 콘텐츠 정렬, 항목 정렬

  • 내부/외부 링크
  • 시야 범위
  • 호버링
  • 구부러
  • 정당화-내용
  • 콘텐츠 정렬
  • 정렬 요소

1) 내부/외부 링크

하나를 사용하여 페이지 내에서 또는 다른 페이지로 이동하는 링크를 만들 수 있습니다.

    <ul class="list">
        <li><a href="#box1">제목1</a></li>
        <li><a href="#box2">제목2</a></li>
        <li><a href="#box3">제목3</a></li>
        <li><a href="#box4">제목4</a></li>
    </ul>

<div class="con-box">
        <div class="con" id="box1">
            <h2>타이틀1</h2>
        </div>
        <div class="con" id="box2">
            <h2>타이틀2</h2>
        </div>
        <div class="con" id="box3">
            <h2>타이틀3</h2>
        </div>
        <div class="con" id="box4">
            <h2>타이틀4</h2>
        </div>
    </div>

위와 같이 타이틀이 있는 4개의 박스가 타이틀 1, 2, 3, 4와 연결되어 있고 타이틀 1을 클릭하면 박스 1이 위치한 타이틀 1로 화면이 이동합니다.

페이지 내 뿐만 아니라 다른 페이지로 링크할 수 있습니다.

    <ul class="list">
        <li>
            <a href="01_내부링크.html#box1" target="_blank">제목1</a>
        </li>
        <li>
            <a href="01_내부링크.html#box2" target="_blank">제목2</a>
        </li>
        <li>
            <a href="01_내부링크.html#box3" target="_blank">제목3</a>
        </li>
        <li>
            <a href="01_내부링크.html#box4" target="_blank">제목4</a>
        </li>
    </ul>

2) 가시성

화면에 존재하지만 보이지 않게 하고 싶을 때 사용합니다.

*장애인을 위한 텍스트 바로가기/메뉴 바로가기에 주로 사용된다고 들었습니다.

        .box1 div {
            width: 300px;
            height: 100px;
            background: skyblue;
        }
        .box2 div {
            width: 300px;
            height: 100px;
            background: beige;
        }


가시성 예

        .box1 div {
            width: 300px;
            height: 100px;
            background: skyblue;
            visibility: hidden;
            /* visibility: hidden; 화면에는 존재하나 보이지 않음 */
        }
        .box2 div {
            width: 300px;
            height: 100px;
            background: beige;
            /* overflow: hidden; 넘치는 부분 짤라서 보여줌*/
            display: none;
            /* 화면에서 사라짐(존재X) */
        }


가시성 예시 2

이것은 Visibility: hidden과 Display: none의 차이를 한 눈에 구분하는 데 도움이 되는 예입니다.

Visibility:hidden은 보이지 않지만 존재하므로 내용이 있는 상태, display: none이 존재하지 않으므로 내용이 없기 때문에 상자가 사라집니다.

        .hide {
            overflow: hidden;
            visibility: hidden;
            position: absolute;
            left: -99999px;
            /* display: none; 사용X 리딩기가 읽지 못함 */
        }

자주 사용하기 때문에 CSS에 히든 클래스를 만들어서 사용하면 됩니다.

3) 호버링

상자를 나란히 배치하는 방법 중 하나입니다.

공중에 떠서 옆으로 정렬하는 것을 상상할 수 있습니다.


플로트 예제

        .box div:nth-child(1) {
            background: yellow;
            float: left;
        }
        .box div:nth-child(2) {
            background: skyblue;
        }
        .box div:nth-child(3) {
            background: beige;
        }
        .box div:nth-child(4) {
            background: pink;
        }


플로트 예제 2

        .box div:nth-child(1) {
            background: yellow;
            float: left;
        }
        .box div:nth-child(2) {
            background: skyblue;
            float: left;
        }
        .box div:nth-child(3) {
            background: beige;
            float: left;
        }
        .box div:nth-child(4) {
            background: pink;
            float: left;
        }


플로트 예제 3

4) 구부리기


위의 내용을 나란히 나열하려면 float를 사용하십시오.

        .con-box ul li {
            float: left;
            width: 320px;
            margin-right: 120px;
        }


가로 너비를 지정하고 여백 값을 제공해야 하는데 이는 Flex로 쉽게 구현됩니다.

     <div class="con-box">
        <div class="box box1">1</div>
        <div class="box box2">2</div>
        <div class="box box3">3</div>
        <div class="box box4">4</div>
     </div>
        .con-box {
            padding: 10px;
            border: 1px solid #000;
            margin: 20px;
            height: 400px;
            display: flex;
        }


display:flex가 부모(con-box)에 배치되면 자식(box1,2,3,4)은 옆으로 배치되며 높이 값을 지정하지 않으면 stretch가 높이가 됩니다.

위의 예에서는 flex를 사용하겠습니다.

디스플레이: 유연함; in ul은 li의 부모입니다.

        .con-box ul {
            display: flex;
        }


플렉스 사용

플렉스는 장축과 가로축을 기준으로 배치되며, 이 장축(major axis)flex-direction으로 변경할 수 있습니다.

            display: flex;
            flex-direction: row;
            /* flex-direction: column; */
            /* flex-direction: row-reverse; */
            /* flex-direction: column-reverse; */


            display: flex;
            /* flex-direction: row; */
            flex-direction: column;
            /* flex-direction: row-reverse; */
            /* flex-direction: column-reverse; */


            display: flex;
            /* flex-direction: row; */
            /* flex-direction: column; */
            flex-direction: row-reverse;
            /* flex-direction: column-reverse; */


            display: flex;
            /* flex-direction: row; */
            /* flex-direction: column; */
            /* flex-direction: row-reverse; */
            flex-direction: column-reverse;


행: 왼쪽에서 오른쪽(기본값)

row-reverse: 행의 반대쪽 축으로

열: 위에서 아래로

열 반전: 열의 반대 축으로

justify-content를 사용하여 주요 축 정렬을 변경할 수도 있습니다.

            display: flex;
            flex-direction: row;
            justify-content: flex-start;
            /* justify-content: flex-end; */
            /* justify-content: center; */
            /* justify-content: space-between; */
            /* justify-content: space-around; */


            display: flex;
            flex-direction: row;
            /* justify-content: flex-start; */
            justify-content: flex-end;
            /* justify-content: center; */
            /* justify-content: space-between; */
            /* justify-content: space-around; */


            display: flex;
            flex-direction: row;
            /* justify-content: flex-start; */
            /* justify-content: flex-end; */
            justify-content: center;
            /* justify-content: space-between; */
            /* justify-content: space-around; */


            display: flex;
            flex-direction: row;
            /* justify-content: flex-start; */
            /* justify-content: flex-end; */
            /* justify-content: center; */
            justify-content: space-between;
            /* justify-content: space-around; */


            display: flex;
            flex-direction: row;
            /* justify-content: flex-start; */
            /* justify-content: flex-end; */
            /* justify-content: center; */
            /* justify-content: space-between; */
            justify-content: space-around;


flex-start : 시작점으로 스냅(기본값)

플렉스 엔드: 끝을 끝까지 정렬

가운데: 가운데 정렬

거리 사이: 시작점의 첫 번째 점과 끝점의 마지막 점 사이의 동일한 거리

space-around: 왼쪽과 오른쪽 사이의 일정한 거리

마지막으로 콘텐츠가 한 줄에 걸쳐 있으면 align-items를 사용하고 세 줄 이상에 걸쳐 있으면 align-content를 사용합니다.

            display: flex;
            align-items: flex-start
            /* align-items: flex-end; */
            /* align-items: center; */


            display: flex;
            /* align-items: flex-start */
            align-items: flex-end;
            /* align-items: center; */


            display: flex;
            /* align-items: flex-start */
            /* align-items: flex-end; */
            align-items: center;


그러나 콘텐츠가 길어서 래핑하려면 flex-wrap: wrap을 사용합니다.

사용해야


            display: flex;
            flex-direction: row;
            flex-wrap: wrap;


이제 align-content로 정렬하려고 합니다.

            display: flex;
            flex-direction: row;
            flex-wrap: wrap;
            align-content: flex-start;
            /* align-content: flex-end; */
            /* align-content: center; */
            /* align-content: space-between; */
            /* align-content: space-around; */
            /* align-content: space-evenly; */


            display: flex;
            flex-direction: row;
            flex-wrap: wrap;
            /* align-content: flex-start; */
            align-content: flex-end;
            /* align-content: center; */
            /* align-content: space-between; */
            /* align-content: space-around; */
            /* align-content: space-evenly; */


            display: flex;
            flex-direction: row;
            flex-wrap: wrap;
            /* align-content: flex-start; */
            /* align-content: flex-end; */
            align-content: center;
            /* align-content: space-between; */
            /* align-content: space-around; */
            /* align-content: space-evenly; */


            display: flex;
            flex-direction: row;
            flex-wrap: wrap;
            /* align-content: flex-start; */
            /* align-content: flex-end; */
            /* align-content: center; */
            align-content: space-between;
            /* align-content: space-around; */
            /* align-content: space-evenly; */


            display: flex;
            flex-direction: row;
            flex-wrap: wrap;
            /* align-content: flex-start; */
            /* align-content: flex-end; */
            /* align-content: center; */
            /* align-content: space-between; */
            align-content: space-around;
            /* align-content: space-evenly; */


            display: flex;
            flex-direction: row;
            flex-wrap: wrap;
            /* align-content: flex-start; */
            /* align-content: flex-end; */
            /* align-content: center; */
            /* align-content: space-between; */
            /* align-content: space-around; */
            align-content: space-evenly;


주변의 공간과 고르게 공간의 차이는 위, 가운데, 아래의 공간을 보는 것입니다.