Hướng dẫn property of css box model - thuộc tính của mô hình hộp css
Tất cả các yếu tố HTML có thể được coi là hộp. Show
Mô hình hộp CSSTrong CSS, thuật ngữ "mô hình hộp" được sử dụng khi nói về thiết kế và bố cục. Mô hình hộp CSS về cơ bản là một hộp bao quanh mọi phần tử HTML. Nó bao gồm: lề, biên giới, đệm và nội dung thực tế. Hình ảnh dưới đây minh họa mô hình hộp: Giải thích về các phần khác nhau:
Mô hình hộp cho phép chúng tôi thêm một đường viền xung quanh các phần tử và xác định không gian giữa các phần tử. & NBSP; Thí dụTrình diễn mô hình hộp: div {& nbsp; & nbsp; width: 300px; & nbsp; & nbsp; biên giới: 15px solid green; & nbsp; Đệm: 50px; & nbsp; Biên độ: 20px;} Hãy tự mình thử » Chiều rộng và chiều cao của một phần tửĐể đặt chiều rộng và chiều cao của một phần tử một cách chính xác trong tất cả các trình duyệt, bạn cần biết cách thức hoạt động của mô hình hộp. Quan trọng: Khi bạn đặt thuộc tính chiều rộng và chiều cao của một phần tử có CSS, bạn chỉ cần đặt chiều rộng và chiều cao của khu vực nội dung. Để tính toán kích thước đầy đủ của một phần tử, bạn cũng phải thêm phần đệm, đường viền và lề. When you set the width and height properties of an element with CSS, you just set the width and height of the content area. To calculate the full size of an element, you must also add padding, borders and margins. Thí dụTrình diễn mô hình hộp: div {& nbsp; & nbsp; width: 300px; & nbsp; & nbsp; biên giới: 15px solid green; & nbsp; Đệm: 50px; & nbsp; Biên độ: 20px;} Hãy tự mình thử » Chiều rộng và chiều cao của một phần tử Để đặt chiều rộng và chiều cao của một phần tử một cách chính xác trong tất cả các trình duyệt, bạn cần biết cách thức hoạt động của mô hình hộp. Quan trọng: Khi bạn đặt thuộc tính chiều rộng và chiều cao của một phần tử có CSS, bạn chỉ cần đặt chiều rộng và chiều cao của khu vực nội dung. Để tính toán kích thước đầy đủ của một phần tử, bạn cũng phải thêm phần đệm, đường viền và lề. Phần tử này sẽ có tổng chiều rộng 350px: & nbsp; div {& nbsp; Chiều rộng: 320px; & nbsp; Đệm: 10px; & nbsp; Biên giới: 5px màu xám rắn; & nbsp; Biên độ: 0; } Đây là tính toán: Trong mô -đun này Mô hình hộp CSS mà nó bao gồm: lề, biên giới, đệm và nội dung thực tế.block boxes and inline boxes. The type refers to how the box behaves in terms of page flow and in relation to other boxes on the page. Boxes have an inner display type and an outer
display type. Đó không phải là thuộc tính của mô hình hộp CSS? Hộp A có phải là thuộc tính CSS không? Một số phần tử HTML, chẳng hạn như Nếu một hộp có loại hiển thị bên ngoài là 1, thì:
Một số phần tử HTML, chẳng hạn như 4, 5, 6 và 7 Sử dụng 1 làm loại hiển thị bên ngoài của chúng theo mặc định.Loại hiển thị bên trongCác hộp cũng có một loại hiển thị bên trong, chỉ ra cách các yếu tố bên trong hộp đó được đặt ra. Bố cục khối và nội tuyến là cách mặc định mọi thứ hoạt động trên web. Theo mặc định và không có bất kỳ hướng dẫn nào khác, các phần tử bên trong một hộp cũng được trình bày trong dòng chảy bình thường và hoạt động dưới dạng các hộp khối hoặc nội tuyến.normal flow and behave as block or inline boxes. Bạn có thể thay đổi loại hiển thị bên trong ví dụ bằng cách đặt 9. Phần tử vẫn sẽ sử dụng loại hiển thị bên ngoài block nhưng điều này thay đổi loại hiển thị bên trong thành 1. Bất kỳ trẻ em trực tiếp nào của hộp này sẽ trở thành vật phẩm flex và hoạt động theo đặc điểm kỹ thuật của Flexbox.Khi bạn chuyển sang tìm hiểu về bố cục CSS chi tiết hơn, bạn sẽ gặp 1 và nhiều giá trị bên trong khác mà hộp của bạn có thể có, ví dụ 3.Lưu ý: Để đọc thêm về các giá trị 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 khối hướng dẫn MDN và bố cục nội tuyến. To read more about the values of display, and how boxes work in block and inline layout, take a look at the MDN guide Block and Inline Layout. Ví dụ về các loại hiển thị khác nhauVí dụ dưới đây có ba phần tử HTML khác nhau, tất cả đều có loại hiển thị bên ngoài là
Trong ví dụ tiếp theo, chúng ta có thể thấy các yếu tố 1 hoạt động như thế nào.
Để chuyển đổi giữa các chế độ hiển thị, bạn có thể thay đổi Điều quan trọng cần nhớ bây giờ là: Thay đổi giá trị của thuộc tính Mô hình hộp CSS là gì?Toàn bộ mô hình hộp CSS áp dụng cho các hộp chặn và xác định cách các phần khác nhau của hộp - lề, đường viền, đệm và nội dung - làm việc cùng nhau để tạo một hộp mà bạn có thể thấy trên một 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. Để thêm độ phức tạp, có một mô hình hộp tiêu chuẩn và hộp thay thế. Theo mặc định, trình duyệt sử dụng mô hình hộp tiêu chuẩn. Các bộ phận của một hộpTạo một hộp khối trong CSS Chúng tôi có:
Sơ đồ dưới đây cho thấy các lớp sau:
Mô hình hộp CSS tiêu chuẩnTrong mô hình hộp tiêu chuẩn, nếu bạn cho một hộp một thuộc tính 9 và display 0 (hoặc width và height ), đ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 đó được thêm vào các kích thước đó để có tổng kích thước được lấy bằng hộp (xem hình ảnh bên dưới).Nếu chúng ta cho rằng một hộp có các CSS sau:
Không gian thực tế được lấy bởi hộp sẽ rộng 410px (350 + 25 + 25 + 5 + 5) và cao 210px (150 + 25 + 25 + 5 + 5).
Lưu ý: Biên độ không được tính vào kích thước thực tế 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ỉ có khoảng trống bên ngoài hộp. Khu vực của hộp dừng ở biên giới - nó không kéo dài vào lề. The margin is not counted towards the actual size of the box — sure, it affects the total space that the box will take up on the page, but only the space outside the box. The box's area stops at the border — it does not extend into the margin. Mô hình hộp CSS thay thếTrong mô hình hộp thay thế, bất kỳ chiều rộng nào là chiều rộng của hộp có thể nhìn thấy trên trang. Chiều rộng diện tích nội dung là chiều rộng trừ đi chiều rộng cho phần đệm và đường viền (xem hình ảnh bên dưới). Không cần phải thêm đường viền và đệm để có đượ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
Nếu chúng ta giả sử hộp có cùng CSS như trên:
Bây giờ, không gian thực tế được lấy bởi hộp sẽ là 350px theo hướng nội tuyến và 150px theo hướng khối.
Để sử dụng mô hình hộp thay thế cho tất cả các yếu tố của bạn (đây là lựa chọn phổ biến giữa các nhà phát triển), hãy đặt thuộc tính
Để hiểu ý tưởng cơ bản, bạn có thể đọc bài viết của CSS Tricks về quy mô hộp. Lưu ý: Một chút thú vị của lịch sử - Internet Explorer được sử dụng để mặc định cho mô hình hộp thay thế, không có cơ chế có sẵn để chuyển đổi. An interesting bit of history — Internet Explorer used to default to the alternative box model, with no mechanism available to switch. Chơi với các mô hình hộpTrong ví dụ dưới đây, bạn có thể thấy hai hộp. Cả hai đều có một lớp 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 Lưu ý: Bạn có thể tìm thấy một giải pháp cho nhiệm vụ này ở đây. You can find a solution for this task here. Sử dụng trình duyệt devtools để xem mô hình hộpCác công cụ dành cho nhà phát triển trình duyệt của bạn có thể làm cho 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 yếu tố trong các devtools của Firefox, bạn có thể thấy kích thước của phần tử cộng với lề, đệ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 mà bạn nghĩ là không!
Lề, đệm và biên giớiBạn đã thấy các thuộc tính Hãy khám phá các thuộc tính này chi tiết hơn. LềBiên độ 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ị tích cực hoặc âm. Đặt biên độ âm ở một bên của hộp của bạn có thể khiến nó chồng chéo 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 kích thước của hộp có thể nhìn thấy đã được tính toán. Chúng ta 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
Trong ví dụ dưới đây, hãy thử thay đổi các giá trị ký quỹ để xem hộp được đẩy xung quanh như thế nào do biên tạo hoặc loại bỏ không gian (nếu đó là lề âm) giữa phần tử này và phần tử chứa. Thu gọn lềTùy thuộc vào việc hai yếu tố có tỷ suất lợi nhuận có tỷ suất lợi nhuận dương hay âm, kết quả sẽ khác nhau:
Trong ví dụ dưới đây, chúng tôi có hai đoạn văn. Đoạn trên cùng có Bạn có thể kiểm tra điều này bằng cách đặt Một số quy tắc ra lệnh khi tỷ suất lợi nhuận và không sụp đổ. Để biết thêm thông tin, hãy xem trang chi tiết về việc làm chủ việc thu gọn lề. Điều chính cần nhớ là việc sụp đổ lề là một điều xảy ra nếu bạn đang tạo không gian với lề và không có được không gian mà bạn mong đợi. Biên giớiBiên giới được vẽ giữa lề và đệm của một 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 Đối với đường viền kiểu dáng, 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ó kiểu dáng, 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 dáng hoặc màu sắc của cả bốn biên giới cùng một lúc bằng thuộc tính Để đặt các thuộc tính của từng bên, hãy sử dụng:
Để đặt chiều rộng, kiểu hoặc màu của tất cả các mặt, sử dụng:
Để đặt chiều rộng, kiểu dáng hoặc màu sắc của một mặt duy nhất, hãy sử dụng một trong các thuộc tính dài hơn của hạt:
Trong ví dụ dưới đây, chúng tôi đã sử dụng nhiều tốc ký và tay dài khác nhau để tạo ra biên giới. 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 cho các thuộc tính biên giới cung cấp cho bạn thông tin về các kiểu biên giới có sẵn khác nhau. ĐệmPhần đệm nằm giữa biên giới và khu vực nội dung và được sử dụng để đẩy nội dung ra khỏi biên giới. Không giống như lề, bạn không thể có một phần đệm tiêu cực. Bất kỳ nền được áp dụng cho phần tử của bạn sẽ hiển thị phía sau phần đệm. Tài sản
Trong ví dụ dưới đây, bạn có thể thay đổi các giá trị để đệm trên lớp 02 để tạo không gian giữa container và hộp. Bạn có thể thay đổi phần đệm trên bất kỳ phần tử nào để tạo không gian giữa đường viền của nó và bất cứ thứ gì nằm trong phần tử.Mô hình hộp và hộp nội tuyếnTất cả những điều trên áp dụng đầy đủ cho các 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 một phần tử 5.Trong ví dụ dưới đây, chúng ta có một 5 bên trong một đoạn văn. Chúng tôi đã áp dụng một width , height , display 5, display 4 và display 3 cho nó. Bạn có thể thấy rằng chiều rộng và chiều cao bị bỏ qua. Biên độ dọc, đệm và biên giới đượ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. Các phần đệm và đường viền chồng chéo các từ khác trong đoạn văn. Các phần đệm ngang, lề và biên giới di chuyển nội dung khác ra khỏi hộp.Sử dụng Hiển thị: Khối nội tuyến 10 là một giá trị đặc biệt của display , cung cấp một nền tảng giữa giữa 1 và block . Sử dụng nó nếu bạn không muốn một vật phẩm đột nhập vào một dòng mới, nhưng muốn nó tôn trọng width và height và tránh sự chồng chéo nhìn thấy ở trên.Một yếu tố có 10 thực hiện một tập hợp con của những điều khối mà chúng ta đã biết:
Tuy nhiên, nó không chia tay 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 Trong ví dụ tiếp theo này, chúng tôi đã thêm 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 hit lớn hơn bằng cách thêm 4 là một yếu tố nội tuyến như 5; Bạn có thể sử dụng 10 để cho phép đệm được đặt trên nó, giúp người dùng dễ dàng nhấp vào liên kết.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ị thành một hàng bằng FlexBox và chúng tôi đã thêm phần đệm vào phần tử 4 vì chúng tôi muốn có thể thay đổi 32 khi 4 được bay lơ lửng. Phần đệm dường như chồng lên đường viền trên phần tử 1. Điều này là do 4 là một yếu tố nội tuyến.Thêm Kiểm tra kỹ năng của bạn!Bạn đã đạt đến cuối bài viết này, nhưng bạn có thể nhớ thông tin quan trọng nhất không? Bạn có thể tìm thấy một số bài kiểm tra tiếp theo để xác minh rằng bạn đã giữ lại thông tin này trước khi bạn tiếp tục - xem Kiểm tra kỹ năng của bạn: Mô hình hộp. Bản tóm tắtĐó 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 trở lại bài học này trong tương lai nếu bạn thấy mình bối rối về cách các hộp lớn trong bố cục của bạn. Trong bài viết tiếp theo, chúng ta sẽ xem xét cách thức nền và biên giới 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.
Trong mô -đun nàyCác thuộc tính mô hình hộp CSS là gì?Mô hình hộp CSS mà nó bao gồm: lề, biên giới, đệm và nội dung thực tế.margins, borders, padding, and the actual content.
Đó không phải là thuộc tính của mô hình hộp CSS?Mô hình hộp W3C không bao gồm đệm và viền trong tổng chiều rộng hoặc chiều cao của nó.padding and border in its total width or height.
Hộp A có phải là thuộc tính CSS không?Với thuộc tính quy mô hộp CSS, thuộc tính quy mô hộp cho phép chúng tôi bao gồm phần đệm và đường viền trong tổng chiều rộng và chiều cao của một phần tử.Nếu bạn đặt quy mô hộp: Hộp viền;Trên một yếu tố, phần đệm và đường viền được bao gồm trong chiều rộng và chiều cao: cả hai div đều có cùng kích thước!CSS box-sizing Property
The box-sizing property allows us to include the padding and border in an element's total width and height. If you set box-sizing: border-box; on an element, padding and border are included in the width and height: Both divs are the same size now!
Các thuộc tính của một hộp là gì?Thuộc tính của một hộp:.. Diện tích bề mặt của một hộp và âm lượng của nó .. Chiều dài của đường chéo của một hộp .. |