Tùy chọn CSS đã chọn
Trong một thời gian dài, thật khó để tạo kiểu cho phần tử trên tất cả các trình duyệt. Hóa ra, một tập hợp các phong cách hợp lý có thể tạo ra một hộp lựa chọn nhất quán và hấp dẫn trên các trình duyệt mới trong khi vẫn ổn trong các trình duyệt cũ hơn. Có một số thành phần của hộp chọn có thể được tạo kiểu, đặc biệt là chiều cao, chiều rộng, phông chữ, đường viền, màu, phần đệm, bóng hộp và màu nền. Tiêu đề của tài liệu. hộp { chiều rộng. 120px; . 30px; . 1px cố định #999; . 18px; . #1c87c9; . #eee; . 5px; . 4px 4px #ccc; Show
Hộp chọn theo kiểu Một hộp chọn bình thường Hộp chọn theo kiểu Tuy nhiên, mũi tên thả xuống khó chịu liên tục giữ nguyên. Không có cách trực tiếp để tạo kiểu cho nó, nhưng có một số thủ thuật có thể được sử dụng để thay đổi mũi tên thả xuống mặc định. Hãy thảo luận về một số phương pháp dưới đây Để ẩn mũi tên mặc định của trình đơn thả xuống, hãy đặt thuộc tính giao diện CSS thành giá trị "không", sau đó thêm mũi tên riêng của bạn với sự trợ giúp của thuộc tính tốc ký nền. Lưu ý rằng thuộc tính xuất hiện vẫn được coi là công nghệ thử nghiệm và bạn cần sử dụng tiền tố -moz- (đối với Firefox) và -webkit- (đối với Chrome, Safari, Opera) để tương thích tối đa với trình duyệt. Tiêu đề của tài liệu select { chiều rộng. 140px; . 35px; . 5px 35px 5px 5px; . 18px; . 2px rắn #ccc; . không ai; . không ai; . không ai; . url("/uploads/media/default/0001/02/f7b4d3d2ba3fe1d8518e6e63d7740e1e73921abf. png") 96%/15% không lặp lại #eee; } Đầu tiên, đặt phần tử hộp vào vùng chứa có chiều rộng cố định và đặt phần tràn thành "ẩn". Sau đó, cung cấp cho phần tử chiều rộng lớn hơn 20 pixel so với chiều rộng yếu tố. Điều này sẽ ẩn mũi tên thả xuống mặc định (vì tràn. ẩn trên vùng chứa), và bây giờ có thể áp dụng hình nền ở phía bên phải của . Phương pháp này rất tốt để sử dụng vì tất cả các trình duyệt đều hỗ trợ tràn hiệu quả. ẩn giấu Lưu ý rằng nhược điểm của phương pháp này là các tùy chọn được mở rộng trực quan hơn so với menu chọn
Thuộc tính sự kiện con trỏ CSS có thể được sử dụng để tạo danh sách thả xuống riêng lẻ, bằng cách phủ một phần tử lên mũi tên thả xuống gốc (để tạo tùy chỉnh) và không cho phép sự kiện con trỏ trên đó. Phương pháp này hoạt động tốt và có hỗ trợ trình duyệt tuyệt vời. Khá đẹp khi sử dụng các dấu ưa thích của bạn thay vì dấu hiệu thả xuống khó chịu của hộp Đặt các dấu trong thuộc tính nội dung và đặt phông chữ tương ứng để trông đẹp mắt. Ở đây, chúng tôi đặt "Consolas" và "monospace". Sau đó, bạn cần xoay các dấu chấm câu bằng thuộc tính biến đổi CSS Ở đây, hộp được chèn vào một phần tử để chúng ta có thể đặt con trỏ cho nó ngay cả khi thuộc tính pointer-events được đặt thành "none". Tiêu đề của tài liệu select { chiều rộng. 140px; . 35px; . 4px; . 4px; . 2px 2px 8px #999; . #eee; . không ai; . không ai; . chặn Nội tuyến; . không ai; . không ai; . không ai; . con trỏ; . quan hệ; . sau { nội dung. ''; . 11px "Consolas", đơn cách; . #666; . xoay (90 độ); . xoay (90 độ); . xoay (90 độ); . 8px; . 2px; . 0 0 2px; . 1px rắn #ddd; . tuyệt đối; . không ai; . trước { nội dung. ''; . 6px; . 0px; . 20px; . 20px; . #eee; . tuyệt đối; . không ai; . khối; Tôi muốn giới thiệu với bạn một điều khiển biểu mẫu thử nghiệm mới có tên là 8. Chúng ta sẽ tìm hiểu sâu về nó, bao gồm cả việc tạo kiểu dễ dàng hơn bao nhiêu so với phần tử 9 truyền thống. Nhưng trước tiên, hãy điền vào một số bối cảnh về lý do tại sao một thứ như 8 lại cần thiết ngay từ đầu, vì nó vẫn đang phát triển và đang trong quá trình phát triểnHãy hỏi bất kỳ nhà phát triển web nào mà họ nghĩ rằng nền tảng web ngày nay còn thiếu điều gì, rất có thể khả năng tạo kiểu cho các điều khiển biểu mẫu sẽ nằm trong danh sách của họ. Trên thực tế, kiểu dáng biểu mẫu đã được bình chọn là một trong 10 điều còn thiếu hàng đầu trong Khảo sát trạng thái CSS năm 2020. Sau đó, Greg Whitworth đã khảo sát thêm, người đã chỉ ra rằng 9 là nhà phát triển web kiểm soát gặp nhiều vấn đề nhất khi tạo kiểu với CSSMặc dù việc tạo kiểu cho giao diện của phần nút của 9 (thứ bạn nhìn thấy trong trang khi đóng cửa sổ bật lên) tương đối dễ dàng nhưng hầu như không thể tạo kiểu cho các tùy chọn (thứ bạn nhìn thấy khi cửa sổ bật lên mở), hãy để Giao diện người dùng mặc định cho phần tử 9 trong SafariDo đó, các hệ thống thiết kế và thư viện thành phần đã triển khai các lựa chọn của riêng chúng, được tạo từ đầu bằng cách sử dụng đánh dấu HTML tùy chỉnh, CSS và thường là rất nhiều JavaScript để có thứ gì đó tích hợp độc đáo với các thành phần khác Thật không may, làm như vậy một cách chính xác với ngữ nghĩa trợ năng phù hợp, hỗ trợ bàn phím và định vị cửa sổ bật lên không dễ dàng. Các nhà phát triển web đã dành hàng giờ đồng hồ trong nhiều năm, cố gắng giải quyết lặp đi lặp lại cùng một vấn đề và có rất nhiều lựa chọn không thể truy cập được ngoài kia Đã đến lúc chúng ta có một 9 tích hợp có thể tạo kiểu phù hợp để chúng ta không phải viết mã này nữaSáng kiến giao diện người dùng mởGiao diện người dùng mở là một nhóm các nhà phát triển, nhà thiết kế và người triển khai trình duyệt đã đặt mục tiêu giải quyết chính xác vấn đề này và trong khi giải quyết vấn đề đó, họ cũng giải quyết các điều khiển còn thiếu khác The purpose of Open UI is to eventually make it possible for web developers to style and extend built-in UI controls (this includes Dự án vẫn còn ở giai đoạn sơ khai, nhưng mọi thứ đang tiến triển nhanh chóng và như chúng ta sẽ thấy bên dưới, những điều thú vị đã và đang xảy ra Bạn có thể tham gia nhóm và tham gia vào các cuộc họp, nghiên cứu và nỗ lực đặc tả Điều khiển
Choose an option
Dựa trên đề xuất 9 của Open UI, việc triển khai một điều khiển 8 mới đã bắt đầu trong Chromium. Công việc được thực hiện bởi nhóm Microsoft Edge, phối hợp với nhóm Google Chrome. Tính năng này thậm chí đã có sẵn trong các trình duyệt dựa trên Chromium bằng cách bật cờ "Các tính năng của Nền tảng web thử nghiệm" trong 6 8 là một điều khiển tích hợp mới cung cấp trải nghiệm người dùng lựa chọn tùy chọn, giống như 9, với một nút hiển thị nhãn giá trị đã chọn, một cửa sổ bật lên xuất hiện khi nhấp vào nút đó và một danh sách các tùy chọn được hiển thịTại sao một cái tên mới?Tại sao không chỉ thay thế điều khiển 9 hiện có? Quan trọng hơn, điều khiển 9 hiện tại đã được sử dụng trên web trong một thời gian rất dài. Như vậy, nó có thể không bao giờ được thay đổi theo bất kỳ cách quan trọng nào mà không gây ra các vấn đề tương thích lớnVì vậy, kế hoạch (và hãy nhớ rằng tất cả điều này vẫn còn rất thử nghiệm) là để 8 trở thành một biện pháp kiểm soát mới, độc lập với 9Hãy dùng thử ngay hôm nayĐiều này chưa sẵn sàng để sử dụng sản xuất, nhưng nếu bạn hào hứng với việc sử dụng nó như tôi, thì đây là cách
Đó là nó. Theo mặc định, nó sẽ không làm được gì nhiều, nhưng như chúng ta sẽ thấy sau này, bạn sẽ có thể tạo kiểu và mở rộng quyền kiểm soát khá rộng rãi với một lần thay đổi tên thẻ này Chúng tôi thích phản hồiTrước khi chúng tôi đi vào cách sử dụng điều khiển, nếu bạn sử dụng nó, nhóm Giao diện người dùng mở và những người làm việc về triển khai trong Chromium rất muốn nghe phản hồi của bạn nếu bạn có bất kỳ Bằng cách trở thành người thử nghiệm sớm, bạn có thể tích cực giúp họ kiểm soát tốt hơn cho mọi người. Vì vậy, nếu bạn gặp lỗi hoặc hạn chế với thiết kế của điều khiển, vui lòng gửi phản hồi của bạn bằng cách tạo sự cố trên kho lưu trữ Open UI GitHub Và bây giờ, hãy nói về cách điều khiển hoạt động Giải phẫu của một điều khiển
Choose an option
Bởi vì các phần khác nhau của menu chọn có thể được tạo kiểu, điều quan trọng trước tiên là phải hiểu giải phẫu bên trong của nó
hành vi mặc địnhHành vi mặc định của điều khiển 8 bắt chước hành vi của điều khiển 9. Bạn có thể sử dụng nó giống như một 9 bản địa, với đánh dấu tối thiểu sau 1Khi làm như vậy, mặc định 8, 9 và 41 > được tạo cho bạnCác bộ phận tạo kiểu của điều khiểnĐây là nơi mọi thứ trở nên thú vị. Một cách để tạo kiểu cho điều khiển để phù hợp với yêu cầu của bạn là sử dụng phần tử giả CSS 42 để chọn các phần khác nhau trong cấu trúc của điều khiển mà bạn muốn tạo kiểuXem xét ví dụ sau trong đó 42 được sử dụng để tạo kiểu cho nút và các phần của hộp danh sách
Ví dụ trên dẫn đến phong cách sau 42 có thể được sử dụng để tạo kiểu cho các phần 8, 9 và 1 của điều khiểnSử dụng đánh dấu của riêng bạnNếu những điều trên không đủ cho nhu cầu của bạn, bạn có thể tùy chỉnh điều khiển nhiều hơn nữa bằng cách cung cấp đánh dấu của riêng bạn để thay thế đánh dấu mặc định và mở rộng hoặc sắp xếp lại các bộ phận Một 8 có các vị trí được đặt tên có thể được tham chiếu để thay thế các phần mặc định. Ví dụ: để thay thế nút mặc định bằng nút của riêng bạn, bạn có thể thực hiện như sau
Thuộc tính 49 trên 40 bên ngoài yêu cầu 8 thay thế nút mặc định của nó bằng nội dung của 40Thuộc tính 43 trên 8 bên trong cho trình duyệt biết rằng phần tử này là thứ mà chúng tôi muốn sử dụng làm nút mới. Trình duyệt sẽ tự động áp dụng tất cả hành vi xử lý nhấp chuột và bàn phím cho phần tử này cũng như ngữ nghĩa trợ năng phù hợpĐoạn mã trên cho kết quả theo kiểu sau Lưu ý rằng các thuộc tính 45 và 46 cũng có thể được sử dụng trên cùng một phần tửBạn có thể thay thế phần listbox mặc định theo cách tương tự
Thật thú vị, 47 được sử dụng ở đây cũng đang được đề xuất bởi Open UI và được triển khai trong Chromium vào lúc nàyPhần tử có 48 bắt buộc phải là một 47. Áp dụng 48 yêu cầu trình duyệt mở phần tử này khi nhấp vào nút 8 và người dùng có thể chọn 2 bên trong nó bằng chuột, phím mũi tên và chạmĐoạn mã trên cho kết quả theo kiểu sau Mở rộng đánh dấuBạn không chỉ có thể thay thế các phần mặc định bằng phần của riêng mình, như đã thấy ở trên, mà bạn còn có thể mở rộng phần đánh dấu của điều khiển bằng cách thêm các phần tử mới. Điều này có thể hữu ích để tăng thêm hộp danh sách hoặc nút với thông tin bổ sung hoặc để thêm chức năng mới Xem xét ví dụ sau 4Ở đây, chúng tôi đang sử dụng đánh dấu tùy chỉnh để bọc danh sách các tùy chọn và tạo nội dung của riêng mình như bên dưới Thay thế toàn bộ DOM bóng tốiCuối cùng, và nếu những điều trên vẫn chưa đủ, bạn cũng có thể mở rộng đánh dấu của điều khiển bằng cách thay thế hoàn toàn DOM bóng mặc định của nó bằng cách gọi 83. Ví dụ demo ở phần trước có thể sửa lại như sau 4Được viết theo cách này, đánh dấu tùy chỉnh của 8 được gói gọn hoàn toàn trong DOM bóng tối của nó. Do đó, 8 có thể được thả vào bất kỳ trang nào mà không có nguy cơ bị ảnh hưởng bởi phong cách của nội dung xung quanhĐóng nhận xétNhư chúng ta đã thấy, điều khiển 8 thử nghiệm mới mang lại rất nhiều tính linh hoạt khi tạo kiểu và thậm chí mở rộng một 9 truyền thống. Và nó thực hiện điều này theo tất cả các cách phù hợp, bởi vì nó được tích hợp vào trình duyệt, nơi xử lý khả năng truy cập và định vị nhận biết cổng xem cho bạnGiao diện người dùng mở có nhiều tài liệu hơn về 8 và nếu bạn muốn xem thêm mã cho biết cách sử dụng 8, đây cũng là một vài bản trình diễnMột lần nữa, đây là công việc đang được tiến hành và chắc chắn sẽ thay đổi do phản hồi mà nhóm Giao diện người dùng mở nhận được Tôi nóng lòng muốn thấy các thông số kỹ thuật bắt đầu xuất hiện trong các nội dung tiêu chuẩn của HTML và CSS và để việc triển khai trở nên ổn định hơn, cũng như thấy các công cụ trình duyệt khác quan tâm đến điều này. Bạn có thể giúp thực hiện điều này. Kiểm tra quyền kiểm soát, báo cáo sự cố hoặc tham gia đều là những cách tuyệt vời để thúc đẩy nỗ lực này tiến lên Tùy chọn được chọn là gì?Lựa chọn tùy chọn là một chiến thuật trong đó người chơi tận dụng các hệ thống ưu tiên đầu vào nhất định để xử lý nhiều tình huống khác nhau cùng một lúc từ cùng một đầu vào. Some Option Selects take advantage of Screen Freeze, others use the Input System, and some use proximity.
Cái gì được chọn trong thẻ tùy chọn?Thẻ xác định tất cả các tùy chọn có thể có để chọn từ . |