Đổi rem sang pixel (px)

Nội dung được kiểm tra lần cuối:

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
px
sang

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ế.

Mã CSS trong trình soạn thảo, bắt đầu bằng bộ chọn :root và danh sách biến màu
Bộ chọn :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.

Mã CSS có dòng font-size: 14px và bên dưới là dòng font-size: 0.875rem
Ở dòng 35 và 36, cỡ chữ được ghi hai lần: trước là 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

Cột thứ nhất dành cho cỡ chữ gốc mặc định 16 px. Cột thứ hai dành cho cỡ chữ gốc 10 px của kỹ thuật 62,5%. Cột thứ ba dành cho cỡ chữ gốc 20 px, là giá trị mà tùy chọn Lớn của Chrome và tùy chọn Cỡ phông lớn của Edge đặt ra. Các hàng được làm nổi bật là 1 rem và 1,5 rem.
Giá trị remỞ 16 px (mặc định)Ở 10 px (62,5%)Ở 20 px (Lớn)
0,125 rem2 px1,25 px2,5 px
0,25 rem4 px2,5 px5 px
0,375 rem6 px3,75 px7,5 px
0,5 rem8 px5 px10 px
0,625 rem10 px6,25 px12,5 px
0,75 rem12 px7,5 px15 px
0,8 rem12,8 px8 px16 px
0,875 rem14 px8,75 px17,5 px
0,9 rem14,4 px9 px18 px
1 rem16 px10 px20 px
1,1 rem17,6 px11 px22 px
1,125 rem18 px11,25 px22,5 px
1,2 rem19,2 px12 px24 px
1,25 rem20 px12,5 px25 px
1,3 rem20,8 px13 px26 px
1,375 rem22 px13,75 px27,5 px
1,4 rem22,4 px14 px28 px
1,5 rem24 px15 px30 px
1,6 rem25,6 px16 px32 px
1,625 rem26 px16,25 px32,5 px
1,75 rem28 px17,5 px35 px
1,8 rem28,8 px18 px36 px
1,875 rem30 px18,75 px37,5 px
2 rem32 px20 px40 px
2,25 rem36 px22,5 px45 px
2,5 rem40 px25 px50 px
2,75 rem44 px27,5 px55 px
3 rem48 px30 px60 px
3,5 rem56 px35 px70 px
3,75 rem60 px37,5 px75 px
4 rem64 px40 px80 px
4,5 rem72 px45 px90 px
5 rem80 px50 px100 px
6 rem96 px60 px120 px
8 rem128 px80 px160 px
10 rem160 px100 px200 px
16 rem256 px160 px320 px
20 rem320 px200 px400 px
32 rem512 px320 px640 px
Công cụ tính mọi ô bằng công thức px = rem × cỡ chữ gốc và ghi với tối đa hai chữ số thập phân, giống ô kết quả.

Các cỡ chữ của Tailwind CSS bằng bao nhiêu pixel?

Tailwind CSS ghi cỡ chữ bằng rem. Nhỏ nhất là text-xs với 0,75 rem, lớn nhất là text-9xl với 8 rem[3]. Hai cột cuối cho số pixel ở cỡ chữ gốc 16 px và ở cỡ chữ gốc 20 px của tùy chọn Lớn trong Chrome.
Lớp TailwindGiá trị remPixel ở 16Pixel ở 20
text-xs0,75 rem12 px15 px
text-sm0,875 rem14 px17,5 px
text-base1 rem16 px20 px
text-lg1,125 rem18 px22,5 px
text-xl1,25 rem20 px25 px
text-2xl1,5 rem24 px30 px
text-3xl1,875 rem30 px37,5 px
text-4xl2,25 rem36 px45 px
text-5xl3 rem48 px60 px
text-6xl3,75 rem60 px75 px
text-7xl4,5 rem72 px90 px
text-8xl6 rem96 px120 px
text-9xl8 rem128 px160 px
Giá trị lấy từ trang font-size trong tài liệu của Tailwind CSS, bản tiếng Anh. Số pixel do công cụ tính. Nếu kích thước trong bản thiết kế của bạn ghi bằng pixel, hãy đổi bằng công cụ đổi px sang rem để tìm lớp tương ứng.

Mỗi tùy chọn cỡ chữ trong Chrome và Edge đặt cỡ chữ gốc bao nhiêu?

Chrome và Edge có danh sách năm tùy chọn cỡ chữ. Chúng tôi chọn lần lượt từng tùy chọn trong cả hai trình duyệt và đo một trang thử nghiệm. Cỡ chữ của phần tử html luôn bằng con số trong cột cỡ chữ gốc, còn phần tử ghi bằng 16px vẫn là 16 px với mọi tùy chọn.
Tùy chọn trong ChromeTùy chọn trong EdgeCỡ chữ gốc, tức 1 rem0,875 rem1,5 rem2 rem
Rất nhỏCỡ phông rất nhỏ9 px7,88 px13,5 px18 px
NhỏCỡ phông nhỏ12 px10,5 px18 px24 px
Trung bình (Được đề xuất)Cỡ phông trung bình (Được đề xuất)16 px14 px24 px32 px
LớnCỡ phông lớn20 px17,5 px30 px40 px
Rất lớnCỡ phông rất lớn24 px21 px36 px48 px
Trong Firefox, danh sách Cỡ chữ có các giá trị từ 9 đến 72 px, và giá trị được chọn cũng trở thành cỡ chữ gốc theo cách tương tự. Safari trên Mac chỉ cho đặt cỡ chữ tối thiểu trong phần cài đặt[4].

Công cụ này nhận và tính những cách ghi nào?

Mỗi ô nhận và tính mọi cách ghi trong phần dành cho ô đó ở bảng này, nên bạn không cần sửa giá trị trước khi dán. Hãy dán nguyên như khi sao chép từ stylesheet hoặc công cụ dành cho nhà phát triển, dùng dấu phẩy hay dấu chấm, kèm cả đơn vị. Cột giữa là kết quả do chính công cụ tính ở cỡ chữ gốc 16 px.
Bạn gõ hoặc dánKế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,524 pxDấ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.524 pxDấ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.875rem30 pxDấ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.87530 pxMộ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.
.875rem14 pxGiá 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 pxNguyê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 pxMộ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 pxLề â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/412 pxPhâ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 pxPhầ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 pxPhần trăm có dấu chấm, như cách ghi trong CSS: kết quả vẫn như vậy.
125%20 pxPhầ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: 20px20 pxDò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,518,5 pxCỡ 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.
Chúng tôi đã thử từng cách ghi trong chính ô nhập trước khi đưa vào đây. Nếu dưới ô hiện yêu cầu nhập một số duy nhất, hãy xóa mọi thứ trong phần đã sao chép, chỉ giữ lại giá trị.

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.

  1. 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.
  2. 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).
  3. 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.
  4. 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

  1. CSS Values and Units Module Level 4 — W3C
  2. Pixel — Wikipedia tiếng Việt
  3. font-size — Tailwind CSS
  4. Thay đổi cài đặt Nâng cao trong Safari trên máy Mac — Apple
  5. Web Content Accessibility Guidelines (WCAG) 2.2 — W3C
  6. <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.

Ảnh chụp màn hình công cụ miễn phí của Arteon: Đổi rem sang pixel (px)

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.