Làm cách nào để tự động bao gồm điều hướng đầu trang và chân trang của bạn trên mọi trang trong HTML?
Đó không phải là nhiều. Vì vậy, khi bạn hoàn thành công việc trên trang đích và bắt đầu trên trang liên hệ, bạn chỉ cần tạo một tệp HTML mới và sao chép tất cả mã từ trang đầu tiên Show
Đầu trang và chân trang đã trông đẹp mắt và tất cả những gì bạn cần làm là thay đổi phần còn lại của nội dung Nhưng nếu khách hàng của bạn muốn 10 trang thì sao? Đột nhiên, bất kỳ thay đổi nào, dù nhỏ đến đâu, đều phải được lặp lại trên tất cả các tệp đó Đây là một trong những vấn đề lớn như React hoặc Handlebars. js giải quyết. bất kỳ mã nào, đặc biệt là những thứ có cấu trúc như đầu trang hoặc chân trang, có thể được viết một lần và dễ dàng sử dụng lại trong suốt dự án Cho đến gần đây, không thể sử dụng các thành phần trong vanilla HTML và JavaScript. Nhưng với sự ra đời của Thành phần web, có thể tạo các thành phần có thể tái sử dụng mà không cần sử dụng những thứ như React Thành phần web là gì?Thành phần web thực sự là tập hợp của một số công nghệ khác nhau cho phép bạn tạo các phần tử HTML tùy chỉnh Những công nghệ đó là
Chúng ta sẽ đi sâu vào từng vấn đề này một chút trong suốt hướng dẫn Cách sử dụng các mẫu HTMLPhần đầu tiên của câu đố là học cách sử dụng các mẫu HTML để tạo đánh dấu HTML có thể tái sử dụng Hãy xem một ví dụ về tin nhắn chào mừng đơn giản chỉ mục. htmlNếu bạn nhìn vào trang, cả phần tử 6 hoặc 7 đều không được hiển thị. Nhưng nếu bạn mở bảng điều khiển dành cho nhà phát triển, bạn sẽ thấy cả hai yếu tố đã được phân tích cú phápĐể thực sự hiển thị thông báo chào mừng, bạn sẽ cần sử dụng một chút JavaScript index. jsMặc dù đây là một ví dụ khá đơn giản, nhưng bạn đã có thể thấy việc sử dụng các mẫu giúp dễ dàng sử dụng lại mã trong một trang như thế nào. Vấn đề chính là, ít nhất là với ví dụ hiện tại, mã thông báo chào mừng được trộn lẫn với phần còn lại của nội dung trang. Nếu bạn muốn thay đổi thông báo chào mừng sau này, bạn sẽ cần thay đổi mã trên nhiều tệp Thay vào đó, bạn có thể kéo mẫu HTML vào tệp JavaScript, do đó, bất kỳ trang nào có JavaScript sẽ hiển thị thông báo chào mừng chỉ mục. html chỉ mục. jsBây giờ mọi thứ đã có trong tệp JavaScript, bạn không cần tạo phần tử 5 nữa – bạn có thể dễ dàng tạo một phần tử 9 hoặc 0Tuy nhiên, các phần tử 5 có thể được ghép nối với một phần tử 2, cho phép bạn thực hiện những việc như thay đổi văn bản cho các phần tử trong 5. Nó hơi nằm ngoài phạm vi của hướng dẫn này, vì vậy bạn có thể đọc thêm về các phần tử 2Cách tạo các phần tử tùy chỉnhMột điều bạn có thể nhận thấy với các mẫu HTML là có thể khó chèn mã của bạn vào đúng chỗ. Ví dụ về tin nhắn chào mừng trước đó vừa được thêm vào trang Nếu đã có nội dung trên trang, chẳng hạn như hình ảnh biểu ngữ, thì thông báo chào mừng sẽ xuất hiện bên dưới nội dung đó Là một phần tử tùy chỉnh, thông báo chào mừng của bạn có thể trông như thế này 4Và bạn có thể đặt nó ở bất cứ đâu bạn muốn trên trang Với ý nghĩ đó, chúng ta hãy xem các yếu tố tùy chỉnh và tạo các yếu tố đầu trang và chân trang giống như React của riêng chúng ta Cài đặtĐối với một trang web danh mục đầu tư, bạn có thể có một số mã soạn sẵn giống như thế này 5chỉ mục. html 6phong cách. cssMỗi trang sẽ có đầu trang và chân trang giống nhau, vì vậy sẽ rất hợp lý khi tạo một phần tử tùy chỉnh cho từng trang đó Hãy bắt đầu với tiêu đề Xác định phần tử tùy chỉnhĐầu tiên, tạo một thư mục có tên là 5 và bên trong thư mục đó, tạo một tệp mới có tên là 6 với mã sau 9 thành phần/tiêu đề. jsNó chỉ là một ES5 7 đơn giản khai báo thành phần 8 tùy chỉnh của bạn, với phương thức 9 và từ khóa 40 đặc biệt. Bạn có thể đọc thêm về những điều đó trên MDNBằng cách mở rộng lớp 41 chung, bạn có thể tạo bất kỳ loại phần tử nào bạn muốn. Cũng có thể mở rộng các yếu tố cụ thể như 42Đăng ký phần tử tùy chỉnh của bạnTrước khi bạn có thể bắt đầu sử dụng phần tử tùy chỉnh của mình, bạn cần phải đăng ký phần tử đó bằng phương thức 43 7thành phần/tiêu đề. jsPhương thức này có ít nhất hai đối số Đầu tiên là 44 bạn sẽ sử dụng khi thêm thành phần vào trang, trong trường hợp này là 45Tiếp theo là lớp của thành phần mà bạn đã tạo trước đó, ở đây, lớp 8Đối số thứ ba tùy chọn mô tả phần tử HTML hiện có nào mà phần tử tùy chỉnh của bạn kế thừa các thuộc tính từ đó, ví dụ: 47. Nhưng chúng tôi sẽ không sử dụng tính năng này trong hướng dẫn nàySử dụng Gọi lại vòng đời để thêm tiêu đề vào trangCó bốn lệnh gọi lại vòng đời đặc biệt dành cho các phần tử tùy chỉnh mà chúng tôi có thể sử dụng để nối phần đánh dấu tiêu đề vào trang. 48, 49, 50 và 51Trong số các cuộc gọi lại này, 48 là một trong những cuộc gọi được sử dụng phổ biến nhất. 48 chạy mỗi khi phần tử tùy chỉnh của bạn được chèn vào DOMBạn có thể đọc thêm về các callback khác Đối với ví dụ đơn giản của chúng tôi, 48 là đủ để thêm tiêu đề vào trang 9 thành phần/tiêu đề. jsSau đó, trong 55, thêm tập lệnh 56 và 45 ngay phía trên phần tử 58 0chỉ số. htmlVà thành phần tiêu đề có thể tái sử dụng của bạn sẽ được hiển thị trên trang Giờ đây, việc thêm tiêu đề vào trang dễ dàng như thêm thẻ 59 chỉ vào 56 và thêm 45 vào bất cứ đâu bạn muốnLưu ý rằng, vì tiêu đề và kiểu dáng của nó được chèn trực tiếp vào DOM chính, nên có thể tạo kiểu cho nó trong tệp 62Nhưng nếu bạn xem các kiểu tiêu đề có trong 48, chúng khá chung chung và có thể ảnh hưởng đến các kiểu khác trên trangVí dụ: nếu chúng tôi thêm Font Awesome và thành phần chân trang vào 55 1chỉ số. html 2thành phần/chân trang. jsĐây là giao diện của trang Kiểu dáng từ thành phần chân trang sẽ ghi đè kiểu dáng cho tiêu đề, thay đổi màu của liên kết. Đó là hành vi được mong đợi đối với CSS, nhưng sẽ rất tuyệt nếu kiểu dáng của từng thành phần nằm trong phạm vi của thành phần đó và sẽ không ảnh hưởng đến những thứ khác trên trang Chà, đó chính xác là nơi mà Shadow DOM tỏa sáng. Hay sắc thái? Cách sử dụng Shadow Dom với các yếu tố tùy chỉnhShadow DOM hoạt động như một phiên bản riêng biệt, nhỏ hơn của DOM chính. Thay vì hoạt động như một bản sao của DOM chính, Shadow DOM giống như một cây con chỉ dành cho phần tử tùy chỉnh của bạn. Mọi thứ được thêm vào Shadow DOM, đặc biệt là các kiểu, đều nằm trong phạm vi phần tử tùy chỉnh cụ thể đó Theo một cách nào đó, nó giống như sử dụng 65 và 66 thay vì 67Hãy bắt đầu bằng cách tái cấu trúc thành phần tiêu đề 3thành phần/tiêu đề. jsĐiều đầu tiên bạn cần làm là sử dụng phương pháp 68 để đính kèm gốc bóng tối vào phần tử thành phần tiêu đề tùy chỉnh của bạn. Trong 48, thêm đoạn mã sau 4 thành phần/tiêu đề. jsLưu ý rằng chúng tôi đang chuyển một đối tượng tới 68 với một tùy chọn, 91. Điều này chỉ có nghĩa là DOM bóng của thành phần tiêu đề không thể truy cập được từ JavaScript bên ngoàiNếu bạn muốn thao tác với shadow DOM của thành phần tiêu đề sau này bằng JavaScript bên ngoài tệp 56, chỉ cần thay đổi tùy chọn thành 93Cuối cùng, thêm 94 vào trang bằng phương pháp 95 5 thành phần/tiêu đề. jsVà bây giờ, vì các kiểu của thành phần tiêu đề được gói gọn trong Shadow DOM của nó, nên trang sẽ trông như thế này Và đây là thành phần chân trang được cấu trúc lại để sử dụng Shadow DOM 6 thành phần/chân trang. jsNhưng nếu bạn kiểm tra trên trang, bạn sẽ nhận thấy rằng các biểu tượng Font Awesome hiện đã bị thiếu Giờ đây, thành phần chân trang được gói gọn trong Shadow DOM của riêng nó, thành phần này không còn có quyền truy cập vào liên kết Font Awesome CDN trong 55Hãy xem nhanh lý do tại sao lại như vậy và cách để Font Awesome hoạt động trở lại Đóng gói và Shadow DOMMặc dù Shadow DOM không ngăn các kiểu từ các thành phần của bạn ảnh hưởng đến phần còn lại của trang, nhưng một số kiểu chung vẫn có thể rò rỉ qua các thành phần của bạn Trong các ví dụ trên, đây là một tính năng hữu ích. Ví dụ: thành phần chân kế thừa khai báo 97 được đặt trong 62. Điều này là do 99 là một trong số ít tài sản thừa kế, cùng với 70, 71, 72, v.v.Nếu bạn muốn ngăn hành vi này và tạo kiểu hoàn toàn cho từng thành phần từ đầu, bạn có thể làm điều đó chỉ với một vài dòng CSS 7 73 là bộ chọn giả chọn phần tử đang lưu trữ Shadow DOM. Trong trường hợp này, đó là thành phần tùy chỉnh của bạnSau đó, khai báo 74 đặt tất cả các thuộc tính CSS trở lại giá trị ban đầu của chúng. Và 75 làm điều tương tự cho thuộc tính 76 và đặt nó trở lại mặc định của trình duyệt, 77Để biết danh sách đầy đủ các thuộc tính kế thừa CSS, hãy xem câu trả lời này trên Stack Overflow Cách sử dụng phông chữ tuyệt vời với Shadow DOMBây giờ bạn có thể đang nghĩ, nếu 70, 71 và các thuộc tính CSS liên quan đến phông chữ khác là các thuộc tính có thể kế thừa, thì tại sao Font Awesome không tải ngay bây giờ khi thành phần chân trang đang sử dụng Shadow DOM?Hóa ra, đối với những thứ như phông chữ và các nội dung khác, chúng cần được tham chiếu trong cả DOM chính và DOM bóng để hoạt động bình thường May mắn thay, có một số cách đơn giản để khắc phục điều này Ghi chú. Tất cả các phương pháp này vẫn yêu cầu rằng Phông chữ tuyệt vời được bao gồm trong 55 với phần tử 91 như trong đoạn mã trên#1. Liên kết đến phông chữ tuyệt vời trong thành phần của bạnCách đơn giản nhất để Font Awesome hoạt động trong thành phần Shadow DOM của bạn là thêm một 91 vào nó trong chính thành phần đó 8 thành phần/chân trang. jsMột điều cần lưu ý là, mặc dù có vẻ như bạn đang khiến trình duyệt tải Font Awesome hai lần (một lần cho DOM chính và một lần nữa cho thành phần), các trình duyệt đủ thông minh để không tìm nạp lại cùng một tài nguyên Đây là tab mạng cho thấy rằng Chrome chỉ tải xuống Phông chữ tuyệt vời một lần #2. Nhập phông chữ tuyệt vời trong thành phần của bạnTiếp theo, bạn có thể sử dụng 93 và 94 để tải Font Awesome vào thành phần của mình 9Lưu ý rằng URL phải giống với URL bạn đang sử dụng trong 55#3. Sử dụng JavaScript để tự động tải phông chữ tuyệt vời cho thành phần của bạnCuối cùng, cách DRYest để tải Font Awesome trong thành phần của bạn là sử dụng một chút JavaScript 0thành phần/chân trang. jsPhương pháp này dựa trên câu trả lời này trên Stack Overflow và hoạt động khá đơn giản. Khi thành phần tải, tồn tại một phần tử ________ 391 trỏ đến Phông chữ tuyệt vời, sau đó nó được sao chép và nối vào các thành phần Shadow DOM Mã cuối cùngĐây là mã cuối cùng trên tất cả các tệp trông như thế nào và sử dụng phương pháp #3 để tải Phông chữ Tuyệt vời vào thành phần chân trang 1chỉ số. html 2phong cách. css 3thành phần/tiêu đề. js 4thành phần/chân trang. jsKết thúcChúng tôi đã đề cập rất nhiều ở đây và bạn có thể đã quyết định chỉ sử dụng React hoặc Handlebars. thay vào đó là js Đó là cả hai lựa chọn tuyệt vời Tuy nhiên, đối với một dự án nhỏ hơn, nơi bạn chỉ cần một vài thành phần có thể tái sử dụng, toàn bộ thư viện hoặc ngôn ngữ tạo khuôn mẫu có thể là quá mức cần thiết Hy vọng rằng bây giờ bạn đã tự tin để tạo các thành phần HTML có thể tái sử dụng của riêng mình. Bây giờ hãy ra khỏi đó và tạo ra thứ gì đó tuyệt vời (và có thể tái sử dụng) QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO Đọc thêm bài viết Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu Làm cách nào để tạo đầu trang và chân trang trong HTML bằng Bootstrap?Bạn có thể chỉ cần thêm Chân trang vào dự án Bootstrap của mình bằng cách sử dụng các mẫu được xác định trước này . Chọn mẫu bạn thích và thêm mẫu này vào cuối dự án của bạn. Nếu bạn muốn tìm hiểu thêm về cấu trúc của Foter và biết cách sử dụng cơ bản và nâng cao của thành phần này - hãy đọc Tài liệu Footer.
Làm cách nào để đưa tệp HTML vào HTML bằng HTML5?Việc nhúng tệp HTML rất đơn giản. Tất cả những gì chúng ta cần làm là sử dụng phần tử „ Sau đó, chúng ta thêm giá trị „import“ vào thuộc tính „rel“. Sử dụng „href“, chúng tôi đính kèm URL của tệp HTML , giống như cách chúng tôi đã quen với biểu định kiểu và tập lệnh. |