Chieu ngang của một ký tự bằng bao nhiêu css năm 2024
Trong HTML, một vài loại phần tử có khả năng giữ tỉ lệ kích thước không đổi, ví dụ với Show Tuy nhiên, có một vài trường hợp mà bạn cần tạo một phần tử DIV có khả năng giữ nguyên tỉ lệ kích thước như vậy. Không may là các phần tử 0 để giúp chúng ta tạo ratio box, nhưng hỗ trợ trình duyệt chưa thật sự tốt (ở thời điểm viết bài, chỉ có các trình duyệt Chromium và Firefox Nightly là hỗ trợ, Safari thì chưa thấy đâu). Trong bài viết ngắn này, mình xin được chia sẻ về một vài giải pháp để tạo ra các phần tử có đảm bảo aspect ratio, cũng như một vài trường hợp bạn cần đến chúng. Tuy không quá phổ biến, nhưng một lúc nào đó bạn sẽ gặp mong muốn có một phần tử 2 thì có đảm bảo aspect ratio, nhưng phần tử 5 với giá trị theo phần trăm
5 có giá trị tương đối với width của phần tử cha. Điều đó có nghĩa là: nếu giả sử phần tử cha hiện đang có kích thước 500px, và phần tử 5 được đặt giá trị là 100%, thì tức là
5 cũng sẽ có độ dài đúng 500px. Lúc phần tử cha thay đổi kích thước, thì Thử tạo một file HTML với đoạn code trên và thay đổi cỡ chiều ngang của trình duyệt, bạn sẽ thấy chiều dọc của phần tử sẽ được thay đổi tương ứng để đảm bảo luôn là hình vuông! Tương tự với logic này, nếu bạn muốn có một 5 thành 56.25% là được. Lý do đơn giản bởi vì 916=56.25%\frac{9}{16} = 56.25\%! Một thứ nữa mà có thể bạn thắc mắc: làm thế nào nếu mình muốn thêm nội dung (chữ, ảnh, video,...) vào bên trong phần tử 5!
Phương pháp này tương đối phổ biến, được Google áp dụng cho mã embed của Youtube, và hoạt động tốt cho mọi trình duyệt (cả IE, Safari,...). Ở đầu bài mình có nhắc đến việc phần tử Ưu điểm so với phương pháp đầu có lẽ là trông nó ít "mẹo" hơn, hay những tỉ lệ mà phép chia ra số vô tỉ (ví dụ với tỉ lệ 3:2 thì sẽ phải là 23=0.66666666\frac{2}{3} = 0.66666666. Đoạn code thì khá giống với phương pháp đầu tiên, chỉ khác là thay cho phần tử "trick padding" thì ta thay bằng phần tử 0 trong CSS Với phương pháp chính thức được hỗ trợ bởi trình duyệt, bạn không cần phải làm rối code thêm với các thuộc tính
5 nữa. Cùng với ví dụ tạo ra một phần tử Tiện lợi hơn rất nhiều nhỉ? Nhưng đáng tiếc là ngay đến bây giờ, các trình duyệt vẫn chưa hỗ trợ hết thuộc tính này. Chrome (và các trình duyệt Chromium-based) là trình duyệt duy nhất hỗ trợ property này. Trình duyệt khác như Firefox thì chuẩn bị hỗ trợ ở bản 89 (Firefox stable hiện đang ở bản 88), còn Safari thì chưa có tin gì về việc hỗ trợ. |