Tạo hiển thị toàn màn hình chỉ bằng 1 dòng CSS

Ngày đăng: 02/11/2018   -    Cập nhật: 14/04/2021

Các trang web hiện đại ngày nay đang sử dụng cách làm các phần hiển thị toàn màn hình hay là làm backgroud full màn hình trên trang chủ của họ.

 

Nếu chúng không làm toàn màn hình thì cũng làm cho nó chiếm ít nhất 80% - 90% của chiều rộng.

 

Việc này cần thời gian phát triển và rất nhiều code javascript.

 

Mục lục:

 

1. Ví dụ về trang web hiển thị background full màn hình
 
1.1. Spotify
1.2. Exposure
1.3. Nimber
1.4. Flickr

2. Cách tạo hiển thị toàn màn hình bằng 1 dòng CSS
3. Các trình duyệt hỗ trợ làm background full màn hình



Để cung cấp cho bạn một ví dụ về những gì mình đang nói đây. Mình sẽ dẫn chứng cho bạn thấy các trang web lớn đang sử dụng cách bố trí này.

 

1. Ví dụ về trang web hiển thị với background full màn hình



1.1. Spotify



Spotify đang là dịch vụ stream nhạc có số lượng người dùng áp đảo nhất trên toàn cầu. Và họ đang sử dụng cách làm toàn màn hình này.

 

tao-hien-thi-full-man-hinh-chi-bang-1-dong-css-giong-spotify

Trang web Softify hiển thị Full màn hình



Họ sử dụng các thuộc tính dữ liệu để lưu trữ tỷ lệ chiều cao ví dụ data-autosize = "0.6" và sau đó đặt chiều cao của mỗi phần với javascript.

 

1.2. Exposure



tao-hien-thi-full-man-hinh-chi-bang-1-dong-css-giong-exposure

 

Trang web của Exposure

 

Exposure giữ chiều cao khoảng 90% cố định cho phần đầu trang và thay đổi height bằng javascript khi được xem trên các thiết bị có kích thước màn hình khác nhau.

 

1.3. Nimber



tao-hien-thi-full-man-hinh-chi-bang-1-dong-css-giong-nimber

Trang web của Nimber

 

Nimber sử dụng một kỹ thuật tương tự như spotify.


Chiều cao được đặt bằng javascript là 90% nhưng cũng giữ chiều cao tối thiểu để đảm bảo rằng các phần cao hơn khung nhìn, thường là trên điện thoại di động, sẽ được hiển thị chính xác.


 

1.4. Flickr



tao-hien-thi-full-man-hinh-chi-bang-1-dong-css-giong-flickr

Trang web Flickr

 

Yahoo đã tung ra hồi đầu năm phiên bản toàn màn hình của flickr, đặt chiều cao của mỗi phần lên 100% và chúng cũng được thay thế bằng một con số giả định.

 

Tất cả các ví dụ trước đó đang sử dụng javascript để đạt được bố cục này, nhưng liệu chỉ bằng CSS thuần có làm được như vậy? Các trình duyệt hiện tại có hỗ trợ không?

 

2. Cách làm Background Full màn hình với 100vh CSS



Bạn sẽ cảm thấy thế nào nếu chúng ta có thể làm background full màn hình chỉ với 1 dòng CSS ...

 

.section { height: 100vh; }



Vâng, chính nó, giá trị 1vh = 1%  chiều cao của trình duyệt.

 

Thật đơn giản phải không nào, trình duyệt biết rõ chiều cao khung nhìn của bạn tại mọi thời điểm vì thế bạn có thể thoải mái sử dụng nó.

 

Mình đã thực hiện một đoạn demo code sử dụng phương pháp này và dường như nó làm việc hoàn hảo cả sau khi một số trình duyệt thay đổi kích thước.


Chú ý: Để xem được Code, bạn cần đăng nhập Codepen.io, vượt mã CAPTCHA trước sau đó load lại trang này. (Bởi vì Codepen hiện đang chống Spam)

 


 

Phương pháp CSS này rất mạnh, bởi vì bạn có thể kết hợp vô vàn bố cục.

 

Có phải bạn đang thắc mắc về phần đầu chỉ hiển thị khoảng 90% không? Đó là để tạo cảm giác trang của bạn liên tục, nối từ phần này sang phần kia.

 

Nếu thích như vậy thì bạn cần thêm một dòng nữa:

 

.section { height: 100vh;}
.section—first { height: 90vh; }



Nó có vẻ quá tốt được sử dụng rộng rãi nên mình chẳng thể nói được những nhược điểm của kỹ thuật này là gì và tại sao bạn nên hoặc không nên sử dụng.

 

Nhưng bạn có thể tự mình thử nghiệm nếu phù hợp với nhu cầu của bạn.


Ngoài ra, nếu bạn thấy hứng thú với lập trình web và muốn theo nghề này.


 


 

3. Các trình duyệt hỗ trợ tính năng thiết lập background full màn hình bằng CSS



cac-trinh-duyet-ho-tro-tao-hien-thi-full-man-hinh-chi-bang-1-dong-css

Các trình duyệt hỗ trợ tính năng viewport units

 

Đó là một cách tiếp cận khác để giải quyết vấn đề toàn màn hình với các ưu và khuyết điểm khác nhau, nhưng là một ví dụ tuyệt vời mà không cần bất kỳ đoạn JS nào.

 

Mình rất muốn nghe ý kiến của bạn về cách làm backgroud full màn hình bằng CSS này. Hãy để lại comment bên dưới đây nhé.
 

---
HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI
Học Lập trình chất lượng cao (Since 2002). Học thực tế + Tuyển dụng ngay!
Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội
SĐT: 02435574074 - 0383.180086
Email: hello@niithanoi.edu.vn
Fanpage: https://facebook.com/NIIT.ICT/
 
#niit #icthanoi #niithanoi #niiticthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp #java #php #python

Bình luận Facebook
Khóa học liên quan đến bài viết

Khóa học PHP Full stack [2023] cho người mới bắt đầu

96 giờ
Khóa học Lập trình PHP Full stack, phiên bản cập nhật lần thứ 8. Dạy Lập trình PHP bài bản từ Front end đến Back end + Laravel. Hướng dẫn làm 2 Dự Án Web lớn

KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG

50 giờ
Khóa học giúp học viên sử dụng thành thạo ngôn ngữ Lập trình Python (3x). Hiểu và phát triển được Ứng dụng Web với Django Framework. Học thực hành với Giảng viên cao cấp.

Lập trình PHP với Laravel Framework

42 giờ
Khóa học Lập trình PHP với Laravel Framework được NIIT - ICT HÀ NỘI xây dựng nhằm hoàn thiện kỹ năng lập trình web các các bạn đã biết Lập trình Web PHP thuần.

Khóa học Java Full stack (IJFD)

104 giờ
Học lập trình Java Fullstack với khóa học được xây dựng theo lộ trình bài bản, từ JAVA CƠ BẢN đến JAVA WEB và nâng cao về JAVA FRAMEWORK như: Spring Boot, Hibernate
Mục lục
Đăng ký tư vấn
Nhân viên gọi điện tư vấn miễn phí sau khi đăng ký
Được cập nhật các ưu đãi sớm nhất
Hotline: 0383180086
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Hãy đăng ký để nhận những thông tin mới nhất về học bổng mới nhất tại NIIT - ICT Hà Nội
top
Đóng lại Đăng ký học tại NIIT - ICT Hà Nội
6260+ học viên đã theo học tại NIIT - ICT Hà Nội và có việc làm tốt trong ngành lập trình. Nắm lấy cơ hội ngay hôm nay!
Chọn khóa học
  • KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS
  • KHÓA HỌC LẬP TRÌNH PHP WEB
  • Khóa học PHP Full stack [2023] cho người mới bắt đầu
  • Khóa học BIG DATA với Hadoop và Spark
  • Khóa học Lập trình Android tại Hà Nội
  • [Tuyển sinh 2023] Lập trình viên Quốc tế DigiNxt
  • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại Hà Nội
  • LẬP TRÌNH GAME
    • Khóa học Lập trình Game Unity
  • LẬP TRÌNH WEB FRONT END
    • KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG
    • KHÓA HỌC ANGULAR & TYPESCRIPT (FRONT END)
  • LẬP TRÌNH WEB BACK END
    • LẬP TRÌNH JAVA WEB VỚI FRAME WORK
    • Lập trình Web với Django
    • Lập trình PHP với Laravel Framework
  • CHƯƠNG TRÌNH ĐÀO TẠO ỨNG DỤNG CÔNG NGHỆ
    • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại TP HCM
  • LẬP TRÌNH WEB FULL STACK
    • Khóa học Java Full stack (IJFD)
  • LẬP TRÌNH MOBILE
    • FRONT-END VỚI REACTJS VÀ REACT NATIVE
    • Lập trình Android Nâng cao
  • ĐÀO TẠO CHO DOANH NGHIỆP
    • KHÓA HỌC BUSINESS ANALYSIC TỪ CƠ BẢN ĐẾN NÂNG CAO 2023
    • Khóa học Magento: Làm chủ CMS TMĐT lớn nhất
    • Khóa học IOT: Xây dựng Sản phẩm IOT với Raspberry Pi
    • Khóa học Automation Testing Chuyên nghiệp
  • KHÓA HỌC DỰ ÁN
    • Học sử dụng bộ Office: Word, Excel, Power Point, Mail chuyên nghiệp
  • KHÓA HỌC KHÁC
    • VBA Excel Toàn Tập (Cơ Bản - Nâng Cao)
    • VBA Excel Nâng cao
    • Khóa học JMeter: Performance Testing
    • Khóa học Tester đạt chuẩn Quốc tế ISTQB Foundation Level
    • Khoá Học Tester đạt chuẩn quốc tế ISTQB Advanced Level
Bạn chưa chọn khóa học cần đăng ký
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Đăng ký học thành công!
Cảm ơn bạn đã đăng ký học tại NIIT - ICT HÀ NỘI!