Bố cục thích ứng là gì. Bố cục thích ứng trên HTML5 và CSS3 Bạn có thể làm gì sau khi hoàn thành khóa học này
Chúng tôi đã phát hành một cuốn sách mới, Tiếp thị nội dung trên mạng xã hội: Cách thu hút người theo dõi và khiến họ yêu thích thương hiệu của bạn.
Đặc biệt, công nghệ này được sử dụng tích cực để đảm bảo trang web được hiển thị đồng đều trên các loại thiết bị khác nhau: máy tính/máy tính xách tay và điện thoại thông minh/máy tính bảng với các kích cỡ hiển thị khác nhau.
Ngày nay, một trang web đáp ứng được tạo bằng ngôn ngữ đánh dấu HTML5 và biểu định kiểu xếp tầng CCS3. Nhưng cho đến khi các công nghệ tương ứng trở thành tiêu chuẩn cho tất cả các trình duyệt phổ biến, ngôn ngữ lập trình JavaScript vẫn được sử dụng cho các mục đích tương ứng. Thậm chí trước đó (trước năm 2010), họ phải tạo một số phiên bản của cùng một trang, nhưng với các đánh dấu khác nhau, để trang web họ phát triển sẽ được hiển thị chính xác trên các màn hình khác nhau.
Tại sao bạn cần bố cục trang thích ứng?Cho đến gần đây, khi truy cập nhiều trang web, bạn có thể thấy một thanh trượt ở cuối trình duyệt cuộn trang theo chiều ngang. Điều này xảy ra, chẳng hạn như nếu cửa sổ trình duyệt Internet không được phóng to để lấp đầy toàn bộ màn hình mà chỉ chiếm một diện tích tương đối nhỏ. Điều này hầu như luôn có thể được nhìn thấy khi độ phân giải của màn hình hiển thị hình ảnh là 800 x 600 hoặc thậm chí hơn thế nữa là 640 x 480 pixel.
Ngày nay, ngay cả chủ sở hữu thiết bị di động cũng hiếm khi gặp phải điều này. Và lý do cho điều này không chỉ nằm ở độ phân giải của màn hình hiện đại là HD trở lên mà còn ở chỗ bố cục trang thích ứng giờ đây gần như đã trở thành một tiêu chuẩn.
Tại sao và khi nào thiết kế đáp ứng xuất hiện?Vào đầu thập kỷ thứ hai của thế kỷ 21, nhu cầu cấp thiết là tạo ra các công nghệ cho phép phát triển các trang web phổ quát. Các điều kiện tiên quyết chính thúc đẩy việc tạo ra và phát triển thiết kế thích ứng là:
- lượng lớn người dùng mới truy cập Internet;
- sự xuất hiện của nhiều thiết bị với độ phân giải màn hình khác nhau;
- áp lực từ các công cụ tìm kiếm, bắt đầu áp dụng các biện pháp trừng phạt đối với các trang web có nhiều phiên bản trang có cùng nội dung.
Người đầu tiên tạo ra chính thức là nhà thiết kế web Ethan Marcotte. Vào giữa năm 2010, ông đã xuất bản một tài liệu trong đó ông nói về công nghệ có thể giải quyết vấn đề hiển thị bình thường của các trang web trong các trình duyệt có độ phân giải không gian làm việc khác nhau.
Sau một thời gian, một podcaster nổi tiếng khác đã đưa ra những bổ sung cho các khái niệm mà đồng nghiệp của anh ấy đang nói đến.
Bố cục thích ứng được tạo ra bằng cái gì và như thế nào?Trước khi chúng ta bắt đầu xem xét vấn đề làm thế nào để tạo bố cục thích ứng, cần xem xét ngắn gọn các công nghệ chính được sử dụng. Bây giờ có hai trong số đó: HTML5 và CSS3. Cho đến gần đây, HTML4 và CSS2 vẫn được sử dụng, nhưng để tạo ra thiết kế phổ biến với chúng, bạn cũng phải sử dụng JavaScript.
CSS3 là thế hệ tiếp theo của Cascading Style Sheets. Công nghệ này nhằm tạo ra các quy tắc hiển thị các thành phần trang trong trình duyệt của người dùng. Khi sử dụng nó, bạn có thể chỉ định, chẳng hạn như kích thước của một phần tử ở độ phân giải màn hình người dùng nhất định hoặc đặt quy tắc rằng phần tử đó phải luôn chiếm một phần trăm không gian nhất định (100% - lấp đầy toàn bộ khu vực làm việc của trình duyệt).
Ở thế hệ thứ ba, quy tắc “truy vấn phương tiện” đã xuất hiện, nhờ đó, nhà thiết kế bố cục có thể tạo các lớp riêng biệt cho từng độ phân giải cụ thể.
Một điểm rất quan trọng!
Người dự định sử dụng CSS3 cho thiết kế đáp ứng nên biết rằng, không giống như CSS2, thế hệ thứ ba của Cascading Style Sheets sử dụng tỷ lệ phần trăm thay vì pixel để chỉ định kích thước đối tượng.
Đối với HTML5, nó được sử dụng để đánh dấu trực tiếp trang, tức là cho biết vị trí cần đặt các phần tử nhất định. Để các đối tượng thích ứng với độ phân giải, các lớp được tạo trước bằng CSS3 được chỉ định trong tham số của thẻ HTML.
Một ví dụ đơn giản về bố cục thích ứngĐể hiểu bố cục thích ứng là gì, các ví dụ phải càng đơn giản càng tốt. Do đó, chúng tôi sẽ xem xét một tùy chọn trong đó hình ảnh đã chuẩn bị sẽ tự động được điều chỉnh theo độ phân giải của không gian làm việc của trình duyệt.
Đầu tiên, bằng cách sử dụng HTML, chúng ta sẽ đặt chính phần tử đó trên trang:
Thẻ DIV chỉ ra rằng mọi thứ chứa trong nó là một khối riêng biệt. Khi có nhiều khối như vậy trên một trang, thuộc tính "class" sẽ được chỉ định. Điều này là cần thiết để trình duyệt hiểu quy tắc nào sẽ áp dụng cho một khối cụ thể.
Bây giờ bạn cần tự tạo quy tắc, cái gọi là
Vùng chứa CSS:
Div ( chiều rộng: 100%; căn chỉnh văn bản: giữa; ) div img( wight: 100%; chiều cao: tự động; )
Trong mã này, các quyền dành cho bố cục thích ứng được đặt. Đặc biệt, nó quy định rằng chiều rộng phải luôn bằng 100% chiều rộng vùng làm việc của trình duyệt web, trong khi chiều cao được điều chỉnh tự động.
Kiểm tra bố cục thích ứngCó các công cụ đặc biệt để kiểm tra bố cục thích ứng. Ví dụ: trong trình duyệt GoogleChrome, bạn có thể nhấn phím “F12”, sau đó, trong bảng điều khiển mở ra, hãy nhấp vào biểu tượng có hình ảnh điện thoại thông minh và máy tính bảng. Sau hành động này, một số bảng khác sẽ xuất hiện trong đó bạn cần chỉ định độ phân giải quan tâm.
Nó thậm chí có thể được thực hiện đơn giản hơn. Để kiểm tra xem thiết kế đáp ứng có hoạt động hay không, bạn cần giữ phím CTRL và sau đó nhấp vào “+” hoặc “-”. Sau hành động này, trang sẽ tăng hoặc giảm tương ứng, nhưng phần tử được áp dụng bố cục thích ứng sẽ giữ nguyên tỷ lệ tỷ lệ của nó (hoặc làm điều gì đó khác, những gì đã được chỉ định trong quy tắc).
Các công cụ giúp thiết kế đáp ứng dễ dàng hơnBố cục của thiết kế thích ứng là một công việc khá tốn công sức. Vì vậy, để giảm thời gian thực hiện tất cả các quy trình này, tốt hơn hết bạn nên sử dụng các công cụ đặc biệt. Một trong số đó có thể được gọi là framework Bootstrap* nổi tiếng.
Ví dụ: bộ công cụ dành cho HTML và CSS này bao gồm một số lượng lớn các lớp dựng sẵn mà bạn có thể sử dụng trong thiết kế của mình. Nó cũng chứa các yếu tố động, phù hợp với tất cả các quy tắc và tiêu chuẩn, cho phép bạn tạo các yếu tố thích ứng.
Để bắt đầu sử dụng nó, trước tiên bạn phải có kiến thức trực tiếp về CSS3 và HTML5, sau đó nghiên cứu các tính năng của khung. Tuy nhiên, sau khi hiểu được hầu hết những điều phức tạp khi làm việc với nó, bạn có thể giảm đáng kể thời gian phát triển thiết kế trang web thích ứng.
*Bootstrap là phần mềm mã nguồn mở được phát triển bởi Twitter Inc. Nó được phân phối miễn phí và có một cộng đồng rộng lớn mà bạn luôn có thể xin lời khuyên.
Bố cục trang web thích ứng cho phép các trang web tự động điều chỉnh cho phù hợp với màn hình của máy tính bảng và điện thoại thông minh. Lưu lượng truy cập Internet di động đang tăng lên hàng năm và để xử lý hiệu quả lưu lượng truy cập này, bạn cần cung cấp cho người dùng các trang web phản hồi nhanh với giao diện thân thiện với người dùng.
Công cụ tìm kiếm sử dụng một số tiêu chí để đánh giá khả năng phản hồi của trang web khi được xem trên thiết bị di động. Google đang cố gắng đơn giản hóa việc sử dụng Internet cho chủ sở hữu điện thoại thông minh và máy tính bảng bằng cách đánh dấu các trang web phù hợp với thiết bị di động bằng dấu đặc biệt thân thiện với thiết bị di động trong kết quả tìm kiếm trên thiết bị di động. Yandex cũng có một thuật toán ưu tiên các trang web có phiên bản dành cho thiết bị di động/đáp ứng cho người dùng trong tìm kiếm trên thiết bị di động.
Bạn có thể kiểm tra việc hiển thị trang trên thiết bị di động trên các dịch vụ và.
Cơm. 1. Kết quả tìm kiếm trên thiết bị di động từ Yandex và Google có ghi chú về tính thân thiện của trang web với thiết bị di động. Bố cục thích ứng là gì?Bố cục thích ứng giả định không có thanh cuộn ngang và các vùng có thể mở rộng khi xem trên bất kỳ thiết bị nào, văn bản có thể đọc được và các vùng lớn cho các phần tử có thể nhấp vào. Sử dụng truy vấn phương tiện, bạn có thể kiểm soát bố cục và vị trí của các khối trên một trang, sắp xếp lại mẫu sao cho phù hợp với các kích thước màn hình thiết bị khác nhau.
Các kỹ thuật cơ bản để tạo một trang web đáp ứng được đưa ra trong bài viết. Đối với thiết kế đáp ứng, chiều rộng của vùng chứa trang web chính được đặt theo % và có thể bằng 100% chiều rộng cửa sổ trình duyệt hoặc nhỏ hơn. Độ rộng của các cột lưới cũng được xác định bằng %. Trong thiết kế đáp ứng, chiều rộng của các cột lưới và vùng chứa chính được cố định bằng cách sử dụng các giá trị px.
Kỹ thuật bố cục chất lỏng thích ứng được thảo luận trong bài học này sẽ hoạt động hoàn hảo trên mẫu hai cột, giúp trang web có tính thích ứng và thuận tiện khi xem trên thiết bị di động. Mẫu này giả định một bố cục khác cho nội dung chính của các trang; trong bài học này bố cục của trang chính sẽ được thảo luận.
Bố cục trang chủMột trang bao gồm ba khối chính: phần đầu trang (header), phần chứa trình bao bọc cho nội dung chính và thanh bên, và phần chân trang (chân trang). Hãy lấy 768px và 480px làm bước ngoặt thiết kế.
Đầu tiên, chúng ta sẽ ẩn menu trên cùng và di chuyển thanh bên dưới vùng chứa các bài đăng. Ở điểm thứ hai, chúng tôi sẽ thay đổi vị trí của các thành phần tiêu đề, hủy vị trí của các nút mạng xã hội trong bài đăng và hủy việc gói các cột chân trang của trang.
Cơm. 2. Ví dụ về bố cục thích ứng 1. Thẻ và phần meta
1) Thêm các tệp cần thiết vào phần - một liên kết đến các phông chữ được sử dụng, thư viện jQuery, cũng như plugin không có tiền tố (để không ghi tiền tố trình duyệt cho các thuộc tính):
Bố cục trang web thích ứng
2. Tiêu đề trangChúng tôi sẽ đặt các phần tử vùng chứa sau vào tiêu đề trang:
Logo ;
nút để hiển thị/ẩn menu chính;
Thực đơn chính
LOGO
3. Chặn phần tóm tắt bài viếtChúng tôi sẽ gói phần thông báo của các bài viết bằng phần tử:
thiết kế mùa xuân
Ngôn ngữ Nga rất phong phú về từ ngữ liên quan đến các mùa và các hiện tượng tự nhiên liên quan đến chúng.
Tiếp tục đọc ... 4. Thanh bênTrong cột bên, chúng tôi sẽ thêm danh sách các danh mục, bài đăng gần đây và biểu mẫu đăng ký bản tin:
Thể loại
Những ghi chú cuối cùng Đăng ký nhận bản tin 5. Chân trangỞ phần chân trang chúng ta sẽ đặt thông tin bản quyền, nút mạng xã hội và link email:
Blog của tôi © 2016 Viết một chữ cái $(".nav-toggle").on("click", function())( $("#menu").toggleClass("active"); ));
6. Các kiểu CSS chungKiểu chung, đặt lại kiểu trình duyệt về mặc định:
*, *:after, *:trước ( box-sizing: border-box; đệm: 0; lề: 0; transition: .5s dễ dàng ra vào; /* thêm các hiệu ứng chuyển tiếp mượt mà cho tất cả các thành phần trang */ ) ul ( kiểu danh sách: không; ) a ( trang trí văn bản: không; phác thảo: không; ) img ( hiển thị: khối; chiều rộng: 100%; ) h1, h2, h3, h4, h5, h6 ( họ phông chữ: "Playfair Display"; font-weight: normal; letter-spacing: 1px; ) body ( font-family: "Open Sans", arial, sans-serif; font-size: 14px; line-height: 1; color: #373737; nền: #f7f7f7; ) /* thêm tính năng dọn dẹp luồng cho tất cả các vùng chứa có các phần tử con được gói bên trong chúng */ header:after, .container:after, footer:after, .widget-posts-list li:after, #subscribe:after ( content: ""; display: table; clear: cả hai; ) /* Lớp kiểu kiểm soát độ rộng của vùng chứa lưới */ .container ( lề: 0 auto; width: 100%; max-width: 960px; phần đệm: 0 15px ;
7. Kiểu cho tiêu đề và tiêu đề nội dung của nó ( width: 100%; nền: trắng; box-shadow: 3px 3px 1px rgba(0,0,0,.05); đệm: 15px 0; lề-dưới: 30px; vị trí : tương đối; ) /* logo */ .logo ( display: block; float: left; ) .logo span ( color: white; display: inline-block; width: 30px; Height: 30px; line-height: 30px; đường viền -bán kính: 50%; lề: 5px 0; căn chỉnh văn bản: giữa; bóng văn bản: 2px 2px 1px rgba(0,0,0,.4); logo span:nth-child(odd) #EF5A42; .logo span:nth-child(even) ( nền: #F8B763; ) /* menu */ #menu ( float: right; ) #menu li ( display: inline-block; lề-phải: 30px; ) #menu a ( color: #111; text-transform: chữ hoa; khoảng cách chữ: 1px; font-weight: 600; display: block; line-height: 40px; ) #menu a:hover ( color: #EF5A42; ) #menu li :last-child ( lề-phải: 0; ) /* biểu mẫu tìm kiếm */ #searchform ( float: right; lề trái: 46px; hiển thị: khối nội tuyến; vị trí: tương đối; ) #searchform đầu vào ( width: 170px; float: trái; đường viền: không có; đệm-trái: 10px; chiều cao: 40px; tràn: ẩn; phác thảo: không có; màu: #9E9C9C; kiểu chữ: in nghiêng; ) Nút #searchform ( nền: trong suốt; chiều cao: 40px; viền: không; vị trí: tuyệt đối; phải: 10px; màu: #EF5A42; con trỏ: con trỏ; cỡ chữ: 18px; ) #searchform input:focus ( phác thảo: 2px Solid #EBEBE3; ) /* nút chuyển đổi menu xuất hiện ở độ rộng 768px */ .nav-toggle ( display: none; vị trí: tương đối; float: phải; chiều rộng: 40px; chiều cao: 40px; lề trái: 20px; nền: # EF5A42; con trỏ: con trỏ; ) .nav-toggle span ( display: block; vị trí: tuyệt đối; trên cùng: 19px; trái: 8px; phải: 8px; chiều cao: 2px; nền: trắng; ) .nav-toggle span: before , .nav-toggle span:after ( nội dung: ""; vị trí: tuyệt đối; hiển thị: khối; trái: 0; chiều rộng: 100%; chiều cao: 2px; nền: trắng; ) .nav-toggle span:trước ( top: - 10px; ) .nav-toggle span:after ( Bottom: -10px; ) /* lớp sẽ được thêm vào menu trên cùng khi nút được nhấp vào và sẽ hiển thị menu ẩn */ #menu.active ( max-height: 123px; ) 8. Kiểu cho khối nội dung chính /* left container */ .posts-list ( lề-bottom: 30px; chiều rộng: 64%; nổi: trái; ) /* block cho bài viết */ .post ( lề-bottom: 35px; ) .post-content p ( line-height: 1.5; phần đệm-bottom: 1em; ) .post-image ( lề-bottom: 30px; ) . danh mục ( lề-bottom: 15px; ) .category a ( color: #F8B763; text-transform: hoa; ) .post-title ( lề-bottom: 12px; font-size: 26px; ) /* khối có " tiếp tục" nút đọc" và các nút mạng xã hội */ .post-footer ( border-top: 1px Solid #EBEBE3; border-bottom: 1px Solid #EBEBE3; location: Reel; Margin-top: 15px; ) .more-link ( vị trí: tương đối; hiển thị: khối nội tuyến; chuyển đổi văn bản: chữ hoa; chiều cao dòng: 0 22px khoảng cách giữa các chữ cái: 0. 1em; khoảng trắng: nowrap; ) .more-link:after ( nội dung: ""; hiển thị: khối; vị trí: tuyệt đối; chiều rộng: 0; chiều cao: 0; trên cùng: 0; phải: 0; đường viền: rắn trong suốt; chiều rộng đường viền: 22px 18px; đường viền -left-color: #3C3D41; biến đổi: dịchX(100%) ) .post-social ( vị trí: tuyệt đối; trái: tự động; trên cùng: 50%; phải: 0; căn chỉnh văn bản: phải; biến đổi: dịchY(- 50 %); phần đệm: 0; cỡ chữ: 12px; .post-social a ( display: inline-block; lề trái: 8px; màu: #F8B763; chiều rộng: 25px; chiều cao: 25px; chiều cao dòng: 23px; căn chỉnh văn bản: giữa; bán kính đường viền: 50%; đường viền: 1px liền khối); */ .widget ( đệm: 20px 15px; nền: trắng; cỡ chữ: 13px; lề dưới: 30px; bóng hộp: 3px 3px 1px rgba(0,0,0,.05); .widget-title ( font-size: 18px; đệm: 10px; lề dưới: 20px; căn chỉnh văn bản: giữa; viền: 2px liền khối #F8B763; hộp -shadow: 3px 3px 0 0 #F8B763 ) .widget-category-list li ( border-bottom: 1px Solid #EBEBE3; phần đệm: 10px 0; màu: #c6c6c6; kiểu chữ: in nghiêng; ) .widget-category-list li:last-child ( border-bottom: none; ) .widget-category-list li a ( color: #626262; lề phải: 6px; font-style: normal; ) .widget- danh sách danh mục li a:trước ( nội dung: "\f105"; hiển thị: khối nội tuyến; họ phông chữ: "FontAwesome"; lề phải: 10px; màu: #c6c6c6; ) .widget-posts-list li ( viền -top: 1px Solid #EBEBE3; phần đệm: 15px 0; ) .widget-posts-list li:nth-child(1) ( border-top: none; ) .post-image-small ( width: 30%; float: left; lề phải: 15px; .widget-post-title ( float: left; ) /* mẫu đăng ký */ #subscribe ( vị trí: tương đối; chiều rộng: 100%; phần đệm: 15px 0; ) #subscribe đầu vào ( width : 100%; float: trái; kiểu phông chữ: 0 0 10px; nút #subscribe ( đệm: 0 15px; nền: trong suốt; chiều cao: 40px; đường viền: không có; vị trí: tuyệt đối; phải: 0; màu: #EF5A42; : con trỏ; cỡ chữ: 18px; ) #subscribe đầu vào: tiêu điểm + nút ( nền: #EF5A42; màu trắng; ) 10. Kiểu chân trangChúng tôi chia chân trang của trang thành ba cột bằng nhau:
Footer ( phần đệm: 30px 0; nền: #3C3D41; màu: trắng; ) .footer-col ( chiều rộng: 33.3333333333%; float: left; ) .footer-col a ( color: white; ) .footer-col:last- con ( text-align: right; ) .social-bar-wrap ( text-align: center; ) .social-bar-wrap a ( đệm: 0 7px; cỡ chữ: 18px; )
11. Truy vấn phương tiện @media (độ rộng tối đa: 768px) ( /* hiển thị nút để chuyển đổi điều hướng trên cùng */ .nav-toggle ( display: block; ) tiêu đề ( đệm: 10px 0; ) /* ẩn menu trên cùng , hủy gói, định vị nó, di chuyển nó đến chiều cao của tiêu đề trang */ #menu ( max-height: 0; nền: trắng; float: none; vị trí: tuyệt đối; tràn: ẩn; top: 63px; phải: 0 ; left: 0; lề : 0; phần đệm: 0; z-index: 3 ) /* tạo các khối trong danh sách để chúng nằm dưới nhau */ #menu li ( display: block; text-align: center ; border-bottom: 1px Solid # EBEBE3; Margin-right: 0; ) /* hủy việc bao bọc các cột bên trái và bên phải, đặt chiều rộng của chúng thành 100% */ .posts-list, sang một bên ( width: 100%; float : none; ) .widget-post-title ( font -size: 1.5em; ) ) @media (max-width: 480px) ( /* hủy gói cho logo và căn chỉnh nó vào giữa */ .logo ( float : none; lề: 0 auto 15px; display: table; ) .logo span ( lề: 0 2px; ) /* định vị menu theo chiều cao tăng của tiêu đề */ #menu ( top: 118px; ) /* định vị biểu mẫu tìm kiếm sang bên trái */ #searchform ( float: left; Margin-left: 0; ) /* xóa viền trên và dưới và căn chỉnh nút vào giữa */ .post-footer ( border- top: none; border-bottom: none; text-align: center; ) /* hủy vị trí của các nút mạng xã hội */ .post-social ( location: static; text-align: center; Transform: none; lề-top : 20px; ) .widget- post-title ( font-size: 1.2em; ) /* hủy gói cho các cột chân trang */ .footer-col ( float: none; lề-bottom: 20px; width: 100%; text -align: center; ) . footer-col:last-child ( text-align: center; Margin-bottom: 0; ) ) 12. Tập lệnh cho menu di độngMã jQuery mà trước đây chúng tôi đã thêm vào đánh dấu trang trước thẻ đóng có nhiệm vụ hiển thị và ẩn menu trên cùng khi nhấp vào nút (chiều cao của menu được chuyển từ 0 sang bằng với nội dung của nó):
$(".nav-toggle").on("click", function())( $("#menu").toggleClass("active"); ));
Lời tác giả: Kể từ khi các bài viết thể hiện các thuộc tính mới của HTML5 và CSS3 bắt đầu xuất hiện trên Internet, tôi đã nảy ra ý tưởng tạo bố cục trang web không có hình ảnh. Tận dụng những cải tiến trong HTML5 và CSS3 (so với các thông số kỹ thuật đáng nể trước đây), không quá khó để tạo ra một trang web có giao diện đẹp mắt mà không cần phải dựa vào hình ảnh để đánh dấu.
Đây là hình ảnh của trang web mà chúng tôi sẽ thiết kế bằng HTML5 và CSS3:
Trước khi bắt đầu các bước thực tế, tôi khuyên bạn nên xem kết quả demo của tác phẩm.
Phần tử tiêu đề đại diện cho nhóm giới thiệu hoặc hỗ trợ điều hướng.
Theo đề xuất của họ, phần tử tiêu đề sẽ chứa logo, tiêu đề phụ và điều hướng chính của chúng tôi. Khi chúng tôi nhập phần tử tiêu đề tiêu đề, chúng tôi có chi tiết đánh dấu chứa tất cả các phần của trang mà chúng tôi coi là tiêu đề bằng trực giác. (Hoặc tất cả các chi tiết trang đó sẽ được lồng trong phần tử div có id tiêu đề.) Phần tử tiêu đề có thể được sử dụng nhiều lần trên trang và chúng tôi sẽ sử dụng lại nó bên trong các phần tử bài viết, phần này sẽ chứa phần giới thiệu cho bài đăng.
phần tử nhómĐầu tiên bên trong phần tử tiêu đề là một thẻ mới khác, hgroup. Chúng tôi sẽ sử dụng nó để hiển thị logo và phụ đề của trang web tương ứng trong thẻ h1 và h2.
Phần tử hgroup được sử dụng để nhóm một tập hợp các phần tử h1-h6 khi tiêu đề có nhiều cấp độ, chẳng hạn như phụ đề, tiêu đề thay thế hoặc tiêu đề phụ.
Phần tử hgroup có thể trông dư thừa trừ khi bạn bọc các tiêu đề trong phần tử div như bình thường để tiêu đề hoặc (các) phụ đề có nền hoặc kiểu bình thường. Tuy nhiên, hgroup đóng một vai trò quan trọng trong lược đồ tài liệu. Thuật toán lược đồ kiểm tra trang của bạn và báo cáo cấu trúc tiêu đề. Kiểm tra phác thảo tác phẩm của bạn bằng công cụ Outliner. Khi thuật toán lược đồ gặp phần tử hgroup, nó sẽ bỏ qua mọi thứ ngoại trừ tiêu đề cấp cao nhất (thường là h1).
Bây giờ chúng ta có một vấn đề: thuật toán mạch chưa hoàn hảo và chưa hoàn thiện. Ví dụ: phần tử tiếp theo chúng ta sẽ thảo luận là phần tử điều hướng và phần đánh dấu đánh dấu nó là "Phần không có tiêu đề". Đã có yêu cầu từ các nhà phát triển đánh dấu về việc thay đổi thuật toán lược đồ để thể hiện phần tử điều hướng là "Điều hướng". Trong mọi trường hợp, phần tử hgroup cung cấp cho bạn cách nhóm các tiêu đề của bạn và do đó sắp xếp chúng theo cả cấu trúc và ngữ nghĩa.
Phần tử điều hướngChúng ta chuyển sang phần tử HTML5 tiếp theo, nav. Trong phần điều hướng, chúng ta sẽ bao gồm điều hướng chính của trang web, được bao bọc trong một danh sách không có thứ tự.
Phần tử điều hướng đại diện cho một phần của trang liên kết đến các trang hoặc khu vực khác trong một trang: khu vực có liên kết điều hướng.
Việc sử dụng điều hướng để tạo điều hướng chính của một trang web là điều đương nhiên, nhưng trong trường hợp đó sẽ có nhiều khu vực hơn trên trang web của bạn chứa các liên kết; câu hỏi đặt ra là bạn nên bọc cái nào bằng thẻ điều hướng. Dưới đây là một số trường hợp sử dụng mà tôi nghĩ có thể phù hợp:
Bài viết liên quan.
Theo đặc điểm kỹ thuật, đây có thể là cách sử dụng phù hợp hoặc không phù hợp với phần tử điều hướng. Thông số kỹ thuật không rõ ràng lắm và các ví dụ đưa ra không hữu ích lắm. Vì vậy, mặc dù thông số kỹ thuật chưa phải là cuối cùng và cụ thể hơn, nhưng bạn chỉ có thể dựa vào cộng đồng nhà phát triển để xác định phương pháp chính xác để sử dụng phần tử điều hướng.
Yếu tố bài viếtYếu tố tiếp theo tôi muốn giới thiệu với các bạn đó là bài viết. Khu vực chính của trang demo của chúng tôi chứa ba trích dẫn bài đăng và chúng tôi sẽ gói mỗi trích dẫn đó trong một thẻ bài viết.
XHTML
16/04/2010 Bài viết mẫu 1 38
Curabitur ut congue hac, diam turpis[…]
Được viết bởi: Tên tác giả Thẻ: mát mẻhiện đạicường điệu thân thiện Tiếp tục đọc
2010 ngày 16 tháng 4
Bài viết mẫu 1 38
Curabitur ut congue hac, diam turpis[…]
Được viết bởi: Tên tác giả Thẻ: mát mẻ hiện đại cường điệu thân thiện
|
Đây là định nghĩa W3C cho thành phần bài viết:
Phần tử bài viết thể hiện một thành phần mô-đun trong một tài liệu […], do đó nó được thiết kế để tự phân phối hoặc tái sử dụng, chẳng hạn như trong cung cấp (xuất bản đồng thời nội dung trên nhiều trang Web).
Lần này thông số kỹ thuật rõ ràng hơn và bài đăng trên blog (hoặc đoạn trích) tốt hơn nhiều ( lưu ý đề cập đến việc cung cấp) đi tới bài viết. Tất nhiên, chúng ta có thể đặt nhiều thành phần bài viết trên một trang.
Bạn chắc chắn đã nhận thấy rằng bên trong bài viết, chúng tôi đã đặt các phần tử đầu trang và chân trang. Cả đầu trang và chân trang đều có thể được sử dụng nhiều lần trên một trang HTML. Vì tiêu đề là “nhóm giới thiệu hoặc hỗ trợ điều hướng” nên chúng tôi đã bao gồm ngày, tiêu đề và số lượng nhận xét. Tiếp theo, chúng ta có một đoạn văn có đoạn trích từ bài đăng, sau đó là phần chân trang.
Phần tử chân trangNhư tôi đã nói trước đây, chân trang có thể được sử dụng nhiều lần nếu cần trên một trang và nó đại diện cho phân đoạn chân trang của trang tài liệu hoặc một phần của tài liệu.
Phần tử footer đại diện cho phần footer của phần mà nó đang truy cập. Thông thường, phần chân trang chứa thông tin về phần của nó, chẳng hạn như quyền tác giả, liên kết đến các tài liệu liên quan, ngày bản quyền, v.v.
Chúng tôi có bốn thành phần chân trang trên trang demo của mình: một thành phần cho mỗi thành phần trong số ba thành phần của bài viết và một thành phần chân trang chung cho toàn bộ trang. Phần chân trang trong thành phần bài viết chứa tên tác giả bài đăng, thẻ và nút liên kết tới toàn bộ bài đăng trên blog.
Chân trang chung chứa ba thành phần phần và thông báo bản quyền. Cả hai cách sử dụng phần tử chân trang đều hợp pháp và tuân thủ khuyến nghị của W3C.
Phần tử phầnKhu vực chân trang chung của trang demo của chúng tôi chứa ba thành phần phần. Trong đó, chúng tôi liệt kê các bài đăng blog phổ biến nhất, các nhận xét gần đây và tiểu sử ngắn gọn về công ty hư cấu của chúng tôi.
Phần tử phần đại diện cho khu vực chung của một tài liệu hoặc ứng dụng. Phần trong trường hợp này là một nhóm nội dung theo chủ đề, thường sử dụng tiêu đề.
Phần tử phần khá phức tạp vì trong định nghĩa đặc tả của nó, nó trông rất giống với phần tử div. Tôi đã rơi vào cái bẫy này khi bắt đầu viết mã trang demo; Tôi đã đặt ba phần tử bài viết bên trong phần tử phần. Tôi sớm nhận ra sai lầm trong phương pháp của mình. Cách duy nhất để quyết định xem có nên sử dụng phần hay không là xem liệu khu vực bạn muốn bao bọc bằng phần tử phần có cần tiêu đề hay không. Từ định nghĩa, bạn có thể thấy phần tử phần thường có tiêu đề.
Một câu hỏi hữu ích khác để xác định tính hợp lệ của việc sử dụng thành phần phần là: bạn có thêm nó chỉ nhằm mục đích tạo kiểu không? Bạn thêm nó đơn giản vì bạn cần làm cho phần này nổi bật bằng cách sử dụng JavaScript hoặc vì bạn cần áp dụng kiểu dáng thông thường cho nó và thay vào đó bạn cần sử dụng phần tử div.
Việc gói ba thành phần bài viết của trang demo của chúng tôi trong một thẻ phần sẽ có ý nghĩa nếu phần đó bao gồm tiêu đề như “Bài đăng trên blog mới nhất”. Nó sẽ có ý nghĩa; mặt khác, thẻ chứa các thành phần bài viết chỉ hỗ trợ tạo kiểu—thứ gì đó giúp chúng tôi nhắm mục tiêu bằng cách sử dụng JavaScript hoặc CSS.
Yếu tố bên cạnhPhần tử HTML5 cuối cùng được sử dụng cho trang demo được đặt sang một bên; chúng tôi đã sử dụng nó như một thùng chứa thanh bên.
Phần tử sang một bên đại diện cho một phần của trang bao gồm nội dung có liên quan bề ngoài với nội dung xung quanh phần sang một bên và có thể được coi là tách biệt với nội dung đó. Những phần như vậy thường được thể hiện bằng kiểu chữ dưới dạng thanh bên.
Như bạn có thể thấy từ thông số kỹ thuật, một ví dụ về cách sử dụng lý tưởng cho phần tử bên cạnh là trong thanh bên. Dưới đây trong biểu đồ, bạn có thể thấy thứ bậc của phần tử sang một bên trên trang demo của chúng tôi.
Chúng tôi đặt hai phần và một điều hướng. Phần tử đầu tiên chứa các liên kết đến Twitter và RSS, phần tử thứ hai thể hiện tweet mới nhất (bài đăng của người dùng trên Twitter). Phần tử phần thứ hai cũng là một trong những trường hợp hiếm hoi không có tiêu đề. Nó có thể có tiêu đề, chẳng hạn như “Tweet cuối cùng”, nhưng tôi không nghĩ điều đó là cần thiết vì người đọc đã quen với việc nhìn thấy các khối như thế này và thẻ Twitter bên dưới trích dẫn rất dễ nhận biết. Phần tử điều hướng thanh bên của chúng tôi được sử dụng để hiển thị danh sách các blog và không giống như điều hướng chính, nó có tiêu đề.
Lời cuốiNhư vậy, phần đầu tiên của bài viết của chúng tôi về bố cục trang web trong HTML5 và CSS3 đã kết thúc. Tôi đã cố gắng giữ nó ngắn nhất có thể và không dành quá nhiều thời gian cho những điều không chắc chắn trong thông số HTML5 vì nó vẫn chưa hoàn thành. Trong thời gian chờ đợi, chúng tôi sẽ phải dựa vào cộng đồng và công việc của những “người chữa lành” HTML5 để trở thành người hướng dẫn chúng tôi trong việc giới thiệu các yếu tố mới vào trang web.
Cảm ơn bạn đã đọc và đừng bỏ lỡ Phần 2 của bài viết này, nơi chúng ta sẽ thảo luận về các thuộc tính CSS3 được sử dụng để trang trí đánh dấu.
Như mọi khi, tôi mong chờ bất kỳ câu hỏi hoặc ý kiến. Xin đừng ngại lên tiếng và bắt đầu thảo luận về việc sử dụng các yếu tố mới, vì đây là cách tốt nhất để làm rõ tính hữu dụng của chúng.
Biên tập viên: Rog Victor và Andrey Bernatsky. nhóm webformyself.
Với sự ra đời của các thiết bị di động: máy tính bảng và điện thoại thông minh, khả năng tạo bố cục thích ứng của các trang web đã trở nên rất phổ biến.
Điều này có nghĩa là trang web có thể xem được trên mọi thiết bị. Chà, nếu nó không giống hệt như nó được hiển thị trên máy tính để bàn thì hãy đóng nó lại. Điều chính là làm việc với nó rất thuận tiện: duyệt, tìm kiếm thứ gì đó, nhấn nút, v.v.
Tôi tìm thấy trực tuyến một khóa học nhỏ miễn phí, thú vị về thiết kế trang web thích ứng dựa trên HTML5 và CSS3. Tôi đã nghiên cứu nó.
** Bạn có thể tự tải xuống khóa học này bằng cách điền vào mẫu yêu cầu kiểm tra cấp trên hoặc cấp dưới. **
Tôi quyết định kiểm tra xem liệu có thể (?) tạo một trang web thích ứng với tất cả các thiết bị mà KHÔNG cần sử dụng công nghệ hay không HTML5 Và CSS3 .
Tôi sẽ thử!
Bố cục trong mã hóa "ANSI" và với bản ghi dịch vụ đầy đủ: "Chuyển tiếp HTML 4.01", thay vì những gì được yêu cầu bởi quy tắc HTML5:
Thẻ mới: tiêu đề, phần, bài viếtđã không sử dụng nó. Hóa ra bố cục khối như thường lệ trên thẻ là đủ div .
Thuộc tính biểu mẫu mới cho thẻ đầu vào "giữ chỗ"(gợi ý) trong trình duyệt IE8Đã không làm việc. Trong phần còn lại nó hoạt động.
Tương tự như vậy. Thuộc tính “loại” mới cho thẻ loại đầu vào="email" chỉ hoạt động trong các trình duyệt hiện đại.
Thuộc tính "giá trị" vẫn được sử dụng cho nhập giá trị thành các hình thức.
Điều quan trọng nhất! Đầu tiên, trang web được trình bày trên màn hình thông thường và chỉ sau đó trong thẻ cái đầu nhập dòng mã:
Mục này yêu cầu trình duyệt (**điều này được giải thích trong khóa học!) Chia tỷ lệ nội dung trang một cách chính xác cho thiết bị bạn đang sử dụng.
Mặc dù trên thực tế, một mục nhập như vậy vào trình duyệt hoàn toàn không nói gì. Đây là một “lời kêu gọi” đối với các công cụ tìm kiếm.
Nhưng họ đã rất “ghen tị” với việc có/không có mục như vậy trong thẻ cái đầu, đặc biệt là gần đây. Đã kiểm tra!
Tuy nhiên, phải nói rằng các trình duyệt hiện đại trên thiết bị di động dường như đã học được cách đọc “thư của người khác”.
**Ví dụ. Sau khi kiểm tra dòng mã này, tôi đã thêm nó vào chưa được điều chỉnh trang web, và... ... ... . Và sau đó nhanh chóng loại bỏ nó!
Sau khi kiểm tra màn hình của nó trên điện thoại thông minh, tôi thấy rằng trình duyệt của điện thoại thông minh tạo ra một thông báo "kinh dị", tức là. hiển thị KÍCH THƯỚC ĐẦY ĐỦ của trang, tạo cơ hội cuộn ngang dài.
Thuộc tính mới cho thẻ hình ảnh "srcset" trong phiên bản thử nghiệm "HTML 4.01" không hoạt động!
Hãy để tôi nhắc bạn và đặc biệt nhấn mạnh rằng tôi KHÔNG thực hiện bất kỳ truy vấn truyền thông nào. Kiểm tra!
Ví dụ về các mục trong bảng CSSTrước hết, thuộc tính CSS (?) nào đã được kiểm tra và chúng hoạt động như thế nào (?).
thuộc tính kích thước nền: bìa; Tốt hơn hết là KHÔNG sử dụng . Các bản vẽ được "cắt", tức là vượt ra ngoài màn hình điều khiển. Bạn phải thu nhỏ để nhìn thấy chúng một cách trọn vẹn.
Và ngược lại!
thuộc tính kích thước nền: chứa; hoạt động tuyệt vời! Trong tất cả các trình duyệt! Tối ưu cho " trung tâm
" bản vẽ. Nó chia tỷ lệ chúng một cách hoàn hảo để phù hợp với mọi kích thước màn hình.
Tương tự như vậy. Thuộc tính giống nhau kích thước nền: chứa; hoạt động TUYỆT VỜI cho " bên
"bản vẽ, tức là trái/phải. Đã thử! Các hình ảnh bên được hiển thị thông qua các thẻ nhịp
, cho chúng float: left hoặc right , nhưng ĐIỀU QUAN TRỌNG! 2 ký tự khoảng trắng không ngắt, cho văn bản có kích thước bằng chiều cao của ảnh nền (** bằng cách giảm kích thước văn bản, hình ảnh được giảm tương ứng, không bị biến dạng).
Các sơ đồ đầu ra dưới đây.