Làm cách nào để vẽ một hộp trong HTML?

Mọi thứ trong CSS đều có hộp xung quanh và việc hiểu các hộp này là chìa khóa để có thể tạo các bố cục phức tạp hơn bằng CSS hoặc để căn chỉnh các mục với các mục khác. Trong bài học này, chúng ta sẽ xem CSS Box Model. Bạn sẽ hiểu về cách thức hoạt động của nó và các thuật ngữ liên quan đến nó

điều kiện tiên quyết. Biết sử dụng máy tính cơ bản, cài đặt phần mềm cơ bản, kiến ​​thức cơ bản về làm việc với tệp, kiến ​​thức cơ bản về HTML (học Giới thiệu về HTML) và ý tưởng về cách thức hoạt động của CSS (học các bước đầu tiên của CSS. )Khách quan. Để tìm hiểu về Mô hình hộp CSS, điều gì tạo nên mô hình hộp và cách chuyển sang mô hình thay thế

Khối và hộp nội tuyến

Trong CSS, chúng ta thường có hai loại hộp - hộp khối và hộp nội tuyến. Loại đề cập đến cách hộp hoạt động theo luồng trang và liên quan đến các hộp khác trên trang. Hộp có loại trưng bày trong và loại trưng bày ngoài

Nói chung, bạn có thể đặt các giá trị khác nhau cho kiểu hiển thị bằng thuộc tính

.box {
  box-sizing: border-box;
}
9, thuộc tính này có thể có nhiều giá trị khác nhau

Loại màn hình bên ngoài

Nếu một hộp có loại hiển thị bên ngoài là

.box {
  box-sizing: border-box;
}
0, thì

  • Hộp sẽ phá vỡ trên một dòng mới
  • Các thuộc tính
    .box {
      box-sizing: border-box;
    }
    
    1 và
    .box {
      box-sizing: border-box;
    }
    
    2 được tôn trọng
  • Phần đệm, lề và đường viền sẽ khiến các phần tử khác bị đẩy ra khỏi hộp
  • Hộp sẽ mở rộng theo hướng nội tuyến để lấp đầy khoảng trống có sẵn trong vùng chứa của nó. Trong hầu hết các trường hợp, hộp sẽ trở nên rộng bằng hộp chứa của nó, lấp đầy 100% không gian có sẵn

Một số phần tử HTML, chẳng hạn như

.box {
  box-sizing: border-box;
}
3 và
.box {
  box-sizing: border-box;
}
4, mặc định sử dụng
.box {
  box-sizing: border-box;
}
0 làm loại hiển thị bên ngoài của chúng

Nếu một hộp có kiểu hiển thị bên ngoài là

.box {
  box-sizing: border-box;
}
1, thì

  • Hộp sẽ không phá vỡ một dòng mới
  • Thuộc tính
    .box {
      box-sizing: border-box;
    }
    
    1 và
    .box {
      box-sizing: border-box;
    }
    
    2 sẽ không áp dụng
  • Phần đệm dọc, lề và đường viền sẽ được áp dụng nhưng sẽ không khiến các hộp nội tuyến khác di chuyển ra khỏi hộp
  • Phần đệm ngang, lề và đường viền sẽ được áp dụng và sẽ khiến các hộp nội tuyến khác di chuyển ra khỏi hộp

Một số phần tử HTML, chẳng hạn như

.box {
  box-sizing: border-box;
}
4,
.box {
  box-sizing: border-box;
}
5,
.box {
  box-sizing: border-box;
}
6 và
.box {
  box-sizing: border-box;
}
7 sử dụng
.box {
  box-sizing: border-box;
}
1 làm kiểu hiển thị bên ngoài của chúng theo mặc định

Loại hiển thị bên trong

Hộp cũng có kiểu hiển thị bên trong, cho biết cách bố trí các phần tử bên trong hộp đó

Bố cục khối và nội tuyến là cách mọi thứ hoạt động mặc định trên web. Theo mặc định và không có bất kỳ hướng dẫn nào khác, các thành phần bên trong hộp cũng được bố trí theo quy trình bình thường và hoạt động như khối hoặc hộp nội tuyến

Ví dụ, bạn có thể thay đổi kiểu hiển thị bên trong bằng cách cài đặt

.box {
  box-sizing: border-box;
}
9. Phần tử sẽ vẫn sử dụng loại hiển thị bên ngoài
.box {
  box-sizing: border-box;
}
0 nhưng điều này thay đổi loại hiển thị bên trong thành
.box {
  width: 350px;
  inline-size: 350px;
  height: 150px;
  block-size: 150px;
  margin: 10px;
  padding: 25px;
  border: 5px solid black;
}
1. Bất kỳ phần tử con trực tiếp nào của hộp này sẽ trở thành các mục linh hoạt và hoạt động theo đặc điểm kỹ thuật của Flexbox

Khi bạn chuyển sang tìm hiểu chi tiết hơn về Bố cục CSS, bạn sẽ gặp phải ________ 71 và nhiều giá trị bên trong khác mà các hộp của bạn có thể có, ví dụ như ________ 73

Ghi chú. Để đọc thêm về các giá trị của hiển thị và cách các hộp hoạt động trong bố cục khối và nội tuyến, hãy xem hướng dẫn MDN Bố cục khối và nội tuyến

Ví dụ về các loại hiển thị khác nhau

Ví dụ bên dưới có ba phần tử HTML khác nhau, tất cả đều có kiểu hiển thị bên ngoài là

.box {
  box-sizing: border-box;
}
0

  • Một đoạn văn có đường viền được thêm vào trong CSS. Trình duyệt hiển thị cái này dưới dạng hộp khối. Đoạn bắt đầu trên một dòng mới và mở rộng toàn bộ chiều rộng có sẵn
  • Một danh sách, được đặt ra bằng cách sử dụng
    .box {
      width: 350px;
      inline-size: 350px;
      height: 150px;
      block-size: 150px;
      margin: 10px;
      padding: 25px;
      border: 5px solid black;
    }
    
    5. Điều này thiết lập bố cục flex cho các phần tử con của vùng chứa, là các mục flex. Bản thân danh sách là một hộp khối và — giống như đoạn văn — mở rộng ra toàn bộ chiều rộng của vùng chứa và ngắt thành một dòng mới
  • Một đoạn văn cấp khối, bên trong có hai phần tử
    .box {
      box-sizing: border-box;
    }
    
    5. Các phần tử này thường là
    .box {
      box-sizing: border-box;
    }
    
    1, tuy nhiên, một trong các phần tử có một lớp "khối" được đặt thành
    .box {
      width: 350px;
      inline-size: 350px;
      height: 150px;
      block-size: 150px;
      margin: 10px;
      padding: 25px;
      border: 5px solid black;
    }
    
    8

Trong ví dụ tiếp theo, chúng ta có thể thấy các phần tử

.box {
  box-sizing: border-box;
}
1 hoạt động như thế nào

  • Các phần tử
    .box {
      box-sizing: border-box;
    }
    
    5 trong đoạn đầu tiên là nội tuyến theo mặc định và do đó không bắt buộc ngắt dòng
  • Phần tử
    .box {
      box-sizing: border-box;
    }
    
    61 được đặt thành
    .box {
      box-sizing: border-box;
    }
    
    62 tạo một hộp nội tuyến chứa một số mục linh hoạt
  • Cả hai đoạn đều được đặt thành
    .box {
      box-sizing: border-box;
    }
    
    63. Tất cả các bộ chứa flex nội tuyến và các đoạn văn chạy cùng nhau trên một dòng thay vì chia thành các dòng mới (như chúng sẽ làm nếu chúng được hiển thị dưới dạng các phần tử cấp khối)

Để chuyển đổi giữa các chế độ hiển thị, bạn có thể thay đổi

.box {
  box-sizing: border-box;
}
63 thành
.box {
  width: 350px;
  inline-size: 350px;
  height: 150px;
  block-size: 150px;
  margin: 10px;
  padding: 25px;
  border: 5px solid black;
}
8 hoặc
.box {
  box-sizing: border-box;
}
62 thành
.box {
  width: 350px;
  inline-size: 350px;
  height: 150px;
  block-size: 150px;
  margin: 10px;
  padding: 25px;
  border: 5px solid black;
}
5

Điều quan trọng cần nhớ bây giờ là. Việc thay đổi giá trị của thuộc tính

.box {
  box-sizing: border-box;
}
9 có thể thay đổi loại hiển thị bên ngoài của hộp là khối hay nội tuyến. Điều này thay đổi cách nó hiển thị cùng với các thành phần khác trong bố cục

Mô hình hộp CSS là gì?

Toàn bộ mô hình hộp CSS áp dụng cho hộp khối và xác định cách các phần khác nhau của hộp — lề, đường viền, phần đệm và nội dung — phối hợp với nhau để tạo hộp mà bạn có thể nhìn thấy trên trang. Hộp nội tuyến chỉ sử dụng một số hành vi được xác định trong mô hình hộp

Để tăng độ phức tạp, có một mô hình hộp tiêu chuẩn và thay thế. Theo mặc định, các trình duyệt sử dụng mô hình hộp tiêu chuẩn

Các bộ phận của hộp

Tạo một hộp khối trong CSS, chúng ta có

  • hộp nội dung. Khu vực hiển thị nội dung của bạn;
  • hộp đệm. Phần đệm nằm xung quanh nội dung dưới dạng khoảng trắng;
  • Hộp viền. Hộp viền bao bọc nội dung và bất kỳ phần đệm nào;
  • hộp ký quỹ. Lề là lớp ngoài cùng, bao bọc nội dung, phần đệm và đường viền dưới dạng khoảng trắng giữa hộp này và các thành phần khác;

Sơ đồ dưới đây cho thấy các lớp này

Làm cách nào để vẽ một hộp trong HTML?

Mô hình hộp CSS tiêu chuẩn

Trong mô hình hộp tiêu chuẩn, nếu bạn cung cấp cho hộp một thuộc tính

.box {
  box-sizing: border-box;
}
69 và
.box {
  box-sizing: border-box;
}
90 (hoặc
.box {
  box-sizing: border-box;
}
1 và
.box {
  box-sizing: border-box;
}
2), điều này xác định kích thước nội tuyến và kích thước khối (chiều rộng và chiều cao theo ngôn ngữ ngang) của hộp nội dung. Bất kỳ phần đệm và đường viền nào sau đó sẽ được thêm vào các kích thước đó để có được tổng kích thước mà hộp chiếm (xem hình ảnh bên dưới)

Nếu chúng tôi cho rằng một hộp có CSS ​​sau

.box {
  box-sizing: border-box;
}
5

Không gian thực tế mà hộp chiếm sẽ rộng 410px (350 + 25 + 25 + 5 + 5) và cao 210px (150 + 25 + 25 + 5 + 5)

Làm cách nào để vẽ một hộp trong HTML?

Ghi chú. Lề không được tính vào kích thước thực của hộp — chắc chắn, nó ảnh hưởng đến tổng dung lượng mà hộp sẽ chiếm trên trang, nhưng chỉ ảnh hưởng đến không gian bên ngoài hộp. Diện tích của hộp dừng lại ở đường viền — nó không mở rộng ra ngoài lề

Mô hình hộp CSS thay thế

Trong mô hình hộp thay thế, chiều rộng bất kỳ là chiều rộng của hộp hiển thị trên trang. Chiều rộng của vùng nội dung là chiều rộng đó trừ đi chiều rộng của phần đệm và đường viền (xem hình ảnh bên dưới). Không cần thêm đường viền và phần đệm để có kích thước thực của hộp

Để bật mô hình thay thế cho một phần tử, hãy đặt

.box {
  box-sizing: border-box;
}
00 cho phần tử đó

.box {
  box-sizing: border-box;
}

Nếu chúng tôi giả sử hộp có cùng CSS như trên

.box {
  width: 350px;
  inline-size: 350px;
  height: 150px;
  block-size: 150px;
  margin: 10px;
  padding: 25px;
  border: 5px solid black;
}

Bây giờ, không gian thực tế chiếm bởi hộp sẽ là 350px theo hướng nội tuyến và 150px theo hướng khối

Làm cách nào để vẽ một hộp trong HTML?

Để sử dụng mô hình hộp thay thế cho tất cả các phần tử của bạn (là lựa chọn phổ biến của các nhà phát triển), hãy đặt thuộc tính

.box {
  box-sizing: border-box;
}
01 trên phần tử
.box {
  box-sizing: border-box;
}
02 và đặt tất cả các phần tử khác kế thừa giá trị đó

.box {
  box-sizing: border-box;
}
6

Để hiểu ý tưởng cơ bản, bạn có thể đọc bài viết Thủ thuật CSS về kích thước hộp

Ghi chú. Một chút lịch sử thú vị — Internet Explorer được sử dụng để mặc định là mô hình hộp thay thế, không có cơ chế nào để chuyển đổi

Chơi với các mô hình hộp

Trong ví dụ dưới đây, bạn có thể thấy hai hộp. Cả hai đều có một lớp

.box {
  box-sizing: border-box;
}
03, cung cấp cho chúng cùng một lớp
.box {
  box-sizing: border-box;
}
1,
.box {
  box-sizing: border-box;
}
2,
.box {
  box-sizing: border-box;
}
95,
.box {
  box-sizing: border-box;
}
94 và
.box {
  box-sizing: border-box;
}
93. Sự khác biệt duy nhất là hộp thứ hai đã được thiết lập để sử dụng mô hình hộp thay thế

Bạn có thể thay đổi kích thước của hộp thứ hai (bằng cách thêm CSS vào lớp

.box {
  box-sizing: border-box;
}
09) để làm cho nó khớp với hộp thứ nhất về chiều rộng và chiều cao không?

Ghi chú. Bạn có thể tìm thấy một giải pháp cho nhiệm vụ này tại đây

Sử dụng DevTools của trình duyệt để xem mô hình hộp

Các công cụ dành cho nhà phát triển trình duyệt của bạn có thể giúp việc hiểu mô hình hộp dễ dàng hơn nhiều. Nếu bạn kiểm tra một phần tử trong DevTools của Firefox, bạn có thể thấy kích thước của phần tử cộng với lề, phần đệm và đường viền của nó. Kiểm tra một yếu tố theo cách này là một cách tuyệt vời để tìm hiểu xem hộp của bạn có thực sự có kích thước như bạn nghĩ hay không

Làm cách nào để vẽ một hộp trong HTML?

Lề, đệm và đường viền

Bạn đã thấy các thuộc tính

.box {
  box-sizing: border-box;
}
95,
.box {
  box-sizing: border-box;
}
93 và
.box {
  box-sizing: border-box;
}
94 hoạt động trong ví dụ trên. Các thuộc tính được sử dụng trong ví dụ đó là tốc ký và cho phép chúng tôi đặt cả bốn cạnh của hộp cùng một lúc. Các tốc ký này cũng có các thuộc tính viết tay tương đương, cho phép kiểm soát các mặt khác nhau của hộp riêng lẻ

Hãy khám phá những thuộc tính này chi tiết hơn

Lề

Lề là một không gian vô hình xung quanh hộp của bạn. Nó đẩy các yếu tố khác ra khỏi hộp. Lợi nhuận có thể có giá trị dương hoặc âm. Đặt lề âm ở một bên hộp của bạn có thể khiến nó chồng lên những thứ khác trên trang. Cho dù bạn đang sử dụng mô hình hộp tiêu chuẩn hay thay thế, lề luôn được thêm vào sau khi tính toán kích thước của hộp hiển thị

Chúng tôi có thể kiểm soát tất cả các lề của một phần tử cùng một lúc bằng cách sử dụng thuộc tính

.box {
  box-sizing: border-box;
}
95 hoặc từng bên riêng lẻ bằng cách sử dụng các thuộc tính longhand tương đương

  • .box {
      box-sizing: border-box;
    }
    
    14
  • .box {
      box-sizing: border-box;
    }
    
    15
  • .box {
      box-sizing: border-box;
    }
    
    16
  • .box {
      box-sizing: border-box;
    }
    
    17

Trong ví dụ dưới đây, hãy thử thay đổi các giá trị lề để xem hộp được đẩy xung quanh như thế nào do lề tạo hoặc loại bỏ khoảng trắng (nếu đó là lề âm) giữa phần tử này và phần tử chứa

Thu hẹp ký quỹ

Tùy thuộc vào việc hai phần tử có lề chạm nhau có lề dương hay âm mà kết quả sẽ khác nhau

  • Hai biên dương sẽ kết hợp để trở thành một biên. Kích thước của nó sẽ bằng với biên độ cá nhân lớn nhất
  • Hai lề âm sẽ thu gọn và giá trị nhỏ nhất (xa nhất từ ​​0) sẽ được sử dụng
  • Nếu một lề là số âm, giá trị của nó sẽ bị trừ khỏi tổng

Trong ví dụ dưới đây, chúng ta có hai đoạn văn. Đoạn trên cùng có

.box {
  box-sizing: border-box;
}
16 50 pixel, đoạn còn lại có
.box {
  box-sizing: border-box;
}
14 30 pixel. Các lề đã được thu gọn lại với nhau nên lề thực tế giữa các hộp là 50 pixel chứ không phải tổng của hai lề

Bạn có thể kiểm tra điều này bằng cách đặt

.box {
  box-sizing: border-box;
}
14 của đoạn hai thành 0. Lề có thể nhìn thấy giữa hai đoạn sẽ không thay đổi — nó giữ nguyên 50 pixel được đặt trong
.box {
  box-sizing: border-box;
}
16 của đoạn một. Nếu bạn đặt nó thành -10px, bạn sẽ thấy rằng tổng lề trở thành 40px — nó trừ đi 50px

Một số quy tắc chỉ ra khi lợi nhuận xảy ra và không sụp đổ. Để biết thêm thông tin, hãy xem trang chi tiết về thu gọn lề chính. Điều chính cần nhớ là sự sụp đổ của lề là điều xảy ra nếu bạn đang tạo không gian có lề và không có được khoảng trống như mong đợi

biên giới

Đường viền được vẽ giữa lề và phần đệm của hộp. Nếu bạn đang sử dụng mô hình hộp tiêu chuẩn, kích thước của đường viền sẽ được thêm vào

.box {
  box-sizing: border-box;
}
1 và
.box {
  box-sizing: border-box;
}
2 của hộp nội dung. Nếu bạn đang sử dụng mô hình hộp thay thế thì kích thước của đường viền sẽ làm cho hộp nội dung nhỏ hơn vì nó chiếm một số
.box {
  box-sizing: border-box;
}
1 và
.box {
  box-sizing: border-box;
}
2 có sẵn của hộp phần tử

Đối với các đường viền tạo kiểu, có một số lượng lớn các thuộc tính — có bốn đường viền và mỗi đường viền có một kiểu, chiều rộng và màu sắc mà chúng ta có thể muốn thao tác

Bạn có thể đặt chiều rộng, kiểu hoặc màu của cả bốn đường viền cùng một lúc bằng cách sử dụng thuộc tính

.box {
  box-sizing: border-box;
}
94

Để đặt thuộc tính của từng bên riêng lẻ, hãy sử dụng

  • .box {
      box-sizing: border-box;
    }
    
    27
  • .box {
      box-sizing: border-box;
    }
    
    28
  • .box {
      box-sizing: border-box;
    }
    
    29
  • .box {
      box-sizing: border-box;
    }
    
    30

Để đặt chiều rộng, kiểu hoặc màu của tất cả các mặt, hãy sử dụng

  • .box {
      box-sizing: border-box;
    }
    
    31
  • .box {
      box-sizing: border-box;
    }
    
    32
  • .box {
      box-sizing: border-box;
    }
    
    33

Để đặt chiều rộng, kiểu hoặc màu của một mặt, hãy sử dụng một trong các thuộc tính longhand chi tiết hơn

  • .box {
      box-sizing: border-box;
    }
    
    34
  • .box {
      box-sizing: border-box;
    }
    
    35
  • .box {
      box-sizing: border-box;
    }
    
    36
  • .box {
      box-sizing: border-box;
    }
    
    37
  • .box {
      box-sizing: border-box;
    }
    
    38
  • .box {
      box-sizing: border-box;
    }
    
    39
  • .box {
      box-sizing: border-box;
    }
    
    40
  • .box {
      box-sizing: border-box;
    }
    
    41
  • .box {
      box-sizing: border-box;
    }
    
    42
  • .box {
      box-sizing: border-box;
    }
    
    43
  • .box {
      box-sizing: border-box;
    }
    
    44
  • .box {
      box-sizing: border-box;
    }
    
    45

Trong ví dụ bên dưới, chúng tôi đã sử dụng nhiều cách viết tắt và viết tay khác nhau để tạo đường viền. Chơi xung quanh với các thuộc tính khác nhau để kiểm tra xem bạn có hiểu cách chúng hoạt động không. Các trang MDN dành cho thuộc tính đường viền cung cấp cho bạn thông tin về các kiểu đường viền có sẵn khác nhau

đệm

Phần đệm nằm giữa đường viền và vùng nội dung và được sử dụng để đẩy nội dung ra khỏi đường viền. Không giống như lề, bạn không thể có phần đệm âm. Bất kỳ nền nào được áp dụng cho phần tử của bạn sẽ hiển thị phía sau phần đệm

Thuộc tính

.box {
  box-sizing: border-box;
}
93 kiểm soát phần đệm trên tất cả các mặt của một phần tử. Để kiểm soát từng bên riêng lẻ, hãy sử dụng các thuộc tính longhand này

  • .box {
      box-sizing: border-box;
    }
    
    47
  • .box {
      box-sizing: border-box;
    }
    
    48
  • .box {
      box-sizing: border-box;
    }
    
    49
  • .box {
      box-sizing: border-box;
    }
    
    00

Trong ví dụ bên dưới, bạn có thể thay đổi các giá trị cho phần đệm trên lớp

.box {
  box-sizing: border-box;
}
03 để thấy rằng điều này thay đổi vị trí bắt đầu của văn bản liên quan đến hộp. Bạn cũng có thể thay đổi phần đệm trên lớp
.box {
  box-sizing: border-box;
}
02 để tạo khoảng cách giữa hộp chứa và hộp. Bạn có thể thay đổi phần đệm trên bất kỳ phần tử nào để tạo khoảng cách giữa đường viền của nó và bất kỳ thứ gì bên trong phần tử đó

Mô hình hộp và hộp nội tuyến

Tất cả những điều trên hoàn toàn áp dụng cho hộp khối. Một số thuộc tính cũng có thể áp dụng cho các hộp nội tuyến, chẳng hạn như các thuộc tính được tạo bởi phần tử

.box {
  box-sizing: border-box;
}
5

Trong ví dụ bên dưới, chúng ta có một

.box {
  box-sizing: border-box;
}
5 bên trong một đoạn văn. Chúng tôi đã áp dụng
.box {
  box-sizing: border-box;
}
1,
.box {
  box-sizing: border-box;
}
2,
.box {
  box-sizing: border-box;
}
95,
.box {
  box-sizing: border-box;
}
94 và
.box {
  box-sizing: border-box;
}
93 cho nó. Bạn có thể thấy rằng chiều rộng và chiều cao bị bỏ qua. Lề dọc, phần đệm và đường viền được tôn trọng nhưng không thay đổi mối quan hệ của nội dung khác với hộp nội tuyến của chúng tôi. Phần đệm và đường viền chồng lên các từ khác trong đoạn văn. Phần đệm ngang, lề và đường viền di chuyển nội dung khác ra khỏi hộp

Sử dụng màn hình. chặn Nội tuyến

.box {
  box-sizing: border-box;
}
10 là một giá trị đặc biệt của
.box {
  box-sizing: border-box;
}
9, cung cấp một nền tảng trung gian giữa
.box {
  box-sizing: border-box;
}
1 và
.box {
  box-sizing: border-box;
}
0. Sử dụng nó nếu bạn không muốn một mục chuyển sang một dòng mới, nhưng muốn nó tôn trọng
.box {
  box-sizing: border-box;
}
1 và
.box {
  box-sizing: border-box;
}
2 và tránh sự chồng chéo đã thấy ở trên

Một phần tử với

.box {
  box-sizing: border-box;
}
10 thực hiện một tập hợp con của khối mà chúng ta đã biết về

  • Các thuộc tính
    .box {
      box-sizing: border-box;
    }
    
    1 và
    .box {
      box-sizing: border-box;
    }
    
    2 được tôn trọng
  • ________ 493, ________ 495 và ________ 494 sẽ khiến các phần tử khác bị đẩy ra khỏi hộp

Tuy nhiên, nó không chuyển sang một dòng mới và sẽ chỉ trở nên lớn hơn nội dung của nó nếu bạn thêm các thuộc tính

.box {
  box-sizing: border-box;
}
1 và
.box {
  box-sizing: border-box;
}
2 một cách rõ ràng

Trong ví dụ tiếp theo này, chúng tôi đã thêm

.box {
  box-sizing: border-box;
}
10 vào phần tử
.box {
  box-sizing: border-box;
}
5 của chúng tôi. Hãy thử thay đổi điều này thành
.box {
  width: 350px;
  inline-size: 350px;
  height: 150px;
  block-size: 150px;
  margin: 10px;
  padding: 25px;
  border: 5px solid black;
}
8 hoặc xóa hoàn toàn dòng này để thấy sự khác biệt trong các kiểu hiển thị

Trường hợp điều này có thể hữu ích là khi bạn muốn cung cấp cho một liên kết một khu vực tiếp cận lớn hơn bằng cách thêm

.box {
  box-sizing: border-box;
}
93.
.box {
  box-sizing: border-box;
}
4 là một phần tử nội tuyến như
.box {
  box-sizing: border-box;
}
5;

Bạn thấy điều này khá thường xuyên trong các thanh điều hướng. Điều hướng bên dưới được hiển thị trong một hàng bằng cách sử dụng flexbox và chúng tôi đã thêm phần đệm vào phần tử

.box {
  box-sizing: border-box;
}
4 vì chúng tôi muốn có thể thay đổi
.box {
  box-sizing: border-box;
}
32 khi
.box {
  box-sizing: border-box;
}
4 được di chuột. Phần đệm dường như chồng lên đường viền trên phần tử
.box {
  box-sizing: border-box;
}
61. Điều này là do
.box {
  box-sizing: border-box;
}
4 là một phần tử nội tuyến

Thêm

.box {
  box-sizing: border-box;
}
10 vào quy tắc với bộ chọn
.box {
  box-sizing: border-box;
}
37 và bạn sẽ thấy cách nó khắc phục sự cố này bằng cách làm cho phần đệm được các phần tử khác tôn trọng

Kiểm tra kỹ năng của bạn

Bạn đã đọc đến cuối bài viết này, nhưng liệu bạn có nhớ được thông tin quan trọng nhất không? . Mô hình hộp

Tóm lược

Đó là hầu hết những gì bạn cần hiểu về mô hình hộp. Bạn có thể muốn quay lại bài học này trong tương lai nếu bạn cảm thấy bối rối về kích thước của các hộp trong bố cục của mình

Trong bài viết tiếp theo, chúng ta sẽ xem cách nền và đường viền có thể được sử dụng để làm cho các hộp đơn giản của bạn trông thú vị hơn

Làm cách nào để tạo hộp div trong HTML?

Với thẻ div, bạn có thể tạo nhiều hình dạng khác nhau và vẽ bất cứ thứ gì vì nó rất dễ tạo kiểu. Để tạo một hình vuông với thẻ div, trước tiên bạn cần xác định một thẻ div trống và đính kèm một thuộc tính lớp cho thẻ đó trong HTML . Trong CSS, chọn div với thuộc tính lớp, sau đó đặt chiều cao và chiều rộng bằng nhau cho nó.