Đặt khoảng cách dòng


145

Làm cách nào tôi có thể đặt khoảng cách dòng với CSS, như chúng ta có thể đặt nó trong MS Word?

Câu trả lời:


236

Hãy thử thuộc tính chiều cao dòng .

Ví dụ: cỡ chữ 12px và 4px ở xa dòng dưới cùng và trên:

line-height: 20px; /* 4px +12px + 4px */

Hoặc với emcác đơn vị

line-height: 1.7em; /* 1em = 12px in this case. 20/12 == 1.666666  */

10
Tôi thấy tôi cũng cần display: block;cho các cài đặt này có hiệu lực ở mọi nơi, không chỉ ở đầu và cuối đoạn.
PatrickT

2
Hãy nhớ rằng bạn không thể đặt giá trị của thuộc tính chiều cao dòng dưới '1' hoặc '100%' nếu bạn đang đặt nó thành phần tử <a>. Nếu bạn muốn như vậy, bạn có thể đặt <p> giữa văn bản của bạn và <a>, chẳng hạn.
raulchopi

2
nó không hoạt động với span vì như được đề cập bởi @PatrickT span không hiển thị: block
walv

1
@walv, nó không giả sử. Ngoài ra, nếu bạn cần sử dụng nó trong một khoảng, tốt nhất nên sử dụng display: inline-block, thay vì display: block.
Mario Cesar

1
@Userthatisnotauser bạn không thể xảy ra điều tương tự với những người dùng sẽ cần sử dụng java applet hoặc ứng dụng web yêu cầu ᴜᴅᴘ socket (vì mất hỗ trợ và tất cả các trình duyệt đang rút hỗ trợ trong phích cắm tùy chỉnh của họ ‑ in) . Trang web dành riêng cho nhiệm vụ Cassini vẫn yêu cầu plugin thời gian nhanh để xem video trực tuyến của họ. Chưa kể chỉ plugin cho phép bạn xem video lập thể thông qua màn hình lập thể trong phát trực tuyến. Ở nước tôi, hai nhà cung cấp kênh truyền hình lớn vẫn yêu cầu Silverlight với kế hoạch không nâng cấp.
dùng2284570

103

Bạn cũng có thể sử dụng một giá trị không có đơn vị, đó là số dòng: line-height: 2;cách nhau hai lần, line-height: 1.5;là một rưỡi, v.v.


Nó không hoạt động trong Opera dựa trên Presto. Tôi cần một cách giải quyết ... làm ơn! : \
user2284570

@user status: hoạt động trên máy của tôi. Bạn đã thử bất kỳ câu trả lời khác?
MikeTheLiar

Ý tôi là phần tử CSS được nhận dạng, nhưng không ảnh hưởng đến đầu ra kết xuất. Đã kiểm tra 12.16 và 12.50. Câu trả lời khác về cơ bản là giống nhau: HỌ TẤT CẢ ĐỂ sử dụng phần tử chiều cao dòng!
dùng2284570

@user Bởi vì đó là cách bạn làm điều đó. Tôi sẽ tưởng tượng đó là một lỗi trình duyệt hoặc thiếu hỗ trợ cho quy tắc css đó. Có lẽ nên được hỏi như một câu hỏi riêng biệt.
MikeTheLiar

Chắc chắn, yêu cầu một cách giải quyết không có chủ đề ở đây ... bằng cách tôi đã thấy nó ảnh hưởng đến các thương hiệu trình duyệt khác: nó tồn tại khi cài đặt được đặt với DOM hoặc khi có nội dung có thể = "true".
dùng2284570

12

Bạn không thể đặt khoảng cách giữa các đoạn trong CSS bằng chiều cao dòng, khoảng cách giữa <p>các khối. Điều đó thay vào đó đặt khoảng cách dòng trong đoạn, khoảng cách giữa các dòng trong một <p>khối. Nghĩa là, chiều cao dòng là dòng liên kết của người đánh máy trong đoạn văn được kiểm soát bởi chiều cao dòng.

Hiện tại tôi không biết bất kỳ phương thức nào trong CSS để tạo ra (ví dụ) <p>khoảng cách 0,15em , cho dù sử dụng các biến thể em hay rem trên bất kỳ thuộc tính phông chữ nào. Tôi nghi ngờ nó có thể được thực hiện với phao hoặc bù đắp phức tạp hơn. Đáng tiếc điều này là cần thiết trong CSS.


7
Bạn không thể sử dụng lề cho <p>khoảng cách đó sao?
Flimm

4
Trong một số trường hợp, margin-topvà / hoặc margin-bottomcó thể thực hiện hiệu quả những gì mong muốn ở đây.
dùng1147171

10

Nếu bạn muốn các dòng cô đặc, bạn có thể đặt cùng một giá trị cho font-sizeline-height

Trong tệp CSS của bạn

.condensedlines {              
    font-size:   10pt;
    line-height: 10pt;  /* try also a bit smaller line-height */
}

Trong tệp HTML của bạn

<p class="condensedlines">
bla bla bla bla bla bla <br>
bla bla bla bla bla bla <br>
bla bla bla bla bla bla <br>
</p>

-> Chơi với đoạn trích này trên jsfiddle.net

Bạn cũng có thể tăng line-heightđể kiểm soát khoảng cách dòng tốt:

.mylinespacing {
    font-size:   10pt;
    line-height: 14pt; /* 14 = 10 + 2 above + 2 below */
}

9

Hãy thử tài sản này

line-height:200%;

hoặc là

line-height:17px;

sử dụng tăng và giảm âm lượng


@AVD: Nó không hoạt động trong Opera dựa trên Presto. Tôi cần một cách giải quyết ... làm ơn! : \
user2284570


4

Thử line-heighttài sản; có nhiều cách để gán chiều cao của dòng


1

Yup, như mọi người đang nói, line-heightlà điều. Bất kỳ font bạn đang sử dụng, một nhân vật giữa chiều cao (chẳng hạn như một hoặc ■, không đi qua phía trên hoặc thấp hơn) nên đi với cùng chiều cao có độ dài ít line-height: 0.6đến 0.65.

<div style="line-height: 0.65; font-family: 'Fira Code', monospace, sans-serif">
aaaaa<br>
aaaaa<br>
aaaaa<br>
aaaaa<br>
aaaaa
</div>
<br>
<br>

<div style="line-height: 0.6; font-family: 'Fira Code', monospace, sans-serif">
■■■■■■■■■■<br>
■■■■■■■■■■<br>
■■■■■■■■■■<br>
■■■■■■■■■■<br>
■■■■■■■■■■<br>
■■■■■■■■■■<br>
■■■■■■■■■■<br>
■■■■■■■■■■<br>
■■■■■■■■■■<br>
■■■■■■■■■■
</div>
<br>
<br>
<strong>BUT</strong>
<br>
<br>
<div style="line-height: 0.65; font-family: 'Fira Code', monospace, sans-serif">
ddd<br>
ƒƒƒ<br>
ggg
</div>


0

lineSpaces được sử dụng trong React Native (hoặc ứng dụng di động gốc).

Đối với web, bạn có thể sử dụng letterSpacing(hoặc letter-spacing)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.