Responsive fontsize text trong html5 một cách dễ dàng (How to responsive fontsize text in html5)

Trước tiên, ta phải tìm hiểu sơ qua một số đơn vị trong html5. Ngoài đơn vị pixel ra thì có một số đơn vị hay sử dụng:

Đơn vị : em

 Ví dụ có element div1 chứa div2, div1font-size:14px thì div2 bạn dặt font-size là 1.2em thì nó sẽ được tính ra giá trị là 14 * 1.2em = 16.8px do kế thừa từ thằng cha gần nhất của nó. Cứ thế nếu có div3 nằm trong div2 thì nó sẽ được tính 16.8 * 1.2em = 20.8px

Đơn vị : rem

 Ví dụ có element div1 chứa div2div1 có font-size:14px thì div2 bạn dặt font-size là 1.2rem thì nó ko kế thừa từ thằng cha gần nhất của nó mà lấy giá trị của tag html root . Nếu tag html có font-size là 16px thì div2 sẽ được tính ra giá trị 16 *1.2rem . Nếu có div3  chứa trong div2 thì nó cũng chỉ nhận giá trị 16 *1.2rem 

=>Nếu xài đơn vị em thì nó lấy kế thừa thằng cha gần nhất của nó
=>Nếu sử dụng đơn vị rem thì nó lấy giá trị của html tag root


Đơn vị : vw

1 vw = 1% chiều ngang của trình duyệt.

Đơn vị : vh

1 vh = 1% chiều cao của trình duyệt.


Bây giờ bắt đầu responsive fontsize text, ta sử dụng đơn vị vw

Bạn chỉ cần áp dụng công thức sau đây

font-size: calc([minimum size] + ([maximum size] - [minimum size]) * ((100vw - [minimum viewport width]) / ([maximum viewport width] - [minimum viewport width])));


Ví dụ :

font-size: calc(14px + (26 - 14) * ((100vw - 300px) / (1200 - 300)));

Ở ví dụ trên ta có thể xác định được vị trí breakpoint 1200px thì front-size sẽ bằng 26px, và khi resize màn hình lớn hơn 1200px thì font-size sẽ tăng lên, hoặc nhỏ hơn thì font-size sẽ giảm xuống theo tỉ lệ đã được tính trong hàm calc ở trên.

Sau đây là demo chi tiết

Ta có nội dung trang web như sau


File style.css



Chạy trên trình duyệt



Bây giờ responsive như sau


Nếu ở màn hình nhỏ hơn 640px thì body sẽ lấy giá trị từ 14px tới 26px, class box sẽ lấy giá trị từ 16px đến 26px. Tuỳ ý ta resize như thế nào thì text sẽ tự co giãn cho phù hợp

Kết quả trình duyệt


Thử resize nhỏ lại xíu thì font size của class box sẽ giảm xuống như hình


Xem demo tại đây
Link tham khảo thêm:
https://viblo.asia/p/7-don-vi-css-co-the-ban-khong-biet-E375zyj6lGW
https://viblo.asia/p/responsive-and-fluid-typography-4P8563raKY3
https://css-tricks.com/snippets/css/fluid-typography/

Chúc bạn thành công :)

Related

tut-it 2907697896069784761

Post a Comment Default Comments

emo-but-icon
:noprob:
:smile:
:shy:
:trope:
:sneered:
:happy:
:escort:
:rapt:
:love:
:heart:
:angry:
:hate:
:sad:
:sigh:
:disappointed:
:cry:
:fear:
:surprise:
:unbelieve:
:shit:
:like:
:dislike:
:clap:
:cuff:
:fist:
:ok:
:file:
:link:
:place:
:contact:

RecentPopularComments

Recent

Cài đặt Wordpress trên localhost với XAMPP (Install wordpress on localhost with XAMPP)

Bước 1:Bạn cài đặt XAMPP và download Wordpress tại địachỉ https://wordpress.org/download/ về máy tính của mình Bước 2: Giải nén thư mục Wordpress vừa download và chép vào thư mục htdocs của...

Fix lỗi mở file Power Point (How to Solve “PowerPoint Found a Problem with Content” Error)

Khi bạn mở file Power Point lên mà bị thống báo lỗi này Click Repair thử  Vẫn không được !!!! Để giải quyết trường hợp này mình sẽ có 2 cách để khắc phục Cách 1: Bạn làm như sau Tắ...

Resources for IT (Collect somewhere on Internet)

Resources include link download tools, software, code for IT default-facebook

Xoá các file đã mở gần đây trong Photoshop CC (Delete Recent file list on Photoshop CC)

Nếu như bạn đã làm việc hay thao tác với một số file trên Photoshop. Khi tắt Photoshop, mở lại dùng nó vào lần sau, thì khi mở lên Photoshop sẽ hiện danh sách các file bạn đã thao tác , làm việc cùng ...

Responsive fontsize text trong html5 một cách dễ dàng (How to responsive fontsize text in html5)

Trước tiên, ta phải tìm hiểu sơ qua một số đơn vị trong html5. Ngoài đơn vị pixel ra thì có một số đơn vị hay sử dụng: Đơn vị : em  Ví dụ có element div1 chứa div2, div1 có font-size:14px ...

Resources for designer (Collect somewhere on Internet)

Resources include link download stock, plugin, tool... for designer. default-facebook

Set up chiều rộng của các cột trong table bằng nhau chỉ bằng một thuộc tính trong css (Set column of table same width by css)

Bài viết này mình xin demo 1 trick để set up chiều rộng của thẻ td trong table html5 chỉ bằng một thuộc tính. Ở đây ví dụ mình có cái bảng viết bằng code html5 giao diện như sau Có tổng cộng 3 cộ...

Comments

Diễn Đàn Gaming:

SELLVIA24H.TOP - Latest news from the United States

Intern TOS:

github là gì Có thể nhiều người không biết github là gì ấy chứ, GitHub là một nơi để lưu trữ và quản lý mã nguồn cho các dự án phần mềm. GitHub có cả phiên bản miễn phí và trả phí, với phiên bản miễn ...

Intern TOS:

This comment has been removed by the author.

Like Us!

item