กำหนดระยะห่างบรรทัด


145

ฉันจะตั้งค่าระยะห่างบรรทัดด้วย CSS เช่นเดียวกับที่เราสามารถตั้งค่าใน MS Word ได้อย่างไร

คำตอบ:


236

ลองline-heightคุณสมบัติ

ตัวอย่างเช่นขนาดตัวอักษร 12px และความยาว 4px จากด้านล่างและบรรทัดบน:

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

หรือกับemหน่วย

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

10
ฉันพบว่าฉันยังต้องการdisplay: block;ให้การตั้งค่าเหล่านี้มีผลทุกที่ไม่ใช่เฉพาะส่วนบนและล่างของย่อหน้า
PatrickT

2
โปรดจำไว้ว่าคุณไม่สามารถตั้งค่าคุณสมบัติของความสูงบรรทัดได้ภายใต้ '1' หรือ '100%' หากคุณตั้งค่าเป็นองค์ประกอบ <a> หากคุณต้องการคุณสามารถตั้งค่า <p> ระหว่างข้อความและ <a> ตัวอย่างเช่น
raulchopi

2
ไม่ทำงานกับ span เนื่องจากตามที่ @PatrickT span ไม่แสดง: block
walv

1
@walv ไม่ควรใช้เช่นกันถ้าคุณต้องการใช้ในช่วงเวลามันควรใช้ display: inline-block แทน display: block
Mario Cesar

1
@Userthatisnotauser คุณไม่สามารถสิ่งที่คล้ายกันจะเกิดขึ้นกับผู้ใช้ที่จะต้องใช้จาวาแอปเพล็หรือโปรแกรมประยุกต์บนเว็บที่ต้องใช้ซ็อกเก็ตᴜᴅᴘ (เนื่องจากการสูญเสียของการสนับสนุนɴᴘᴀᴘɪและเบราว์เซอร์ทั้งหมดจะถูกถอนการสนับสนุนของพวกเขาเองใน plug-in ที่ᴀᴘɪ) เว็บไซต์ dedicated ที่อุทิศให้กับภารกิจของแคสสินียังคงต้องใช้ปลั๊กอินเวลารวดเร็วในการรับชมวิดีโอออนไลน์ ไม่ต้องพูดถึงเฉพาะปลั๊กอิน allows ที่ให้คุณรับชมวิดีโอสามมิติผ่านจอแสดงผลสามมิติในการสตรีม ในประเทศของฉันผู้ให้บริการช่องทีวีหลักสองรายยังคงต้องการ Silverlight ด้วยแผนการที่จะไม่อัปเกรด
user2284570

103

นอกจากนี้คุณยังสามารถใช้ค่าหน่วยน้อยซึ่งเป็นจำนวนบรรทัด: line-height: 2;เป็นระยะห่างสองเท่าline-height: 1.5;คือหนึ่งและครึ่ง ฯลฯ


มันไม่ทำงานใน Opera ที่ใช้ Presto ฉันต้องการวิธีแก้ปัญหา ... ได้โปรด! : \
user2284570

สถานะ @user: ทำงานบนเครื่องของฉัน คุณลองคำตอบอื่น ๆ
MikeTheLiar

ฉันหมายถึงองค์ประกอบ CSS ได้รับการยอมรับ แต่ไม่มีผลต่อการแสดงผล ผ่านการทดสอบ 12.16 และ 12.50 คำตอบอื่น ๆ นั้นเหมือนกัน: พวกเขาทั้งหมดใช้องค์ประกอบความสูงของเส้น!
user2284570

@user เพราะนั่นเป็นวิธีที่คุณทำ ฉันคิดว่ามันเป็นข้อผิดพลาดเบราว์เซอร์หรือขาดการสนับสนุนสำหรับกฎ CSS นั้น ควรถูกถามเป็นคำถามแยกต่างหาก
MikeTheLiar

แน่นอนว่าการขอให้การแก้ไขปัญหาเป็นเรื่องที่นี่ ... โดยวิธีที่ฉันเห็นมันมีผลกับแบรนด์เบราว์เซอร์อื่น ๆ : มันมีอยู่เมื่อมีการตั้งค่าด้วย DOM หรือเมื่อ contenteditable = "true" มีอยู่
user2284570

12

คุณไม่สามารถตั้งค่าระยะห่างระหว่างย่อหน้าใน CSS โดยใช้ความสูงของบรรทัดระยะห่างระหว่าง<p>บล็อก แทนที่จะตั้งค่าระยะห่างระหว่างบรรทัดในย่อหน้าช่องว่างระหว่างบรรทัดภายใน<p>บล็อก นั่นคือความสูงของบรรทัดเป็นบรรทัดระหว่างตัวพิมพ์ที่อยู่ด้านในของย่อหน้าซึ่งควบคุมโดยความสูงของบรรทัด

ปัจจุบันฉันไม่ทราบวิธีการใด ๆ ใน CSS ที่จะสร้าง (เช่น) การ<p>เว้นวรรค0.15em ไม่ว่าจะใช้ em หรือตัวแปร rem ในคุณสมบัติฟอนต์ใด ๆ ฉันสงสัยว่ามันสามารถทำได้ด้วยการลอยหรือออฟเซ็ตที่ซับซ้อนมากขึ้น น่าเสียดายที่จำเป็นสำหรับ CSS


7
คุณไม่สามารถใช้มาร์จิ้นสำหรับการ<p>เว้นวรรค?
Flimm

4
ในบางกรณีmargin-topและ / หรือmargin-bottomสามารถบรรลุสิ่งที่ต้องการได้อย่างมีประสิทธิภาพที่นี่
user1147171

10

หากคุณต้องการเส้นแบบย่อคุณสามารถตั้งค่าเดียวกันสำหรับfont-sizeและline-height

ในไฟล์ CSS ของคุณ

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

ในไฟล์ HTML ของคุณ

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

-> เล่นกับตัวอย่างนี้ใน jsfiddle.net

นอกจากนี้คุณยังสามารถเพิ่มline-heightการควบคุมระยะห่างระหว่างบรรทัดได้:

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

9

ลองใช้คุณสมบัตินี้

line-height:200%;

หรือ

line-height:17px;

ใช้การเพิ่มและลดระดับเสียง


@AVD: มันไม่ทำงานใน Opera ที่ใช้ Presto ฉันต้องการวิธีแก้ปัญหา ... ได้โปรด! : \
user2284570



1

ใช่เป็นสิ่งที่ทุกคนพูดline-heightเป็นสิ่งที่ ตัวอักษรใด ๆ ที่คุณกำลังใช้ตัวอักษรกลางสูง (เช่นหรือ■ไม่ได้ไปผ่านบนหรือล่าง) ควรจะไปแบบเดียวกับที่ความสูงความยาวที่จะline-height: 0.60.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

lineSpacing ใช้ใน React Native (หรือแอพมือถือดั้งเดิม)

สำหรับเว็บคุณสามารถใช้letterSpacing(หรือletter-spacing)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.