Hướng dẫn bootstrap 5.1 overlay - lớp phủ bootstrap 5.1

Mặc dù các trang bắt đầu cung cấp một chuyến tham quan giới thiệu về dự án và những gì nó cung cấp, tài liệu này tập trung vào lý do tại sao chúng tôi làm những việc chúng tôi làm trong Bootstrap. Nó giải thích triết lý của chúng tôi để xây dựng trên web để những người khác có thể học hỏi từ chúng tôi, đóng góp với chúng tôi và giúp chúng tôi cải thiện.

Nhìn thấy một cái gì đó không có vẻ đúng, hoặc có lẽ có thể được thực hiện tốt hơn? Mở một vấn đề mà chúng tôi rất thích thảo luận với bạn.

Bản tóm tắt

Chúng tôi sẽ đi sâu vào từng điều này nhiều hơn, nhưng ở cấp độ cao, ở đây, những gì hướng dẫn cách tiếp cận của chúng tôi.

  • Các thành phần phải đáp ứng và đầu tiên trên thiết bị di động
  • Các thành phần phải được xây dựng với một lớp cơ sở và được mở rộng thông qua các lớp sửa đổi
  • Các trạng thái thành phần nên tuân theo thang số Z phổ biến
  • Bất cứ khi nào có thể, hãy thích triển khai HTML và CSS hơn JavaScript
  • Bất cứ khi nào có thể, hãy sử dụng các tiện ích qua các kiểu tùy chỉnh
  • Bất cứ khi nào có thể, tránh thực thi các yêu cầu HTML nghiêm ngặt (người chọn trẻ em)

Phản ứng nhanh nhẹn

Các phong cách đáp ứng của Bootstrap, được xây dựng để đáp ứng, một cách tiếp cận mà Lọ thường được gọi là đầu tiên trên thiết bị di động. Chúng tôi sử dụng thuật ngữ này trong tài liệu của chúng tôi và phần lớn đồng ý với nó, nhưng đôi khi nó có thể quá rộng. Mặc dù không phải mọi thành phần phải hoàn toàn đáp ứng trong Bootstrap, nhưng cách tiếp cận đáp ứng này là về việc giảm quá trình ghi đè CSS bằng cách đẩy bạn thêm kiểu khi chế độ xem trở nên lớn hơn.

Trên khắp Bootstrap, bạn sẽ thấy điều này rõ ràng nhất trong các truy vấn truyền thông của chúng tôi. Trong hầu hết các trường hợp, chúng tôi sử dụng các truy vấn min-width bắt đầu áp dụng tại một điểm dừng cụ thể và mang theo các điểm dừng cao hơn. Ví dụ, .d-none áp dụng từ min-width: 0 đến vô cùng. Mặt khác, .d-md-none áp dụng từ điểm dừng trung bình và lên.

Đôi khi chúng tôi sẽ sử dụng max-width khi một thành phần phức tạp vốn có của thành phần yêu cầu. Đôi khi, các ghi đè này có chức năng và tinh thần rõ ràng hơn để thực hiện và hỗ trợ hơn là viết lại chức năng cốt lõi từ các thành phần của chúng tôi. Chúng tôi cố gắng hạn chế phương pháp này, nhưng thỉnh thoảng sẽ sử dụng nó.

Các lớp học

Bên cạnh việc khởi động lại của chúng tôi, một phong cách chuẩn hóa chéo trình duyệt, tất cả các phong cách của chúng tôi nhằm mục đích sử dụng các lớp làm bộ chọn. Điều này có nghĩa là điều khiển các bộ chọn loại (ví dụ: input[type="text"]) và các lớp cha mẹ bên ngoài (ví dụ: .parent .child) làm cho các kiểu quá cụ thể để dễ dàng ghi đè.

Do đó, các thành phần nên được xây dựng với một lớp cơ sở chứa các cặp giá trị tài sản phổ biến, không được ghi đè. Ví dụ, .btn.btn-primary. Chúng tôi sử dụng .btn cho tất cả các phong cách chung như .d-none0, .d-none1 và .d-none2. Sau đó, chúng tôi sử dụng các công cụ sửa đổi như .btn-primary để thêm màu, màu nền, màu đường viền, v.v.

Các lớp sửa đổi chỉ nên được sử dụng khi có nhiều thuộc tính hoặc giá trị được thay đổi trên nhiều biến thể. Các công cụ sửa đổi không phải lúc nào cũng cần thiết, vì vậy hãy chắc chắn rằng bạn thực sự lưu các dòng mã và ngăn chặn các ghi đè không cần thiết khi tạo chúng. Ví dụ tốt về các sửa đổi là các lớp màu chủ đề của chúng tôi và các biến thể kích thước.

Thang điện Z-Chỉ số

Có hai thang đo .d-none4 trong các thành phần bootstrap trong một thành phần và lớp phủ.

Các yếu tố thành phần

  • Một số thành phần trong bootstrap được xây dựng với các yếu tố chồng chéo để ngăn chặn đường viền kép mà không sửa đổi thuộc tính .d-none5. Ví dụ, các nhóm nút, nhóm đầu vào và phân trang.
  • Các thành phần này có chung thang đo .d-none4 tiêu chuẩn từ .d-none7 đến .d-none8.
  • .d-none7 là mặc định (ban đầu), min-width: 00 là min-width: 01, min-width: 02 là ____ 23/________ 24 và .d-none8 là min-width: 06.
  • Cách tiếp cận này phù hợp với kỳ vọng của chúng tôi về ưu tiên người dùng cao nhất. Nếu một yếu tố được tập trung, thì nó sẽ được người dùng chú ý. Các yếu tố hoạt động là cao thứ hai vì chúng chỉ ra trạng thái. Hover là cao thứ ba vì nó chỉ ra ý định của người dùng, nhưng hầu hết mọi thứ đều có thể được bay lượn.

Lớp phủ thành phần

Bootstrap bao gồm một số thành phần hoạt động như một lớp phủ của một số loại. Điều này bao gồm, theo thứ tự .d-none4 cao nhất, thả xuống, Navbars cố định và dính, phương thức, chú giải công cụ và popover. Các thành phần này có thang đo .d-none4 của riêng chúng bắt đầu tại min-width: 09. Số bắt đầu này được chọn tùy ý và phục vụ như một bộ đệm nhỏ giữa các kiểu của chúng tôi và các kiểu tùy chỉnh dự án của bạn.

Mỗi thành phần lớp phủ tăng giá trị .d-none4 của nó một chút theo cách mà các nguyên tắc giao diện người dùng phổ biến cho phép các phần tử tập trung hoặc lơ lửng của người dùng luôn luôn được xem. Ví dụ: một phương thức là chặn tài liệu (ví dụ: bạn không thể thực hiện bất kỳ hành động nào khác để lưu cho hành động của phương thức), vì vậy chúng tôi đặt điều đó lên trên NAVBARS của chúng tôi.

Tìm hiểu thêm về điều này trong trang Bố cục .d-none4 của chúng tôi.

HTML và CSS trên JS

Bất cứ khi nào có thể, chúng tôi thích viết HTML và CSS qua JavaScript. Nói chung, HTML và CSS có nhiều người phát triển hơn và dễ tiếp cận hơn đối với nhiều người thuộc mọi cấp độ kinh nghiệm khác nhau. HTML và CSS cũng nhanh hơn trong trình duyệt của bạn so với JavaScript và trình duyệt của bạn thường cung cấp rất nhiều chức năng cho bạn.

Nguyên tắc này là API JavaScript hạng nhất của chúng tôi bằng các thuộc tính .d-md-none2. Bạn không cần phải viết gần như bất kỳ JavaScript nào để sử dụng các plugin JavaScript của chúng tôi; Thay vào đó, hãy viết HTML. Đọc thêm về điều này trong trang tổng quan JavaScript của chúng tôi.

Cuối cùng, phong cách của chúng tôi xây dựng dựa trên các hành vi cơ bản của các yếu tố web chung. Bất cứ khi nào có thể, chúng tôi thích sử dụng những gì trình duyệt cung cấp. Ví dụ: bạn có thể đặt một lớp .btn trên hầu hết mọi yếu tố, nhưng hầu hết các yếu tố don don cung cấp bất kỳ giá trị ngữ nghĩa hoặc chức năng trình duyệt nào. Vì vậy, thay vào đó, chúng tôi sử dụng .d-md-none4 và .d-md-none5s.

Điều tương tự cũng xảy ra đối với các thành phần phức tạp hơn. Mặc dù chúng tôi có thể viết plugin xác thực biểu mẫu của riêng mình để thêm các lớp vào phần tử cha dựa trên trạng thái đầu vào, do đó cho phép chúng tôi tạo kiểu văn bản nói màu đỏ, chúng tôi thích sử dụng ________ 36/________ 37 Các yếu tố giả mà mỗi trình duyệt cung cấp cho chúng tôi.

Tiện ích

Các lớp tiện ích Trợ giúp về Formly trong Bootstrap 3, là một đồng minh mạnh mẽ trong việc chống lại CSS Bloat và hiệu suất trang kém. Một lớp tiện ích thường là một cặp có giá trị thuộc tính bất biến, duy nhất được thể hiện dưới dạng một lớp (ví dụ: .d-md-none8 đại diện cho .d-md-none9). Sức hấp dẫn chính của họ là tốc độ sử dụng trong khi viết HTML và giới hạn số lượng CSS tùy chỉnh bạn phải viết.

Cụ thể liên quan đến CSS tùy chỉnh, các tiện ích có thể giúp chống lại việc tăng kích thước tệp bằng cách giảm các cặp giá trị thuộc tính được lặp lại phổ biến nhất của bạn thành các lớp đơn. Điều này có thể có một hiệu ứng mạnh mẽ ở quy mô trong các dự án của bạn.

HTML linh hoạt

Mặc dù không phải lúc nào cũng có thể, chúng tôi cố gắng tránh bị giáo điều quá mức trong các yêu cầu HTML của chúng tôi đối với các thành phần. Do đó, chúng tôi tập trung vào các lớp đơn trong các bộ chọn CSS của chúng tôi và cố gắng tránh các bộ chọn trẻ em ngay lập tức (max-width0). Điều này cung cấp cho bạn sự linh hoạt hơn trong việc thực hiện của bạn và giúp giữ cho CSS của chúng tôi đơn giản và ít cụ thể hơn.

Quy ước mã

Hướng dẫn mã (từ người đồng sáng tạo Bootstrap, @MDO) Cách chúng tôi viết HTML và CSS của chúng tôi trên Bootstrap. Nó chỉ định các hướng dẫn cho định dạng chung, mặc định thông thường, đơn đặt hàng thuộc tính và thuộc tính, v.v.

Chúng tôi sử dụng Stylelint để thực thi các tiêu chuẩn này và nhiều hơn trong SASS/CSS của chúng tôi. Cấu hình stylelint tùy chỉnh của chúng tôi là nguồn mở và có sẵn cho những người khác sử dụng và mở rộng.

Chúng tôi sử dụng VNU-JAR để thực thi HTML tiêu chuẩn và ngữ nghĩa, cũng như phát hiện các lỗi phổ biến.