CodeGym /Khóa học Java /Frontend SELF VI /Phân phối các phần tử

Phân phối các phần tử

Frontend SELF VI
Mức độ , Bài học
Có sẵn

4.1 Thuộc tính grid-column

CSS Grid Layout cung cấp công cụ mạnh mẽ để quản lý phân bổ các phần tử trong lưới. Một trong những công cụ cơ bản là các thuộc tính grid-rowgrid-column. Những thuộc tính này cho phép lập trình viên chỉ định chính xác các dòng và cột mà phần tử grid cần chiếm, cung cấp sự linh hoạt và kiểm soát chi tiết với layout.

Thuộc tính grid-column xác định các cột mà phần tử sẽ chiếm trong grid-container.

Cú pháp:

    
      .grid-item {
        grid-column: start / end;
      }
    
  

Nơi:

  • start: dòng bắt đầu của grid
  • end: dòng kết thúc của grid

Ví dụ 1: Đặt phần tử vào cột nhất định

Trong ví dụ này, phần tử sẽ được đặt giữa dòng thứ hai và thứ ba của grid, chiếm cột thứ hai:

CSS
    
      .grid-item {
        grid-column: 2 / 3; /* Phần tử chiếm không gian giữa dòng thứ hai và thứ ba của grid */
      }
    
  

Ví dụ 2: Phần tử chiếm nhiều cột

Trong ví dụ này, phần tử sẽ chiếm ba cột, bắt đầu từ dòng đầu tiên và kết thúc tại dòng thứ tư của grid:

CSS
    
      .grid-item {
        grid-column: 1 / 4; /* Phần tử chiếm không gian từ dòng đầu tiên đến dòng thứ tư của grid */
      }
    
  

Ví dụ 3: Sử dụng span để bao phủ nhiều cột

Trong ví dụ này, phần tử sẽ chiếm hai cột, bắt đầu từ vị trí hiện tại:

CSS
    
      .grid-item {
        grid-column: span 2; /* Phần tử chiếm hai cột, bắt đầu từ vị trí hiện tại */
      }
    
  

4.2 Thuộc tính grid-row

Thuộc tính grid-row xác định các dòng mà phần tử sẽ chiếm trong grid-container.

Cú pháp:

    
      .grid-item {
        grid-row: start / end;
      }
    
  

Nơi:

  • start: dòng bắt đầu của grid
  • end: dòng kết thúc của grid

Ví dụ 1: Đặt phần tử vào dòng nhất định

Trong ví dụ này, phần tử sẽ được đặt giữa dòng đầu tiên và dòng thứ hai của grid, chiếm dòng đầu tiên:

CSS
    
      .grid-item {
        grid-row: 1 / 2; /* Phần tử chiếm không gian giữa dòng đầu tiên và dòng thứ hai của grid */
      }
    
  

Ví dụ 2: Phần tử chiếm nhiều dòng

Trong ví dụ này, phần tử sẽ chiếm hai dòng, bắt đầu từ dòng thứ hai và kết thúc tại dòng thứ tư của grid:

CSS
    
      .grid-item {
        grid-row: 2 / 4; /* Phần tử chiếm không gian từ dòng thứ hai đến dòng thứ tư của grid */
      }
    
  

Ví dụ 3: Sử dụng span để bao phủ nhiều dòng

Trong ví dụ này, phần tử sẽ chiếm ba dòng, bắt đầu từ vị trí hiện tại:

CSS
    
      .grid-item {
        grid-row: span 3; /* Phần tử chiếm ba dòng, bắt đầu từ vị trí hiện tại */
      }
    
  

Ví dụ 4. Sử dụng giá trị âm

CSS
    
      .element {
        grid-row: 1 / -1; /* Phần tử bắt đầu từ dòng đầu tiên và kết thúc tại dòng cuối cùng */
      }
    
  

4.3 Kết hợp các thuộc tính grid-row và grid-column

Để tạo layout phức tạp hơn, bạn có thể kết hợp các thuộc tính grid-rowgrid-column để quản lý chính xác việc sắp đặt các phần tử.

Ví dụ: Layout phức tạp sử dụng grid-row và grid-column

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Grid Row and Column Example</title>
          <style>
            .container {
              display: grid;
              grid-template-columns: repeat(4, 1fr);
              grid-template-rows: repeat(4, 100px);
              gap: 10px;
            }

            .item1 {
              background-color: lightblue;
              grid-row: 1 / 3; /* Phần tử chiếm dòng đầu tiên và thứ hai */
              grid-column: 1 / 3; /* Phần tử chiếm cột đầu tiên và thứ hai */
            }

            .item2 {
              background-color: lightgreen;
              grid-row: 3 / 5; /* Phần tử chiếm dòng thứ ba và thứ tư */
              grid-column: 2 / 5; /* Phần tử chiếm cột thứ hai, thứ ba và thứ tư */
            }

            .item3 {
              background-color: lightcoral;
              grid-row: 1 / 2; /* Phần tử chiếm dòng đầu tiên */
              grid-column: 3 / 5; /* Phần tử chiếm cột thứ ba và thứ tư */
            }
          </style>
        </head>
        <body>
          <div class="container">
            <div class="item1">Item 1</div>
            <div class="item2">Item 2</div>
            <div class="item3">Item 3</div>
          </div>
        </body>
      </html>
    
  

Giải thích:

  • Container .container có bốn dòng và bốn cột, mỗi dòng và cột chiếm không gian bằng nhau
  • Phần tử .item1 chiếm hai dòng đầu tiên và hai cột đầu tiên
  • Phần tử .item2 chiếm dòng thứ ba và thứ tư và cột thứ hai, thứ ba và thứ tư
  • Phần tử .item3 chiếm dòng đầu tiên và cột thứ ba và thứ tư
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION