Tôi nghĩ rằng bạn có thể thực hiện điều này bằng cách thay đổi CSS cho Show
Trình duyệt webkit đơn giản (Chrome trên Windows) Giải pháp cụ thểGiải pháp sau đây là
Đây là fiddle cho nó. Warning:
Update: Sau khi nhiều độc giả phàn nàn rằng giải pháp nói trên không hoạt động cho một số trình duyệt nhất định, tôi đang cập nhật câu trả lời. Chăm sóc các triển khai cụ thể của nhà cung cấp:
Cách kích hoạt lựa chọn Dom Shadow trong Chrome
Một số tư vấn miễn phí không được yêu cầu cho ::-webkit-slider-thumb7
Ngoài ra, như @paulitto gợi ý, các phương thức DOM có thể được thực hiện sau khi xóa thuộc tính 8 khỏi phần tử 5. Tham khảo hướng dẫn này để biết thêm. Sau đây là một bài đăng của khách của Sara Soueidan. Tôi biết Sara thông qua tất cả các tác phẩm xuất sắc của cô ấy trên Codepen. Cô đã làm việc trên một số điều khiển video HTML5 tùy chỉnh và nhận thấy rằng các tùy chỉnh đã bị mất khi video chuyển sang chế độ toàn màn hình (ví dụ về điều đó xảy ra). Đào vào Shadow Dom, Sara tìm thấy một giải pháp Nếu bạn đã từng làm việc với video HTML5 thì có lẽ bạn đã tự hỏi làm thế nào bạn có được một loạt các nút điều khiển, thanh trượt và ngón tay cái trượt trên trang của bạn, khi bạn chỉ thêm một thẻ 5 vào DOM.Các trình duyệt thêm các điều khiển này dưới dạng một cây con Sub Sub của thẻ video vào kết xuất của tài liệu. Các yếu tố này (nút, thanh trượt, v.v.) là một phần của DOM, nhưng bạn có thể thực sự nhìn thấy chúng trong cây Dom chính, bạn chỉ thấy chúng được hiển thị trên trang. Nhiều hơn về điều này trong thời gian ngắn. Vấn đề điều khiển video HTML5 ở chế độ toàn màn hìnhTrong khi làm việc trên một khung video HTML5 tùy chỉnh gần đây, tôi đã tình cờ thấy một vấn đề mà rất nhiều nhà thiết kế và nhà phát triển vấp ngã trong lĩnh vực này. Thay vì hiển thị các điều khiển tùy chỉnh mà tôi đang thực hiện, các điều khiển trình duyệt gốc xuất hiện trên video khi nó vào chế độ toàn màn hình. Giống như rất nhiều người khác, tôi đã tìm kiếm xung quanh để tìm câu trả lời cho vấn đề này nhưng không gặp may mắn khi tìm thấy bất kỳ. (Cập nhật: Lỗi này được nộp trong Trình theo dõi lỗi Chrome). Sau một số kiểm tra trong các công cụ phát triển, tôi thấy rằng:
Làm thế nào để chúng ta làm cho công việc này? Làm thế nào để chúng tôi ngăn các điều khiển gốc xuất hiện ở chế độ toàn màn hình và hiển thị các điều khiển theo kiểu tùy chỉnh của riêng chúng tôi? Điểm thứ hai rất dễ dàng: Chỉ cần ghi đè lên biểu định kiểu tác nhân người dùng. Chúng tôi làm điều đó tất cả thời gian trong các kiểu dáng của chúng tôi. Chúng tôi sẽ sớm nhận được điều này. Nhưng những gì về điểm đầu tiên? Làm thế nào chúng ta có thể ẩn các yếu tố mà trình duyệt nói thêm nhưng chúng ta có thể thấy trong cây Dom mà chúng ta đang làm việc? Lưu ý rằng kỹ thuật được giải thích trong bài viết này để ẩn các điều khiển gốc chỉ hoạt động trong các trình duyệt hỗ trợ Shadow Dom. Giới thiệu nhanh về Shadow DomSubtree của các phần tử dom được tạo bởi trình duyệt là cái mà chúng ta gọi là bóng tối của Dom Dom. Nói một cách rõ ràng, đó là một loạt các yếu tố DOM, giống như những yếu tố bạn đã quen thuộc, như 4 và 5s, được trình duyệt thêm vào như một đoạn tài liệu và được hiển thị trên trang giống như cây chính của Dom .James Edwards tóm tắt chức năng của Shadow Dom một cách hoàn hảo trong bài viết của mình cho SitePoint:
Lý do tại sao các trình duyệt làm điều này là do các nhà phát triển trình duyệt quyết định gói gọn một số yếu tố DOM để ẩn chúng với các nhà phát triển chúng tôi, vì vậy chúng tôi không quan tâm đến việc thực hiện các chi tiết của các yếu tố này, trong nỗ lực giúp chúng tôi dễ dàng hơn. Ngoài ra, như James Edwards cũng đã nói trong bài viết của mình:
Vì vậy, bây giờ chúng tôi biết rằng các điều khiển được thêm vào thẻ video chỉ là một phần của cây con Dom Dom được tạo cho thẻ này bởi trình duyệt. Che giấu các điều khiển video gốcChúng ta cần có khả năng tạo kiểu cho các điều khiển là một phần của Shadow Dom, nhưng làm thế nào để chúng ta làm điều đó nếu các bộ chọn CSS thông thường mà chúng ta biết có thể truy cập vào các yếu tố Dom Shadow? Sau khi đọc bài viết giới thiệu tuyệt vời này của Dimitri Glazkov, tôi đã học được rằng, có một khả năng thuộc tính giả tiện dụng, cho phép Shadow Dom Subtrees liên kết một mã định danh giả giả tùy tiện với một yếu tố trong phần con. Điều đó có nghĩa là một số yếu tố bên trong Subtree Shadow Dom có thể được tạo kiểu bằng cách nhắm mục tiêu chúng thông qua yếu tố giả liên quan của chúng. Nghe thật tuyệt! Nhưng làm thế nào để chúng ta xác định yếu tố giả nào được liên kết với phần tử DOM bóng mà chúng ta cần tạo kiểu? Một số yếu tố ít nhiều được biết đến, giống như đầu vào phạm vi, có sẵn phần tử giả để tạo ra ngón tay cái của nó trong các trình duyệt WebKit
Firefox cũng cung cấp hai yếu tố giả cho các đầu vào phạm vi kiểu ngay bây giờ khi nó hỗ trợ chúng bắt đầu từ phiên bản 23.0:
và
Nhưng những gì về các yếu tố giả ít được biết đến khác liên quan đến các yếu tố Dom Shadow khác? Những yếu tố giả nào được liên kết với họ? Để tìm hiểu, các công cụ Chrome Dev đến giải cứu! Xác định các yếu tố giả liên quan đến các yếu tố DOM bóng tốiMột trong những tính năng tuyệt vời của các công cụ Chrome Dev là bạn có thể kiểm tra các mục tiêu của Shadow Dom trong bảng điều khiển các yếu tố giống như bạn sẽ kiểm tra cây Dom Dom thông thường. Tất cả những gì bạn phải làm là kích hoạt tính năng này:
Bây giờ, khi bạn kiểm tra phần tử 5, bạn sẽ nhận được một cái gì đó tương tự như ảnh chụp màn hình bên dưới: 5 như được kiểm tra với các công cụ Chrome Dev cho thấy một fragment #tài liệu mớiSau đó, giống như bạn có thể nhận được các quy tắc kiểu cho bất kỳ phần tử HTML nào nếu bạn nhấp vào nó trong bảng yếu tố, bạn có thể thấy các yếu tố giả liên quan đến cây con của bóng tối. Khá gọn gàng, hả? :) 4 bên trong cây con Dom Shadow DomVì vậy, đối với các điều khiển video, chúng ta có thể thấy từ ảnh chụp màn hình rằng có một phần tử giả gọi là 9, như tên này chỉ ra rõ ràng, được liên kết với các thẻ chứa các điều khiển phương tiện.Đặt 0 trên phần tử giả này che giấu phần tử hoàn toàn ở chế độ bình thường và toàn màn hình.
Nhưng hãy nhớ rằng phần tử giả này được liên kết với 4 ngoài cùng trong cây con, sẽ chứa các điều khiển phương tiện, tất cả các loại điều khiển phương tiện, điều đó có nghĩa là nếu bạn có thẻ 2 ở đâu đó trên trang, bạn sẽ ẩn Các điều khiển cho yếu tố truyền thông đó là tốt.Vì vậy, trừ khi bạn muốn ẩn tất cả các điều khiển phương tiện gốc của trình duyệt, bạn sẽ cần chỉ định loại điều khiển phương tiện nào cần ẩn yếu tố giả:
Điều này sẽ ẩn hoàn toàn các điều khiển gốc. Một tùy chọn khác là bạn có thể đi sâu hơn trong cây con để tìm phần tử giả liên quan đến bên trong và cụ thể hơn 3 chứa các điều khiển thực tế: các nút, thanh trượt, v.v., và ẩn nó.Vì vậy, đi sâu hơn một cấp, chúng tôi có được phần tử giả liên quan đến bên trong 3:
Đặt thuộc tính 5 của yếu tố giả này thành 6 sẽ ẩn hoàn toàn các điều khiển gốc, ở cả chế độ bình thường và toàn màn hình. Bạn cũng có thể thấy rằng phần tử giả này cụ thể hơn về phạm vi (phần tử video) và 3 Nó liên kết với: 3 kèm theo các phần tử điều khiển thực tế.Và điều đó khá nhiều tất cả những gì bạn cần làm để ẩn các điều khiển gốc ở chế độ toàn màn hình. Đơn giản, phải không? Hiển thị các điều khiển video tùy chỉnhĐối với các điều khiển tùy chỉnh, chúng vẫn không xuất hiện trong bản demo của tôi sau khi ẩn các bản gốc, bởi vì, như bạn đã thấy trong ảnh chụp màn hình ở trên, bảng kiểu tác nhân người dùng có giá trị cho chỉ số z thành toàn bộ Chế độ màn hình: Tôi không biết tại sao các nhà phát triển chọn giá trị này nói riêng, nhưng có thể là do, như Nate Volker đã chỉ ra trong nhận xét của mình dưới đây rằng số này là giá trị tối đa cho số nguyên có chữ ký 32 bit, có thể là kiểu dữ liệu của trình duyệt Các nhà phát triển sử dụng để biểu diễn các giá trị cho chỉ số z. Vì vậy, để đảm bảo các điều khiển tùy chỉnh có thể hiển thị, bạn cần đặt chỉ số z cho các điều khiển tùy chỉnh bằng hoặc cao hơn giá trị này.set the z-index for the custom controls to be equal to or higher than this value. Đặt nó thành 2147483646 đã làm cho các điều khiển biến mất ở chế độ toàn màn hình trên Firefox và đôi khi (một lỗi?), Trong Chrome, vì vậy chỉ số Z cho thùng chứa điều khiển phải> = 2147483647.
Bản tóm tắtĐể ẩn các điều khiển gốc ở chế độ toàn màn hình trong các trình duyệt hỗ trợ bóng tối bạn cần:
Và điều đó khá nhiều nó! Thử nghiệmXem các điều khiển video HTML5 tùy chỉnh PEN trong toàn màn hình của Chris Coyier (@Chriscoyier) trên CodePen. Thế còn các trình duyệt khác mà don ủng hộ Shadow Dom?Trong khi làm việc, tôi cũng đã kiểm tra kết quả trong Firefox. Đặt 3 thành giá trị được đề cập ở trên làm cho các điều khiển tùy chỉnh cũng xuất hiện ở chế độ toàn màn hình của Firefox, do đó, hiển thị các điều khiển rất dễ dàng, nhưng giải pháp DOM Shadow không hoạt động vì Firefox chưa hỗ trợ, vì vậy các điều khiển gốc cũng Vẫn xuất hiện ở chế độ toàn màn hình.Chắc chắn, bạn có thể mong đợi hành vi tương tự trong các trình duyệt khác mà không ủng hộ Shadow Dom. Cách duy nhất mà tôi tìm thấy để ẩn các điều khiển gốc trong các trình duyệt này là bao gồm các điều khiển gốc bằng các điều khiển tùy chỉnh, bằng cách định vị các điều khiển tùy chỉnh trên đầu chúng bằng cách sử dụng các kiểu CSS đơn giản và cơ bản nhắm mục tiêu vào chế độ toàn màn hình. Điều này che giấu các điều khiển gốc, nhưng cũng có một giới hạn: các điều khiển tùy chỉnh có thể có một nền tảng trong suốt, nếu không các điều khiển gốc sẽ hiển thị thông qua. Có một giải pháp khả thi khác ở đây. Ông James Edwards đã lưu ý trong nhận xét của mình dưới đây rằng các điều khiển gốc có thể được ẩn trong chế độ toàn màn hình theo cách khác, mà không phải sử dụng Shadow Dom, bằng cách áp dụng chế độ toàn màn hình cho một phần tử, ví dụ, Làm thế nào để bạn ẩn các điều khiển của một video trong HTML?Chúng ta có thể ẩn các điều khiển bằng cách không thêm thuộc tính điều khiển vào phần tử video.Ngay cả khi không có thuộc tính điều khiển trên các phần tử, người dùng có thể xem phần Điều khiển bằng cách nhấp chuột phải vào video và cho phép các điều khiển hiển thị.not adding the controls attribute to the video element. Even without controls attribute on the elements the user can view the controls section by right-clicking on the video and enabling the show controls .
Làm thế nào tôi có thể ẩn một video HTML5 khi nó hoàn thành chơi?1 câu trả lời.. Nhận đối tượng video .. Thêm một người nghe video để nghe khi nó kết thúc (kết thúc). Đặt kiểu hiển thị thành không .. Làm cách nào để tạo một thẻ video toàn màn hình?Example.. / * Kiểu video: chiều rộng và chiều rộng 100% để bao phủ toàn bộ cửa sổ */ #MyVideo {vị trí: Đã sửa;Phải: 0;Dưới cùng: 0;.... / * Thêm một số nội dung ở cuối video/trang */.Content {vị trí: đã sửa;Dưới cùng: 0;.... / * Kiểu nút được sử dụng để tạm dừng/phát video */#MyBtn {width: 200px;kích thước phông chữ: 18px ;. Cú pháp chính xác để thêm video MP4 có thể điều khiển được của người dùng vào HTML là gì?Thuộc tính điều khiển HTML.. . . . . |