CSS RWD - Viewport: Cánh cửa vào thiết kế web响应式

Xin chào các bạn nhà phát triển web tương lai! Hôm nay, chúng ta sẽ bắt đầu một hành trình đầy thú vị vào thế giới của thiết kế web响应式 (RWD) và khám phá một khái niệm quan trọng: viewport. Là người giáo viên máy tính gần gũi của bạn, tôi sẽ hướng dẫn bạn qua chủ đề này với những giải thích rõ ràng, nhiều ví dụ, và có thể có cả một nụ cười hoặc hai trên đường đi. Hãy cùng lặn vào!

CSS RWD - Viewport

Viewport là gì?

Trước khi chúng ta đi vào chi tiết, hãy bắt đầu từ những điều cơ bản. Hãy tưởng tượng bạn đang nhìn qua cửa sổ vào một căn phòng. Khung cửa sổ giới hạn những gì bạn có thể thấy, phải không? Trong thiết kế web, viewport chính là khung cửa sổ đó. Đó là khu vực hiển thị của một trang web trên màn hình thiết bị của bạn.

Đây là một điều thú vị: Trong những ngày đầu của điện thoại thông minh, các trang web thường trông rất nhỏ trên màn hình di động vì chúng được thiết kế cho máy tính để bàn. Khái niệm viewport đã đến cứu giúp chúng ta, cho phép chúng ta kiểm soát cách các trang web được hiển thị trên các thiết bị khác nhau.

CSS RWD Viewport - Loại

Bây giờ chúng ta đã hiểu viewport là gì, hãy cùng nhìn vào các loại viewport khác nhau mà chúng ta làm việc trong thiết kế web响应式.

1. Layout Viewport

Layout viewport giống như một bảng vẽ ảo nơi trang web của bạn được vẽ lên. Nó thường rộng hơn màn hình thực tế trên các thiết bị di động để phù hợp với các trang web được thiết kế cho máy tính để bàn.

2. Visual Viewport

Đây là phần của trang web hiện đang hiển thị trên màn hình. Khi bạn zoom hoặc cuộn, bạn đang di chuyển visual viewport trong layout viewport.

3. Ideal Viewport

Đây là kích thước viewport phù hợp nhất cho thiết bị. Đó là điều chúng ta hướng tới trong thiết kế responsive để đảm bảo trang web của chúng ta trông đẹp trên tất cả các thiết bị.

CSS RWD Viewport - Cài đặt

Bây giờ, hãy cùng làm việc với một chút mã! Để kiểm soát viewport, chúng ta sử dụng một thẻ meta đặc biệt trong HTML. Thẻ này được đặt trong phần <head> của tài liệu HTML của bạn.

<meta name="viewport" content="width=device-width, initial-scale=1.0">

Hãy phân tích này:

  • name="viewport": Điều này cho biết chúng ta đang đặt các thuộc tính của viewport.
  • content="...": Đây là nơi chúng ta xác định các cài đặt của viewport.
  • width=device-width: Điều này đặt chiều rộng của viewport để khớp với chiều rộng của thiết bị.
  • initial-scale=1.0: Điều này đặt mức zoom ban đầu khi trang đầu tiên được tải.

Dưới đây là bảng tóm tắt các cài đặt viewport khác nhau mà bạn có thể sử dụng:

Cài đặt Mô tả Ví dụ
width Đặt chiều rộng của viewport width=device-width
height Đặt chiều cao của viewport height=device-height
initial-scale Đặt mức zoom ban đầu initial-scale=1.0
minimum-scale Đặt mức zoom tối thiểu minimum-scale=0.5
maximum-scale Đặt mức zoom tối đa maximum-scale=2.0
user-scalable Cho phép hoặc không cho phép zoom user-scalable=no

Bây giờ, hãy nhìn vào một số ví dụ về cách chúng ta có thể sử dụng các cài đặt này:

Ví dụ 1: Cài đặt cơ bản响应式

<meta name="viewport" content="width=device-width, initial-scale=1.0">

Đây là cài đặt phổ biến nhất. Nó đảm bảo rằng chiều rộng của trang web của bạn khớp với chiều rộng của thiết bị và bắt đầu ở mức zoom bình thường.

Ví dụ 2: Ngăn không cho người dùng zoom

<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">

Cài đặt này ngăn người dùng zoom vào hoặc ra khỏi trang web của bạn. Hãy cẩn thận với điều này - nó có thể làm giảm khả năng tiếp cận!

Ví dụ 3: Đặt mức zoom tối thiểu và tối đa

<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0">

Điều này cho phép người dùng zoom, nhưng chỉ trong một phạm vi xác định.

Kết hợp tất cả lại với nhau

Bây giờ chúng ta đã hiểu về viewports và cách đặt chúng, hãy xem cách điều này ảnh hưởng đến CSS của chúng ta. Dưới đây là một ví dụ đơn giản:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Responsive Design Example</title>
<style>
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 20px;
}
.container {
max-width: 800px;
margin: 0 auto;
}
@media (max-width: 600px) {
body {
font-size: 14px;
}
}
</style>
</head>
<body>
<div class="container">
<h1>Welcome to My Responsive Website</h1>
<p>This content will adjust based on the viewport size.</p>
</div>
</body>
</html>

Trong ví dụ này, chúng ta đã đặt viewport bằng thẻ meta tag. CSS sau đó sử dụng một media query để điều chỉnh kích thước chữ khi chiều rộng màn hình là 600px hoặc ít hơn. Đây là thiết kế响应式 trong hành động!

Kết luận

Và thế là bạn đã có, các bạn! Chúng ta đã hành trình qua vùng đất của viewports, từ việc hiểu chúng là gì đến việc đặt chúng và xem chúng hoạt động như thế nào với CSS. Nhớ rằng, thiết kế响应式 là về việc tạo ra các trang web trông đẹp trên bất kỳ thiết bị nào, và nắm vững viewports là một bước lớn trong hướng đó.

Khi chúng ta kết thúc, đây là một chút hài hước về thiết kế web: Tại sao trang web响应式 lại đi đến liệu pháp? Nó có quá nhiều breakpoint! ?

Tiếp tục thực hành, giữ sự tò mò, và trước khi bạn biết điều đó, bạn sẽ tạo ra các trang web响应式 tuyệt vời. Đến gặp lại, chúc các bạn may mắn trong việc mã hóa!

Credits: Image by storyset