digtools
📏
css clamp generator,

Trình Tạo CSS Clamp

Bơm luồng sinh khí responsive mượt mà vào thiết kế của bạn bằng hàm tính clamp() tự động.

📊
Đồ thị trực quan
Theo dõi sự thay đổi của giá trị theo kích thước màn hình qua đồ thị.
🔠
Cân chữ và khoảng cách
Cân luôn cả margin, padding hay bất cứ đơn vị kích thước nào.
💻
Xuất code chớp nhoáng
Đẻ ra ngay đoạn mã dạng CSS thuần, biến CSS hoặc Tailwind.

Thông Số Tính Toán

Xem Trước Trực Tiếp

Chiều rộng mô phỏng 768px

Tiêu Đề Thu Phóng

Mọi người sinh ra đều có quyền tự do và bình đẳng. Thiết kế thu phóng mượt mà (fluid typography) giúp thông điệp của bạn luôn hiển thị hoàn hảo và dễ đọc trên bất kỳ thiết bị nào, từ chiếc điện thoại nhỏ bé đến chiếc màn hình siêu to khổng lồ.

Mã Đầu Ra

about,

Về công cụ này

"Trình Tạo CSS Clamp" là cái máy tính đắc lực giúp bạn nhẩm ra đoạn code clamp() hoàn hảo để xây dựng các kích thước linh hoạt (fluid sizing) cho chữ viết hoặc khoảng cách.

Thay vì ngồi đau đầu viết hàng tá dòng media query lắt nhắt, bạn chỉ cần ném cho nó kích thước nhỏ nhất, lớn nhất và hai mốc màn hình tương ứng. Đồ thị sẽ cho bạn thấy mọi thứ thu phóng mượt mà thế nào, còn phần code bên dưới thì cứ việc copy về xài luôn (hỗ trợ cả CSS thuần, biến CSS lẫn Tailwind).

Công cụ chạy trực tiếp bằng JavaScript trên trình duyệt của bạn, không có bất kỳ dữ liệu nào bị gửi về máy chủ cả. Vui lòng xài tự do và miễn phí.

how to,

Cách làm chủ clamp()

BƯỚC 1

Nhập thông số

Thiết lập độ rộng màn hình (viewport) và kích thước (size) giới hạn. Chọn xem bạn đang muốn bóp méo font-size, padding hay margin.

BƯỚC 2

Soi đồ thị & Review

Đưa mắt sang xem đường chéo trên đồ thị để biết nó tăng giảm ra sao. Kéo thanh trượt ở phần xem trước để mô phỏng y chang khi người dùng kéo thả kích thước cửa sổ trình duyệt.

BƯỚC 3

Bứng code về

Lựa chọn định dạng mã mà dự án của bạn đang dùng (CSS, Biến CSS, Tailwind), nhấn nút copy rồi dán thẳng vào file là xong việc.

glossary,

Từ Điển Khái Niệm

clamp()
Một hàm toán học của CSS có cú pháp clamp(nhỏ_nhất, lý_tưởng, lớn_nhất). Nó ghim một giá trị "lý tưởng" dao động trong khoảng từ min tới max. Đây là vũ khí tối thượng của responsive design.
vw (viewport width)
Đơn vị đo lường bằng 1% chiều ngang của màn hình hiện tại. Màn rộng 1000px thì 1vw là 10px. Đơn vị chủ lực để tạo ra sự co giãn linh hoạt.
rem
Đơn vị tương đối dựa trên kích thước chữ của thẻ gốc (thường là thẻ <html>). Dùng rem tốt cho khả năng tiếp cận (accessibility) hơn là xài thẳng đơn vị px cứng nhắc.
Fluid Typography (Chữ thu phóng)
Nghệ thuật làm cho font chữ lớn lên hoặc nhỏ đi một cách từ từ mịn màng theo bề ngang màn hình, đánh bay cái sự giật cục của media query truyền thống.
Giá trị lý tưởng (preferred value)
Tham số nằm chình ình ở giữa hàm clamp(). Công cụ này tính toán ra một phương trình đường thẳng bậc nhất theo dạng A(rem) + B(vw) để tạo đà tăng trưởng tuyến tính nối thẳng từ mốc kích thước min đến mốc max.
technology,

Mổ Sẻ Kỹ Thuật

Fluid typography bằng clamp() vận hành theo phương trình đường thẳng bậc nhất.

Công Thức Xương Máu

Áp dụng toán học phổ thông, ta có Độ dốc (slope) và Giao điểm (intercept) được tính như sau:

  • slope = (maxSize - minSize) / (maxVW - minVW)
  • intercept = minSize - slope × minVW

Từ đó, giá trị ưu tiên (preferred value) được lắp ráp thành: intercept(rem) + slope × 100(vw).

So Kèo Media Queries

Media query giống như bậc thang – đang yên đang lành tự nhiên nhảy giật một cái sang cỡ to hơn tại các breakpoint. Còn clamp() là một cái dốc thoai thoải, màn hình giãn ra bao nhiêu, phần tử to thêm bấy nhiêu. Viết ít code hơn, kết quả đẹp và sang xịn mịn hơn nhiều.

faq,

Câu Hỏi Thường Gặp

Q.Cái này có thu thập dữ liệu của tôi không?
Không hề. Mọi thứ tính toán đều được cái trình duyệt của bạn gánh vác, máy chủ của chúng tôi chả nhận được cái byte thông tin nào cả.
Q.Internet Explorer có xài được không?
Rất tiếc là Internet Explorer đã yên nghỉ và nó cũng mù tịt với hàm clamp(). Hãy dùng các trình duyệt hiện đại như Chrome, Firefox, Safari hoặc Edge nhé.
Q.Tôi có thể nhét clamp() vào thuộc tính nào ngoài font chữ?
Gần như mọi thuộc tính liên quan đến độ dài: padding, margin, width, height, gap v.v. Bạn cứ việc chọn trong danh sách thả xuống là được.
Q.Sao lại phải đổi ra đơn vị rem cho cực vậy?
Là để chừa đường sống cho những người dùng kém thị lực (liên quan đến tính tiếp cận - accessibility). Nếu họ đã chỉnh cỡ chữ mặc định trong trình duyệt to lên để dễ đọc, xài rem sẽ tôn trọng tùy chọn đó và phóng to tỷ lệ thuận, còn px thì sẽ phớt lờ hoàn toàn.
Q.Cái ruột toán học của nó tính toán kiểu gì vậy?
Nó đi giải bài toán phương trình đường thẳng bậc nhất. Dùng tọa độ 2 điểm (MinVW, MinSize) và (MaxVW, MaxSize) để tìm ra độ dốc (slope) và giao điểm (intercept), sau đó quy ra phần trăm vw để tạo độ co giãn mượt mà.
use cases,

Đất Dụng Võ

📱Web Responsive Siêu Cấp

Vuốt mượt các thẻ Heading từ màn hình di động lên tới màn ảnh rộng desktop bằng đúng một dòng CSS duy nhất, dẹp loạn hàng chục dòng media query cồng kềnh.

🧩Hệ Thống Thiết Kế (Design System)

Định nghĩa toàn bộ nấc thang kích cỡ bằng clamp() và nhét vào biến CSS làm design tokens xài tẹt ga cho quy mô toàn dự án.

📏Khoảng Cách Mượt Mà

Ốp clamp() cho padding, margin hay khoảng trống gap trong CSS Grid, bố cục của bạn sẽ co giãn êm ái cân đối với mọi tỷ lệ màn hình.

🤝Cân Cả Accessibility

Kết hợp clamp và rem mang tới một trải nghiệm thiết kế thân thiện, đáp ứng đúng tiêu chuẩn WCAG cho cộng đồng người dùng đa dạng.

Công cụ liên quan

Trình tạo CSSXem tất cả

Tất cả danh mục

Gửi phản hồi

Vui lòng cho chúng tôi biết suy nghĩ của bạn để giúp chúng tôi cải thiện công cụ.

Tuyên bố miễn trách nhiệm

Các công cụ được cung cấp trên trang web này hoàn toàn miễn phí, nhưng vui lòng sử dụng theo rủi ro của riêng bạn. Chúng tôi không đảm bảo về độ chính xác, đầy đủ hoặc an toàn của bất kỳ kết quả tính toán, kết quả chuyển đổi hoặc dữ liệu được tạo ra nào. Xin lưu ý rằng người vận hành không chịu trách nhiệm về bất kỳ thiệt hại hoặc sự cố nào gây ra bởi việc sử dụng các công cụ này. Hầu hết các công cụ xử lý tệp và tính toán ngay trong trình duyệt của bạn, nghĩa là dữ liệu bạn nhập không được gửi hoặc lưu trữ trên máy chủ của chúng tôi.