Đổi rem sang pixel (px)
Một rem bằng 16 px ở cỡ chữ mặc định của trình duyệt, nên 1,5 rem bằng 24 px. Phép tính chỉ là một phép nhân: giá trị rem nhân với cỡ chữ gốc của trang. Hãy nhập giá trị vào ô đầu tiên, và nếu trang của bạn dùng cỡ chữ gốc khác, hãy ghi nó vào ô font-size gốc.
rem là gì và pixel trong CSS là gì?
rem là đơn vị độ dài tương đối trong CSS. Giá trị của nó bằng cỡ chữ đã tính của phần tử gốc của trang, tức phần tử html[1]. Nếu cỡ chữ của html là 16 px, mỗi rem trên trang đó bằng 16 px. Khi cỡ chữ này thay đổi, mọi kích thước ghi bằng rem cũng thay đổi theo cùng lúc.
Pixel (px) trong CSS là đơn vị cố định, được tiêu chuẩn định nghĩa bằng 1/96 inch[1]. Vì vậy một inch trong CSS bằng 96 px, và công cụ đổi inch sang px mặc định dùng độ phân giải 96 điểm ảnh trên mỗi inch. Theo nghĩa chung, pixel hay điểm ảnh là đơn vị cơ bản nhất để tạo nên một bức ảnh kỹ thuật số[2]. Pixel trong CSS không đổi khi người đọc thay đổi cỡ chữ trong trình duyệt. Các phần mềm thiết kế như Figma cũng hiển thị kích thước bằng pixel, nên việc đổi rem sang pixel giúp bạn đối chiếu stylesheet với bản thiết kế.

:root trong trang HTML trỏ tới chính phần tử html, nên cỡ chữ ghi ở đây trở thành gốc của mọi giá trị rem. Ở phần nhìn thấy trong ảnh, bộ chọn này chứa các biến màu và không đặt cỡ chữ, vì thế cỡ chữ gốc vẫn là của trình duyệt. Ảnh: Pankaj Patel, Unsplash.1 rem bằng bao nhiêu px?
1 rem bằng 16 px khi cỡ chữ gốc vẫn ở giá trị mặc định, và trong Chrome, Edge, Firefox giá trị đó là 16 px. Công thức chỉ có một phép nhân: px = rem × cỡ chữ gốc. Vậy 1,5 rem bằng 24 px. Còn 0,875 rem bằng 14 px, cũng là cỡ chữ text-sm của Tailwind CSS[3].
Số 16 chỉ là giá trị mặc định và có thể thay đổi từ hai phía. Phía thứ nhất là stylesheet: quy tắc html { font-size: 62.5% } làm cỡ chữ gốc thành 10 px, nên 1,5 rem thành 15 px. Phía thứ hai là chính người đọc. Khi chúng tôi chọn Lớn trong danh sách Cỡ chữ ở phần Cài đặt của Chrome, cỡ chữ của phần tử html thành 20 px, và 1 rem cũng thành 20 px.
Vì vậy công cụ có ô thứ ba cho cỡ chữ gốc. Hãy ghi vào đó cỡ chữ gốc mà trang của bạn dùng, và bạn sẽ có số pixel mà người đọc trang ấy nhìn thấy. Nếu chưa biết, hãy bắt đầu với số 16 có sẵn trong ô khi mở công cụ, vì đó là giá trị mặc định của cả ba trình duyệt.
Đổi rem sang px như thế nào? Công thức và ví dụ
Công thức là px = rem × font-size, trong đó font-size là cỡ chữ của phần tử html. Lấy ví dụ khoảng cách 1,25 rem. Ở cỡ chữ gốc mặc định 16 px, ta có 1,25 × 16 = 20 px. Ở cỡ chữ gốc 20 px, cùng khoảng cách đó thành 25 px.
Kỹ thuật 62,5% đặt cỡ chữ của html bằng 62,5% giá trị mặc định, nên cỡ chữ gốc thành 10 px, vì 62,5% của 16 là 10. Khi đó giá trị đọc được ngay: 2,4 rem bằng 24 px. Nếu người đọc tăng cỡ chữ trong trình duyệt lên 20 px, cỡ chữ gốc thành 12,5 px và 2,4 rem thành 30 px. Ô font-size gốc của công cụ nhận phần trăm như cách bạn ghi trong stylesheet và tính từ 16 px. Khi bạn nhập 62,5%, công cụ sẽ dùng cỡ chữ gốc 10 px.
Cùng công thức ấy dùng theo chiều ngược lại bằng phép chia, và đó là việc mà công cụ đổi px sang rem làm. Đơn vị em được tính từ cỡ chữ của phần tử cha, và cho nó có công cụ đổi em sang px với ô cho cỡ chữ của phần tử cha. Nếu kích thước được ghi bằng point (pt), đơn vị cỡ chữ trong các phần mềm soạn thảo văn bản, hãy đổi sang pixel trước bằng công cụ đổi pt sang px.

14px, sau là 0.875rem. Dòng thứ hai đứng sau dòng thứ nhất, nên trình duyệt áp dụng 0.875rem. Ở cỡ chữ gốc 16 px, kết quả vẫn là 14 px, vì 0,875 × 16 = 14. Ở cỡ chữ gốc 20 px, chữ thành 17,5 px. Ảnh: Nick Karvounis, Unsplash.Bảng đổi rem sang px ở ba cỡ chữ gốc
| Giá trị rem | Ở 16 px (mặc định) | Ở 10 px (62,5%) | Ở 20 px (Lớn) |
|---|---|---|---|
| 0,125 rem | 2 px | 1,25 px | 2,5 px |
| 0,25 rem | 4 px | 2,5 px | 5 px |
| 0,375 rem | 6 px | 3,75 px | 7,5 px |
| 0,5 rem | 8 px | 5 px | 10 px |
| 0,625 rem | 10 px | 6,25 px | 12,5 px |
| 0,75 rem | 12 px | 7,5 px | 15 px |
| 0,8 rem | 12,8 px | 8 px | 16 px |
| 0,875 rem | 14 px | 8,75 px | 17,5 px |
| 0,9 rem | 14,4 px | 9 px | 18 px |
| 1 rem | 16 px | 10 px | 20 px |
| 1,1 rem | 17,6 px | 11 px | 22 px |
| 1,125 rem | 18 px | 11,25 px | 22,5 px |
| 1,2 rem | 19,2 px | 12 px | 24 px |
| 1,25 rem | 20 px | 12,5 px | 25 px |
| 1,3 rem | 20,8 px | 13 px | 26 px |
| 1,375 rem | 22 px | 13,75 px | 27,5 px |
| 1,4 rem | 22,4 px | 14 px | 28 px |
| 1,5 rem | 24 px | 15 px | 30 px |
| 1,6 rem | 25,6 px | 16 px | 32 px |
| 1,625 rem | 26 px | 16,25 px | 32,5 px |
| 1,75 rem | 28 px | 17,5 px | 35 px |
| 1,8 rem | 28,8 px | 18 px | 36 px |
| 1,875 rem | 30 px | 18,75 px | 37,5 px |
| 2 rem | 32 px | 20 px | 40 px |
| 2,25 rem | 36 px | 22,5 px | 45 px |
| 2,5 rem | 40 px | 25 px | 50 px |
| 2,75 rem | 44 px | 27,5 px | 55 px |
| 3 rem | 48 px | 30 px | 60 px |
| 3,5 rem | 56 px | 35 px | 70 px |
| 3,75 rem | 60 px | 37,5 px | 75 px |
| 4 rem | 64 px | 40 px | 80 px |
| 4,5 rem | 72 px | 45 px | 90 px |
| 5 rem | 80 px | 50 px | 100 px |
| 6 rem | 96 px | 60 px | 120 px |
| 8 rem | 128 px | 80 px | 160 px |
| 10 rem | 160 px | 100 px | 200 px |
| 16 rem | 256 px | 160 px | 320 px |
| 20 rem | 320 px | 200 px | 400 px |
| 32 rem | 512 px | 320 px | 640 px |
Các cỡ chữ của Tailwind CSS bằng bao nhiêu pixel?
| Lớp Tailwind | Giá trị rem | Pixel ở 16 | Pixel ở 20 |
|---|---|---|---|
| text-xs | 0,75 rem | 12 px | 15 px |
| text-sm | 0,875 rem | 14 px | 17,5 px |
| text-base | 1 rem | 16 px | 20 px |
| text-lg | 1,125 rem | 18 px | 22,5 px |
| text-xl | 1,25 rem | 20 px | 25 px |
| text-2xl | 1,5 rem | 24 px | 30 px |
| text-3xl | 1,875 rem | 30 px | 37,5 px |
| text-4xl | 2,25 rem | 36 px | 45 px |
| text-5xl | 3 rem | 48 px | 60 px |
| text-6xl | 3,75 rem | 60 px | 75 px |
| text-7xl | 4,5 rem | 72 px | 90 px |
| text-8xl | 6 rem | 96 px | 120 px |
| text-9xl | 8 rem | 128 px | 160 px |
Mỗi tùy chọn cỡ chữ trong Chrome và Edge đặt cỡ chữ gốc bao nhiêu?
| Tùy chọn trong Chrome | Tùy chọn trong Edge | Cỡ chữ gốc, tức 1 rem | 0,875 rem | 1,5 rem | 2 rem |
|---|---|---|---|---|---|
| Rất nhỏ | Cỡ phông rất nhỏ | 9 px | 7,88 px | 13,5 px | 18 px |
| Nhỏ | Cỡ phông nhỏ | 12 px | 10,5 px | 18 px | 24 px |
| Trung bình (Được đề xuất) | Cỡ phông trung bình (Được đề xuất) | 16 px | 14 px | 24 px | 32 px |
| Lớn | Cỡ phông lớn | 20 px | 17,5 px | 30 px | 40 px |
| Rất lớn | Cỡ phông rất lớn | 24 px | 21 px | 36 px | 48 px |
Công cụ này nhận và tính những cách ghi nào?
| Bạn gõ hoặc dán | Kết quả công cụ tính | Điều xảy ra với cách ghi này |
|---|---|---|
| Ô thứ nhất: giá trị rem, cỡ chữ gốc 16 px | ||
| 1,5 | 24 px | Dấu phẩy thập phân, đúng cách viết số trong tiếng Việt: 1,5 nhân với 16. |
| 1.5 | 24 px | Dấu chấm theo sau một hoặc hai chữ số được đọc là dấu thập phân, như trong CSS. |
| 1.875rem | 30 px | Dấu chấm dính liền với rem được đọc là dấu thập phân kể cả khi sau nó có ba chữ số, vì CSS ghi phần thập phân bằng dấu chấm. Bên dưới ô sẽ hiện một dòng nhắc với cách đọc còn lại, 1875. |
| 1.875 | 30 px | Một dấu chấm đơn lẻ luôn được đọc là dấu thập phân, kể cả khi không kèm đơn vị, nên giá trị là 1,875 rem. Bên dưới ô sẽ hiện một dòng nhắc; muốn nhập một nghìn tám trăm bảy mươi lăm rem, hãy gõ 1875 hoặc 1 875. |
| .875rem | 14 px | Giá trị từ tệp CSS đã rút gọn, không có số 0 trước dấu chấm: được đọc là 0,875 và bỏ qua chữ rem. |
| font-size: 1.5rem; | 24 px | Nguyên một dòng từ stylesheet: công cụ lấy con số và bỏ qua tên thuộc tính cùng dấu chấm phẩy. |
| --text-sm: 0.875rem; | 14 px | Một dòng từ biến giao diện của Tailwind CSS: hai dấu gạch ở đầu tên biến không bị tính là dấu trừ. |
| margin-top: -0.5rem; | -8 px | Lề âm từ stylesheet: dấu trừ dính liền với con số vẫn được tính, nên kết quả ra số âm. |
| 3/4 | 12 px | Phân số thường: 3 chia 4 được 0,75 rem. |
| Ô “font-size gốc”: công cụ tính cỡ chữ gốc | ||
| 62,5% | 10 px | Phần trăm có dấu phẩy: được tính từ cỡ chữ gốc mặc định 16 px, và 62,5% của 16 là 10. |
| 62.5% | 10 px | Phần trăm có dấu chấm, như cách ghi trong CSS: kết quả vẫn như vậy. |
| 125% | 20 px | Phần trăm lớn hơn 100%: 125% của 16 là 20, bằng cỡ chữ gốc của tùy chọn Lớn trong Chrome. |
| font-size: 20px | 20 px | Dòng sao chép từ công cụ dành cho nhà phát triển: công cụ lấy con số, bỏ qua tên thuộc tính và đơn vị. |
| 18,5 | 18,5 px | Cỡ chữ gốc có phần thập phân sau dấu phẩy, được nhận khi nằm trong khoảng từ 1 đến 100. |
Làm sao đổi cỡ chữ gốc trong Chrome, Edge, Firefox và Safari?
Trong Chrome, Edge và Firefox, cỡ chữ mà người đọc chọn trở thành gốc của mọi giá trị rem trên các trang họ mở. Tên các mục ở đây đúng như giao diện tiếng Việt của từng trình duyệt.
Chrome
Mở Cài đặt, rồi Hình thức, và chọn kích thước trong danh sách Cỡ chữ. Nút Tùy chỉnh phông chữ mở một trang có thanh trượt Cỡ chữ và Cỡ chữ tối thiểu.Edge
Mở Cài đặt, rồi Giao diện và Phông chữ, và chọn trong danh sách Kích cỡ phông chữ. Tên các tùy chọn bắt đầu bằng Cỡ phông, và tùy chọn ở giữa là Cỡ phông trung bình (Được đề xuất).Firefox
Mở Cài đặt, rồi Trợ năng, và trong phần Phông chữ chọn một số trong danh sách Cỡ chữ. Nút Cài đặt nâng cao mở cửa sổ Phông với danh sách Phông cho và ô Cỡ phông tối thiểu. Trang tiếng Việt dùng nhóm chữ Latinh, giống như trang tiếng Anh.Safari trên Mac
Trong menu Safari, chọn Cài đặt, sau đó bấm vào Nâng cao. Ở đây Safari chỉ đặt giới hạn dưới: bật tùy chọn Không bao giờ sử dụng kích cỡ phông chữ nhỏ hơn rồi chọn một số. Apple gợi ý thử 12 hoặc 14 nếu bạn chưa chắc nên chọn cỡ nào[4].
Vì sao cỡ chữ được ghi bằng rem?
Chữ ghi bằng rem to lên khi người đọc tăng cỡ chữ trong trình duyệt, còn chữ ghi bằng pixel giữ nguyên. Điều này thuộc tiêu chí 1.4.4 Resize Text trong WCAG, bộ hướng dẫn của W3C về khả năng tiếp cận nội dung web: “Except for captions and images of text, text can be resized without assistive technology up to 200 percent without loss of content or functionality.”[5] Nghĩa là, trừ phụ đề và hình ảnh chứa chữ, văn bản có thể phóng to đến 200% mà không cần công nghệ hỗ trợ và không mất nội dung hay chức năng. Chúng tôi trích tiêu chí này bằng tiếng Anh, ngôn ngữ của bản gốc. Việc đổi sang pixel giúp đối chiếu với bản thiết kế, còn kích thước từ bản thiết kế thì bạn ghi vào stylesheet bằng rem với công cụ đổi px sang rem.
Chuyển đổi đơn vị khác sang Pixel
Nguồn tham khảo
- CSS Values and Units Module Level 4 — W3C
- Pixel — Wikipedia tiếng Việt
- font-size — Tailwind CSS
- Thay đổi cài đặt Nâng cao trong Safari trên máy Mac — Apple
- Web Content Accessibility Guidelines (WCAG) 2.2 — W3C
- <length> CSS type — MDN Web Docs
Mọi giá trị trong bảng đều được chúng tôi tính từ định nghĩa của các đơn vị và kiểm tra lại bằng phép tính trước khi đăng. Dữ liệu lịch sử và tên các đơn vị địa phương dựa trên các nguồn nêu ở trên.
Nội dung được kiểm tra lần cuối: · biên soạn và kiểm tra bởi đội ngũ Arteon
Câu hỏi thường gặp về việc đổi rem sang px
1 rem có luôn bằng 16 px không?
1 rem bằng 16 px khi cỡ chữ gốc vẫn ở giá trị mặc định[6]. Nếu trang đặt cỡ chữ khác cho phần tử html, hoặc người đọc đổi cỡ chữ trong trình duyệt, thì 1 rem cũng đổi theo. Ví dụ, với tùy chọn Lớn trong Chrome, 1 rem thành 20 px.
1,5 rem bằng bao nhiêu px?
1,5 rem bằng 24 px ở cỡ chữ gốc mặc định 16 px. Ở cỡ chữ gốc 10 px là 15 px, còn ở cỡ chữ gốc 20 px là 30 px.
2 rem và 0,5 rem bằng bao nhiêu px?
Ở cỡ chữ gốc 16 px, 2 rem bằng 32 px và 0,5 rem bằng 8 px. Cả hai thay đổi theo cỡ chữ gốc: ở 20 px, 2 rem thành 40 px và 0,5 rem thành 10 px.
rem và em khác nhau thế nào?
rem luôn được tính từ cỡ chữ của phần tử html, nên có cùng giá trị trên cả trang. em được tính từ cỡ chữ của phần tử cha, nên 1.5em trong một phần tử có cỡ chữ 20 px bằng 30 px. Với em, hãy dùng công cụ đổi em sang px.
Thu phóng trang có làm đổi giá trị 1 rem không?
Trong lần đo của chúng tôi trên Chrome, 1 rem vẫn là 16 px sau khi thu phóng trang lên 125%. Thu phóng trang phóng to mọi thứ trên trang cùng lúc, cả phần ghi bằng rem lẫn phần ghi bằng pixel. Còn đổi cỡ chữ thì chỉ làm thay đổi giá trị rem.
Cỡ chữ tối thiểu có làm thay đổi cách tính rem không?
Trong lần đo của chúng tôi trên Chrome và Firefox thì không. Chúng tôi đặt cỡ chữ tối thiểu 12 px trên một trang dùng html { font-size: 62.5% }. Kết quả 2,4 rem vẫn bằng 24 px, tức rem vẫn được tính từ cỡ chữ gốc 10 px.
Làm sao biết cỡ chữ gốc của một trang web?
Mở công cụ dành cho nhà phát triển trong Chrome, chọn phần tử html trong bảng Phần tử, mở thẻ Đã tính toán và tìm font-size. Con số ở đó là cỡ chữ gốc mà rem trên trang đang dùng lúc này, sau khi đã kết hợp cài đặt của trang và cài đặt của người đọc.
Tailwind CSS có dùng đơn vị rem không?
Có, cỡ chữ trong Tailwind CSS được ghi bằng rem. Lớp text-base bằng 1 rem, tức 16 px ở cỡ chữ gốc mặc định, còn lớp text-2xl bằng 1,5 rem, tức 24 px.
Vì sao kết quả có số lẻ như 17,5 px?
Nhân với cỡ chữ gốc khác 16 có thể ra số lẻ: 0,875 rem ở cỡ chữ gốc 20 px bằng 17,5 px. Công cụ hiển thị tối đa hai chữ số thập phân, và trình duyệt chấp nhận phần lẻ của pixel như vậy trên trang.

Giúp chúng tôi cải thiện công cụ
Bạn thấy một giá trị cho kết quả khác trong trình duyệt của mình, hay có ý tưởng cho công cụ này? Hãy viết cho chúng tôi.