>웹 프론트엔드 >CSS 튜토리얼 >CSS의 그리드 레이아웃(그래픽 및 텍스트)에 대해 이야기합니다.

CSS의 그리드 레이아웃(그래픽 및 텍스트)에 대해 이야기합니다.

青灯夜游
青灯夜游앞으로
2021-01-13 18:53:062610검색

CSS의 그리드 레이아웃(그래픽 및 텍스트)에 대해 이야기합니다.

(동영상 공유 학습: css 동영상 튜토리얼)

그리드 레이아웃은 웹 페이지를 간단한 속성의 행과 열로 나눌 수 있습니다. CSS 페이지 레이아웃 기술을 사용하면 웹 페이지의 요소를 선택하고 이를 기준으로 제어할 수 있습니다. 일반 레이아웃 흐름, 주변 요소, 상위 컨테이너 또는 기본 뷰포트/창의 위치.

성배 레이아웃

성배 레이아웃은 양쪽 너비가 고정되고 가운데가 적응형인 3열 레이아웃입니다.

css:

* {
        box-sizing: border-box;
    }
    html, body{
        width: 100%;
        height: 100%;
        margin: 0;
    }
    .container{
        width:100%;
    }
    .container:after{
        display: table;
        content:".";
        clear:both;
    }
    
    .container .cl{
        float:left;
        border: 1px solid red;
        height: 200px;
    }
    
    .main{
        width:100%;
        padding 0 290px 0 320px;
        background-color: blue;
    }
    .sub{
        width: 320px;
        margin-left:-100%;
        background-color: white;
    }
    .extra{
        width: 290px;
        margin-left:-290px;
        background-color: yellow;
    }

CSS

HTML:

<body>
<div class="container">
    <div class="cl main">
    </div>
    <div class="cl sub"></div>
    <div class="cl extra"></div>
</div>
</body>

CSS의 그리드 레이아웃(그래픽 및 텍스트)에 대해 이야기합니다.

성배의 원리 레이아웃은 하위 요소로 작동합니다. 플로팅 상태에서 음수 여백을 설정하면 하위 요소가 형제 요소 위에 겹쳐집니다. ​

그래서 파란색 영역을 다시 세 영역으로 나누려면 여러 가지 방법이 있을 거라 믿습니다. 하지만 중첩을 통해 달성할 수 있습니까? 시도해 볼 수 있습니다:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<meta http-equiv="window-target" content="_top">
<title>Writing to Same Doc</title>
<style type="text/css">
    * {
        box-sizing: border-box;
    }
    html, body{
        width: 100%;
        height: 100%;
        margin: 0;
    }
    .container{
        width:100%;
    }
    .container:after{
        display: table;
        content:".";
        clear:both;
    }
    
    .container .cl{
        float:left;
        border: 1px solid red;
        height: 200px;
    }
    
    .main{
        width:100%;
        padding: 0 290px 0 320px;
        background-color: blue;
    }
    .sub{
        width: 320px;
        margin-left:-100%;
        background-color: white;
    }
    .extra{
        width: 290px;
        margin-left:-290px;
        background-color: yellow;
    }
</style>
</head>
<body>
<div class="container">
    <div class="cl main">
        <div class="container">
            <div class="cl main"></div>
            <div class="cl sub"></div>
            <div class="cl extra"></div>
        </div>
    </div>
    <div class="cl sub"></div>
    <div class="cl extra"></div>
</div>

</body>
</html>

CSS의 그리드 레이아웃(그래픽 및 텍스트)에 대해 이야기합니다.

그리드 시스템의 원리

CSS의 그리드 레이아웃(그래픽 및 텍스트)에 대해 이야기합니다.

가정: Flowline의 너비는 W, 열의 너비는 c, Gutter의 너비는 g, 너비는 여백은 m이고 그리드의 너비는 다음과 같습니다. 그리드 번호는 N

W = c*N + g*(N-1) + 2m입니다. g의 너비는 일반적으로 m의 두 배입니다. 따라서:

W = (c+g) * N; put c+ g는 C로 기록되며 다음과 같은 결과를 얻습니다.

W = C * N;

대부분의 그리드 시스템은 이 공식의 변형입니다.

Bootstrap의 그리드 시스템

이제 일반적인 그리드 레이아웃의 디자인과 부트스트랩의 디자인 구현을 살펴보겠습니다. BootStrap에서 그리드 레이아웃을 올바르게 사용하려면 열을 행에 배치하고 행을 컨테이너에 배치해야 합니다. 컨테이너 클래스에는 레이아웃에 두 가지 주요 기능이 있습니다.

  1. 다양한 너비 간격으로 너비 제한을 제공합니다(반응형 중단점). 너비가 변경되면 다른 너비를 사용하십시오.

  2. 내부 콘텐츠가 브라우저 테두리에 닿지 않도록 패딩을 제공하세요.

부트스트랩에서는 위에서 언급한 여백 대신 패딩을 사용합니다. 크기는 아래 사진처럼 15px 이고, 핑크색이 패딩 사이즈 입니다.

CSS의 그리드 레이아웃(그래픽 및 텍스트)에 대해 이야기합니다.

Row는 열의 컨테이너입니다. 각 행의 열 합은 12여야 하지만 중첩을 통해 확장할 수 있습니다. Row의 왼쪽 및 오른쪽 여백은 -15px로, 아래 그림의 파란색 부분과 같이 컨테이너의 패딩을 오프셋하는 데 사용됩니다.

CSS의 그리드 레이아웃(그래픽 및 텍스트)에 대해 이야기합니다.

이 Row 디자인은 주로 중첩의 편의를 위한 것입니다. 이는 나중에 언급될 것입니다.

Colomn은 그리드 시스템의 주인공입니다. 각 열의 왼쪽 및 오른쪽 패딩은 15px입니다. 위 행의 음수 여백은 컨테이너의 패딩을 상쇄하므로 각 열에 패딩을 설정하는 것은 내용이 직접 닿는 것을 방지하는 것입니다. 동시에 열 사이에 30px 카드 슬롯(Gutter)이 있습니다. 아래 그림의 노란색 부분에 표시된 대로:

CSS의 그리드 레이아웃(그래픽 및 텍스트)에 대해 이야기합니다.

이제 위에서 언급한 공식을 생각해 보세요. W = C * N;

위에서 언급한 행의 음수 여백 디자인은 주로 중첩을 위한 것입니다. 열에 포함 열을 중첩하려면 먼저 중첩된 열을 행에 넣고 컨테이너를 배치하지 않고 행을 컨테이너로 열에 넣어야 합니다. 아래 그림에서 파란색으로 표시된 것처럼 컬럼에 배치된 행의 음수 마진 영역입니다.

CSS의 그리드 레이아웃(그래픽 및 텍스트)에 대해 이야기합니다.

이제 중첩된 열을 행에 넣으면 아래 그림과 같이 위쪽 열이 컨테이너 역할을 합니다.

CSS의 그리드 레이아웃(그래픽 및 텍스트)에 대해 이야기합니다.

더 많은 프로그래밍 관련 지식을 보려면 프로그래밍 학습을 방문하세요! !

위 내용은 CSS의 그리드 레이아웃(그래픽 및 텍스트)에 대해 이야기합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제