Khoảng cách giữa các mục danh sách css
Nếu hai hoặc nhiều phần tử gần nhau, thì người dùng sẽ cho rằng chúng bằng cách nào đó thuộc về nhau. Khi nhóm nhiều yếu tố thiết kế, người dùng có thể quyết định cách chúng liên quan với nhau bằng khoảng cách giữa chúng. Nếu không có khoảng cách, người dùng sẽ khó đọc lướt trang và biết mục nào có liên quan và mục nào không Show
Trong bài viết này, tôi sẽ đề cập đến mọi thứ bạn cần biết về khoảng cách trong CSS, các cách khác nhau để đạt được điều đó và khi nào nên sử dụng phần đệm hoặc lề. Hãy đi sâu vào Mục lục
Các loại khoảng cáchKhoảng cách trong CSS có hai loại, một loại nằm ngoài phần tử và loại còn lại nằm trong phần tử đó. Đối với bài viết này, tôi sẽ gọi chúng là bên ngoài và bên trong. Giả sử rằng chúng ta có một phần tử, khoảng cách bên trong nó là khoảng cách bên trong và khoảng cách bên ngoài nó là khoảng cách bên ngoài Trong CSS, có thể thực hiện giãn cách như bên dưới
Tôi đã sử dụng 0 cho khoảng cách bên trong và 1 cho khoảng cách bên ngoài. Khá đơn giản, phải không? Lề - Khoảng cách NgoàiNó được sử dụng để thêm khoảng cách giữa một phần tử và phần tử khác. Ví dụ, trong ví dụ trước, tôi đã thêm 2 để thêm khoảng cách dọc giữa hai phần tử xếp chồng lên nhauVì lề có thể được thêm vào theo bốn hướng khác nhau (trên, phải, dưới, trái), điều quan trọng là phải làm sáng tỏ một số khái niệm cơ bản trước khi đi sâu vào ví dụ và các trường hợp sử dụng Thu gọn ký quỹNói một cách đơn giản, thu gọn lề xảy ra khi hai phần tử dọc có lề và một trong số chúng có lề lớn hơn phần tử còn lại. Trong trường hợp đó, số dư lớn hơn sẽ được sử dụng và phần còn lại sẽ bị bỏ qua Trong mô hình mô phỏng ở trên, một phần tử có 3 và phần tử kia có 4. Phần tử có biên độ lớn hơn sẽ thắngĐể tránh sự cố như vậy, bạn nên sử dụng lề một chiều theo bài viết này. Hơn nữa, Thủ thuật CSS đã thực hiện một cuộc thăm dò giữa 3 và 4. 61% cử tri thích 3 hơn 4Xem cách khắc phục sự cố bên dưới 0Với bộ chọn CSS 9, bạn có thể dễ dàng xóa lề khỏi phần tử con cuối cùng để tránh khoảng cách không cần thiếtThử nghiệm Một ví dụ khác có liên quan đến sự sụp đổ lề là con và cha mẹ. Giả sử như sau 2 3Lưu ý rằng phần tử con được dán vào đầu phần tử cha của nó. Đó là bởi vì lề của nó bị sụp đổ. Theo W3C, đây là một số giải pháp cho vấn đề đó
Một giải pháp đơn giản hơn sẽ là thêm 42 vào phần tử chaKý quỹ âmNó có thể được sử dụng với bốn hướng cho lề và nó rất hữu ích trong một số trường hợp sử dụng. Giả sử như sau Cha mẹ có 43, khiến đứa trẻ bị lệch từ trên xuống, trái và phải. Tuy nhiên, phần tử con phải dính vào các cạnh của phần tử cha của nó. Chà, lợi nhuận âm để giải cứu 8Thử nghiệm Nếu bạn muốn tìm hiểu thêm về lợi nhuận âm, tôi giới thiệu bài viết này của Peter-Paul Koch Đệm - Khoảng cách bên trongNhư tôi đã đề cập trước đây, phần đệm thêm khoảng cách bên trong bên trong một phần tử. Mục tiêu của nó có thể thay đổi tùy theo trường hợp được sử dụng Chẳng hạn, nó có thể được sử dụng để tăng khoảng cách xung quanh các liên kết, điều này sẽ dẫn đến vùng có thể nhấp lớn hơn cho liên kết Đệm không hoạt độngĐiều quan trọng cần lưu ý là phần đệm dọc không hoạt động với các phần tử có 44, như 45 hoặc 46. Nếu phần đệm được thêm vào, nó sẽ không ảnh hưởng đến phần tử và phần đệm sẽ ghi đè lên các phần tử nội tuyến khácĐây chỉ là một lời nhắc thân thiện rằng thuộc tính 47 nên được thay đổi cho các phần tử nội tuyến
Khoảng cách lưới CSSTrong lưới CSS, có thể dễ dàng thêm khoảng cách giữa các cột và hàng với thuộc tính 48. Đó là cách viết tắt của khoảng cách hàng và cột 4Các thuộc tính longhand cho khoảng cách có thể được sử dụng như dưới đây 6Khoảng trống CSS Flexbox 49 là thuộc tính được đề xuất sẽ được sử dụng cho cả CSS grid và flexbox. Nhược điểm là nó chỉ được hỗ trợ trong Firefox tại thời điểm viết bài này 8Thêm vào đó, không thể sử dụng nó với CSS 60 để phát hiện xem nó có được hỗ trợ hay không và nâng cao dựa trên điều đó. Nếu bạn thích nó, hãy bỏ phiếu để giúp đưa nó lên ChromeĐịnh vị CSSNó có thể không phải là một cách trực tiếp để tạo khoảng cách cho các phần tử, nhưng nó đóng một vai trò trong một số trường hợp thiết kế. Ví dụ: một phần tử được định vị tuyệt đối cần được định vị 61 từ các cạnh bên trái và trên cùng của phần tử cha của nóXem xét ví dụ sau. Thẻ có biểu tượng phải được đặt cách nhau từ cạnh trên cùng bên trái của thẻ gốc. Trong trường hợp đó, CSS sau đang được sử dụng 1Các trường hợp sử dụng và ví dụ thực tếTrong phần này, bạn sẽ trải qua các trường hợp sử dụng khác nhau mà bạn sẽ gặp phải trong công việc hàng ngày khi làm việc trên các dự án CSS Thành phần tiêu đềTrong trường hợp này, tiêu đề có logo, điều hướng và hồ sơ người dùng. Bạn có đoán được khoảng cách nên được thực hiện như thế nào trong CSS không? 00Tiêu đề có phần đệm ở bên trái và bên phải. Mục đích của việc này là để nội dung không bị dính vào các cạnh 01Đối với điều hướng, mỗi liên kết phải có đủ phần đệm từ các cạnh dọc và ngang, do đó, khu vực có thể nhấp của nó có thể lớn, điều này sẽ nâng cao khả năng truy cập 02Và đối với khoảng cách giữa mỗi mục, bạn có thể sử dụng 1 hoặc thay đổi 47 của 64 thành 41. Các phần tử khối nội tuyến thêm một khoảng trống nhỏ giữa các phần tử anh chị em của nó, do thực tế là nó xử lý các phần tử như các ký tự 03Cuối cùng, hình đại diện và tên người dùng có lề bên trái 04Lưu ý rằng nếu bạn đang xây dựng một trang web đa ngôn ngữ, bạn nên sử dụng các thuộc tính logic CSS như bên dưới 05Lưu ý rằng khoảng cách xung quanh dấu phân cách hiện bằng nhau. Lý do là các mục điều hướng không có chiều rộng cụ thể và thay vào đó, chúng có phần đệm. Do đó, chiều rộng của các mục điều hướng dựa trên nội dung của chúng. Dưới đây là các giải pháp
Giải pháp dễ nhất và tốt hơn là giải pháp thứ ba, đó là thêm một 66 06Thử nghiệm Khoảng Cách Trong Hệ Thống Lưới - FlexboxLưới là một trong những trường hợp được sử dụng nhiều nhất cho khoảng cách. Xem xét ví dụ sau Khoảng cách phải ở giữa các cột và hàng. Hãy xem xét đánh dấu HTML sau 07Thông thường, tôi thích giữ các thành phần được đóng gói và tránh thêm lề cho chúng. Vì lý do đó, tôi có phần tử 67, nơi thành phần thẻ của tôi sẽ nằm trong 08Với CSS ở trên, bốn thẻ sẽ nằm trong mỗi hàng. Đây là một giải pháp khả thi để thêm khoảng cách giữa chúng 09Bằng cách sử dụng hàm CSS 68, số tiền ký quỹ được khấu trừ từ 69. Như bạn thấy, giải pháp này không phải là dễ dàng. Những gì tôi thích là như sau
Tôi đã học được giải pháp trên từ CSS Wizardy nhiều năm trước (tôi quên mất tiêu đề bài viết, nếu bạn biết thì hãy cho tôi biết) 20Lý do tôi sử dụng 66 âm, là vì thẻ đầu tiên có 80 trong khi thực tế thì không cần thiết. Vì vậy, nó sẽ đẩy trình bao bọc sang bên trái và hủy bỏ khoảng trống không cần thiết đóThử nghiệm Một khái niệm tương tự khác là thêm phần đệm vào cả hai bên và khi đó lề là số âm. Dưới đây là một ví dụ về những câu chuyện của Facebook 21Khoảng Cách Trong Hệ Thống Lưới - CSS GridVà bây giờ, đến phần thú vị. Với lưới CSS, bạn có thể thêm khoảng cách rất dễ dàng với 48. Ngoài ra, bạn không cần quan tâm đến chiều rộng của mục lưới cũng như lề dưới cùng. CSS Grid làm mọi thứ cho bạn 22Và đó là nó. Điều đó không dễ dàng và đơn giản hơn nhiều sao? Gap theo yêu cầuĐiều tôi thực sự thích về lưới CSS là 48 chỉ được áp dụng trong trường hợp cần thiết. Hãy xem xét mô hình sauTôi có một phần với hai thẻ. Trên thiết bị di động, tôi muốn khoảng cách ở bên dưới cái đầu tiên và trên máy tính để bàn, khoảng cách sẽ nằm giữa chúng. Không thể có sự linh hoạt này nếu không có lưới CSS. Đầu tiên, xem bên dưới 23Không thoải mái, phải không? 24Và thế là xong. Nhiều, dễ dàng hơn nhiều Xử lý tiền ký quỹ dưới cùngGiả sử rằng các thành phần sau ngăn xếp. Mỗi thành phần có một lề dưới Lưu ý rằng phần tử cuối cùng có lề. Điều này không chính xác vì lề chỉ nên nằm giữa các phần tử Nó có thể được sửa bằng một trong các giải pháp dưới đây Giải pháp 1 - Bộ chọn CSS .element span {
display: inline-block;
padding-top: 1rem;
padding-bottom: 1rem;
}
|