Chiều cao thẻ css p
4 và 5 là các thuộc tính CSS đơn giản. Đơn giản đến mức hầu hết chúng ta đều bị thuyết phục để hiểu đầy đủ cách chúng hoạt động và cách sử dụng chúng. Nhưng nó không phải là. Chúng thực sự phức tạp, có thể là khó nhất, vì chúng có vai trò chính trong việc tạo ra một trong những tính năng ít được biết đến của CSS. bối cảnh định dạng nội tuyến Show
Ví dụ: bạn có thể đặt 6 làm độ dài hoặc giá trị không có đơn vị nhưng giá trị mặc định là 7. OK, nhưng bình thường là gì? . 2, ngay cả. Chúng tôi biết rằng 6 không có đơn vị là 9 họ hàng, nhưng vấn đề là 0 hoạt động khác nhau giữa các họ phông chữ, vậy ____0_______6 luôn giống nhau hay khác nhau? . 2? Tìm hiểu sâu về một cơ chế CSS không hề đơn giản… Hãy nói về p { font-size: 100px } .a { font-family: Helvetica } .b { font-family: Gruppo } .c { font-family: Catamaran }9 trướcHãy xem mã HTML đơn giản này, một thẻ 5 chứa 3 6, mỗi thẻ có một 7 khác nhau
Sử dụng cùng một 9 với các họ phông chữ khác nhau sẽ tạo ra các phần tử có độ cao khác nhauCác họ phông chữ khác nhau, cùng cỡ chữ, cho các độ cao khác nhauNgay cả khi chúng tôi nhận thức được hành vi đó, tại sao 0 không tạo các phần tử có chiều cao 100px? . Helvetica. Nhóm 115px. 97px và Catamaran. 164pxCác phần tử có cỡ chữ. 100px có chiều cao thay đổi từ 97px đến 164pxMặc dù thoạt nghe có vẻ hơi kỳ lạ, nhưng nó hoàn toàn được mong đợi. Lý do nằm bên trong chính phông chữ. Đây là cách nó làm việc
Hãy lấy phông chữ Catamaran và mở nó trong FontForge để lấy số liệu
Điều đó có nghĩa là phông chữ Catamaran sử dụng 1100 + 540 đơn vị trong một ô vuông 1000 đơn vị, cho chiều cao là 164px khi đặt 0. Chiều cao được tính toán này xác định vùng nội dung của một phần tử và tôi sẽ đề cập đến thuật ngữ này cho phần còn lại của bài viết. Bạn có thể coi khu vực nội dung là khu vực áp dụng thuộc tính 1Chúng ta cũng có thể dự đoán rằng chữ hoa cao 68px (680 đơn vị) và chữ thường (x-height) cao 49px (485 đơn vị). Kết quả là, 2 = 49px và 3 = 100px, không phải 164px (rất may, 4 dựa trên 9, không phải chiều cao được tính toán)phông chữ catamaran. UPM —Units Per Em— và pixel tương đương sử dụng cỡ chữ. 100pxTrước khi đi sâu hơn, một ghi chú ngắn về những gì nó liên quan. Khi một phần tử 5 được hiển thị trên màn hình, nó có thể bao gồm nhiều dòng, theo chiều rộng của nó. Mỗi dòng được tạo thành từ một hoặc nhiều phần tử nội tuyến (thẻ HTML hoặc phần tử nội tuyến ẩn danh cho nội dung văn bản) và được gọi là hộp dòng. Chiều cao của line-box dựa trên chiều cao của con nó. Do đó, trình duyệt tính toán chiều cao cho từng phần tử nội tuyến và do đó, chiều cao của hộp dòng (từ điểm cao nhất của phần tử con đến điểm thấp nhất của phần tử con). Kết quả là, một hộp dòng luôn đủ cao để chứa tất cả các phần tử con của nó (theo mặc định)
Nếu chúng tôi cập nhật mã HTML trước đó như thế này
Nó sẽ tạo ra 3 hộp dòng
5 (đường viền màu đen) được tạo bởi các hộp dòng (đường viền màu trắng) có chứa các phần tử nội tuyến (đường viền liền nét) và các phần tử nội tuyến ẩn danh (đường viền nét đứt)Chúng ta thấy rõ ràng rằng hộp dòng thứ hai cao hơn các hộp khác, do vùng nội dung được tính toán của các phần tử con của nó và cụ thể hơn là hộp sử dụng phông chữ Catamaran Phần khó khăn trong việc tạo hộp dòng là chúng ta không thể thực sự nhìn thấy hoặc kiểm soát nó bằng CSS. Ngay cả việc áp dụng nền cho 9 cũng không cho chúng ta bất kỳ manh mối trực quan nào về chiều cao của hộp dòng đầu tiênp { font-size: 100px } .a { font-family: Helvetica } .b { font-family: Gruppo } .c { font-family: Catamaran }6. đến các vấn đề và hơn thế nữaCho đến bây giờ, tôi đã giới thiệu hai khái niệm. khu vực nội dung và hộp dòng. Nếu bạn đọc kỹ thì tôi đã nói rằng chiều cao của hộp dòng được tính theo chiều cao của phần con của nó, tôi không nói chiều cao của khu vực nội dung con của nó. Và điều đó tạo nên sự khác biệt lớn Mặc dù nghe có vẻ lạ nhưng một phần tử nội tuyến có hai chiều cao khác nhau. chiều cao của vùng nội dung và chiều cao của vùng ảo (Tôi đã phát minh ra thuật ngữ vùng ảo vì chiều cao là vô hình đối với chúng tôi, nhưng bạn sẽ không tìm thấy bất kỳ sự xuất hiện nào trong thông số kỹ thuật)
Điều đó đang được nói, nó phá vỡ niềm tin phổ biến rằng 6 là khoảng cách giữa các đường cơ sở. Trong CSS, nó không phải làTrong CSS, line-height không phải là khoảng cách giữa các đường cơ sởSự khác biệt về chiều cao được tính toán giữa khu vực ảo và khu vực nội dung được gọi là. Một nửa phần dẫn này được thêm vào phía trên khu vực nội dung, nửa còn lại được thêm vào phía dưới. Do đó, khu vực nội dung luôn ở giữa khu vực ảo Dựa trên giá trị được tính toán, 6 (khu vực ảo) có thể bằng, cao hơn hoặc nhỏ hơn khu vực nội dung. Trong trường hợp vùng ảo nhỏ hơn, đường dẫn đầu là âm và hộp dòng nhỏ hơn trực quan so với phần tử con của nóNgoài ra còn có các loại yếu tố nội tuyến khác
Đối với các phần tử nội tuyến cụ thể này, chiều cao được tính dựa trên các thuộc tính 9, 0 và 1 của chúng. Nếu 9 là 3, thì 6 được sử dụng và vùng nội dung hoàn toàn bằng với 6Các phần tử được thay thế nội tuyến, khối nội tuyến/nội tuyến-* và các phần tử nội tuyến được khối hóa có vùng nội dung bằng chiều cao hoặc chiều cao dòng của chúngDù sao đi nữa, vấn đề mà chúng ta vẫn đang gặp phải là giá trị của 6 của 7 là bao nhiêu? Vì vậy, hãy quay lại FontForge. Em-square của Catamaran là 1000, nhưng chúng ta đang thấy nhiều giá trị tăng dần/giảm dần
Trong trường hợp của chúng tôi, phông chữ Catamaran xác định khoảng cách dòng 0 đơn vị, do đó, 8 sẽ bằng với vùng nội dung, là 1640 đơn vị hoặc 1. 64Để so sánh, phông chữ Arial mô tả một ô vuông gồm 2048 đơn vị, phần tăng dần là 1854, phần giảm dần là 434 và khoảng cách dòng là 67. Điều đó có nghĩa là 0 cung cấp vùng nội dung là 112px (1117 đơn vị) và 8 là 115px (1150 đơn vị hoặc 1. 15). Tất cả các số liệu này đều dành riêng cho phông chữ và do nhà thiết kế phông chữ đặtRõ ràng là cài đặt 2 là một cách làm không tốt. Tôi nhắc bạn rằng các giá trị không có đơn vị là ____0_______9 tương đối, không tương đối với vùng nội dung và xử lý vùng ảo nhỏ hơn vùng nội dung là nguồn gốc của nhiều vấn đề của chúng tôiSử dụng chiều cao dòng. 1 có thể tạo line-box nhỏ hơn content-areaNhưng không chỉ 2. Đối với giá trị của nó, trên 1117 phông chữ được cài đặt trên máy tính của tôi (vâng, tôi đã cài đặt tất cả các phông chữ từ Google Web Fonts), 1059 phông chữ, khoảng 95%, có _______ được tính toán lớn hơn 1. Tính toán của họ 6 đi từ 0. 618 đến 3. 378. Bạn đã đọc nó tốt, 3. 378Chi tiết nhỏ về tính toán hộp dòng
p { font-size: 100px } .a { font-family: Helvetica } .b { font-family: Gruppo } .c { font-family: Catamaran }5. một tài sản để cai trị tất cảTôi chưa đề cập đến thuộc tính 5, mặc dù nó là yếu tố cần thiết để tính chiều cao của hộp dòng. Chúng tôi thậm chí có thể nói rằng 5 có thể có vai trò hàng đầu trong bối cảnh định dạng nội tuyếnGiá trị mặc định là 9. Bạn có nhắc số liệu phông chữ tăng dần và giảm dần không? . Vì tỷ lệ giữa phần tử tăng dần và phần tử giảm dần hiếm khi là 50/50 nên nó có thể tạo ra kết quả không mong muốn, chẳng hạn như với các phần tử anh chị emBắt đầu với mã đó
Thẻ 5 với 2 anh chị em ruột 6 kế thừa 7, 9 và cố định 6. Các đường cơ sở sẽ khớp và chiều cao của hộp dòng bằng với 6 của chúngCùng giá trị phông chữ, cùng đường cơ sở, mọi thứ có vẻ ổnĐiều gì xảy ra nếu phần tử thứ hai có 9 nhỏ hơn?
Nghe có vẻ kỳ lạ, căn chỉnh đường cơ sở mặc định có thể dẫn đến kết quả cao hơn (. ) hộp dòng, như trong hình bên dưới. Tôi xin nhắc bạn rằng chiều cao của hộp dòng được tính từ điểm cao nhất của con nó đến điểm thấp nhất của con nó Phần tử con nhỏ hơn có thể dẫn đến chiều cao của hộp dòng cao hơnĐó có thể là một đối số ủng hộ việc sử dụng các giá trị không có đơn vị của 6, nhưng đôi khi bạn cần các giá trị cố định để. Thành thật mà nói, bất kể bạn chọn gì, bạn sẽ luôn gặp rắc rối với việc sắp xếp nội tuyếnNhìn vào đây một ví dụ khác. Một thẻ 5 với 9, chứa một thẻ 6 kế thừa 6
Line-box cao bao nhiêu? . Vấn đề ở đây là 5 có 7 riêng, khác (mặc định là 4). Đường cơ sở giữa thẻ 5 và thẻ 6 có thể khác nhau, do đó chiều cao của hộp dòng cao hơn dự kiến. Điều này xảy ra bởi vì các trình duyệt thực hiện tính toán của chúng như thể mỗi hộp dòng bắt đầu bằng một ký tự có độ rộng bằng 0, thông số kỹ thuật đó được gọi là thanh chống
Để tiếp tục, chúng tôi đang đối mặt với cùng một vấn đề trước đó đối với các phần tử anh chị em Mỗi đứa trẻ được căn chỉnh như thể hộp dòng của nó bắt đầu bằng một ký tự có độ rộng bằng không vô hìnhCăn chỉnh đường cơ sở bị sai lệch, nhưng còn 7 để giải cứu thì sao? . Tỷ lệ đường cơ sở khác nhau, cũng như tỷ lệ chiều cao x, do đó, căn chỉnh 8 cũng không đáng tin cậy. Tồi tệ nhất, trong hầu hết các trường hợp, 8 không bao giờ thực sự “ở giữa”. Có quá nhiều yếu tố liên quan và không thể đặt qua CSS (chiều cao x, tỷ lệ tăng dần/giảm dần, v.v. )Là một lưu ý phụ, có 4 giá trị khác, có thể hữu ích trong một số trường hợp
Mặc dù vậy, hãy cẩn thận, trong mọi trường hợp, nó sẽ căn chỉnh vùng ảo, vì vậy chiều cao vô hình. Nhìn vào ví dụ đơn giản này bằng cách sử dụng 01. 6 vô hình có thể tạo ra kết quả kỳ lạ, nhưng không đáng ngạc nhiênvertical-align có thể tạo ra kết quả kỳ lạ lúc đầu, nhưng được mong đợi khi trực quan hóa line-heightCuối cùng, 5 cũng chấp nhận các giá trị số làm tăng hoặc giảm hộp liên quan đến đường cơ sở. Tùy chọn cuối cùng đó có thể có íchCSS thật tuyệt vờiChúng ta đã nói về cách 6 và 5 phối hợp với nhau, nhưng bây giờ câu hỏi đặt ra là. số liệu phông chữ có thể kiểm soát được bằng CSS không? . KHÔNG. Ngay cả khi tôi thực sự hy vọng như vậy. Dù sao, tôi nghĩ chúng ta phải chơi một chút. Số liệu về phông chữ là không đổi, vì vậy chúng tôi có thể làm điều gì đóVí dụ, nếu chúng ta muốn một văn bản sử dụng phông chữ Catamaran, trong đó chiều cao chữ hoa chính xác là 100px thì sao? . chúng ta hãy làm một số phép toán Trước tiên, chúng tôi đặt tất cả các chỉ số phông chữ làm thuộc tính tùy chỉnh CSS , sau đó tính toán 9 để có chiều cao viết hoa là 100px Chiều cao chữ hoa hiện cao 100pxKhá đơn giản, phải không? Đầu tiên, tính toán 8 và chiều cao của khu vực nội dung
Sau đó, chúng ta cần
như vậy 0Bây giờ chúng ta có thể tính toán 5, đó là sự khác biệt giữa khoảng cách nhân với 9 được tính toán. (chúng ta phải áp dụng giá trị này cho một phần tử con nội tuyến)
Chiều cao của thẻ P là bao nhiêu?nếu Phiên bản Chrome của bạn trên 96, chiều cao của thẻ p là 45. 75px .
chiều cao dòng 1 là gì. 5 bằng pixel?Một lần nữa, chúng tôi xem Hướng dẫn về kiểu dáng vật liệu của Google để biết câu trả lời. Google chạy 1. Chiều cao 5 dòng cho nội dung của nó ở đó hoặc 16px cỡ chữ và chiều cao dòng là 24px.
Làm cách nào để đặt chiều cao văn bản trong CSS?Đặt kích thước văn bản bằng pixel cho bạn toàn quyền kiểm soát kích thước văn bản. . h1 { cỡ chữ. 40px; . 30px; . 14px;. h1 { cỡ chữ. 2. 5em; . 5em */ } h2 { cỡ chữ. 1. 875em; . 875em */ } p {. nội dung { cỡ chữ. 100%; . 2. 5em; Làm cách nào để tính chiều cao trong CSS?Chúng tôi sử dụng chiều cao thuộc tính css. calc( 100% - div_height ); Ở đây, Calc là một hàm. Nó sử dụng biểu thức toán học bởi thuộc tính này, chúng ta có thể tự động đặt vùng div nội dung chiều cao. |