๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Frontend/CSS

[ CSS ] line-height ๋‹จ์œ„ ์•Œ์•„๋ณด๊ธฐ

by YWTechIT 2023. 2. 17.
728x90

๐Ÿ“ line-height ๋‹จ์œ„ ์•Œ์•„๋ณด๊ธฐ

css๋กœ line-height๋ฅผ ์ž‘์„ฑํ•˜๋‹ค ๋ณด๋ฉด ๊ฐ’์˜ ๋‹จ์œ„๊ฐ€ ๊ฐ๊ธฐ ๋‹ค๋ฅธ ๋ชจ์Šต์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๊ฐ€๋ น, normal์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜, number ํƒ€์ž…์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜, em์„ ๋ถ™์ด๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ๋‚˜๋Š” ์ฃผ๋กœ px๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ ๋™๋ฃŒ๋“ค์€ ๋‹ค๋ฅธ ๋‹จ์œ„๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์–ด ๊ธฐ์ดˆ์ ์ธ ๋‚ด์šฉ์ด์ง€๋งŒ ์ง€๊ธˆ ๊ธฐ์–ตํ•ด ๋‘๋ฉด ์ถ”ํ›„์— ๊ณต์‹๋ฌธ์„œ๋ฅผ ์ฐพ๋Š” ์‹œ๊ฐ„์„ ์•„๋‚„ ์ˆ˜ ์žˆ์ง€ ์•Š์„๊นŒ ํ•˜๋Š” ๋งˆ์Œ์— ๊ธ€๋กœ ๋‚จ๊ธด๋‹ค. (๋‚ด์šฉ์€ MDN์„ ์ฐธ๊ณ ํ–ˆ๋‹ค.)

 

line-height๋Š” ์ฃผ๋กœ text line ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋ฅผ ์กฐ์ ˆ ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. line-height์˜ ๋‹จ์œ„๋Š” 4๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.

/* 
 * 1. <number>: line-height: 2.3;
 * 2. <length>: line-height: 3em;
 * 3. <percentage>: line-height: 50%;
 * 4. normal: line-height: normal;
 */

๋จผ์ € normal์€ user-agent์— ์˜์กดํ•œ๋‹ค. Firefox๋ฅผ ํฌํ•จํ•œ ๋ฐ์Šคํฌํƒ‘ ๋ธŒ๋ผ์šฐ์ €์—์„œ default๊ฐ’์œผ๋กœ ๋Œ€๋žต 1.2์˜ ๊ฐ’์„ ์‚ฌ์šฉํ•œ๋‹ค. (์š”์†Œ์˜ font-family์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋‹ค.)

 

๋‘๋ฒˆ์งธ๋กœ <number> ํƒ€์ž…์ด๋‹ค. unit์€ ๋ถ™์ง€์•Š๊ณ  ์ˆซ์ž ํ˜•ํƒœ๋งŒ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, ์ž์‹ ์˜ font-size * number๋ฅผ ํ•˜๋ฉด ๋œ๋‹ค. 4๊ฐ€์ง€ ๋ฐฉ๋ฒ• ์ค‘ ์„ ํ˜ธํ•˜๋Š” ๋ฐฉ์‹์ด๊ณ , inherit ์†์„ฑ์œผ๋กœ ์ธํ•ด ์˜ˆ๊ธฐ์น˜ ๋ชปํ•œ ๊ฒฐ๊ณผ๋ฅผ ํ”ผํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์„ธ ๋ฒˆ์งธ๋กœ <length>์ด๋‹ค. box height๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋ฉฐ, em์€ ์˜ˆ๊ธฐ์น˜ ๋ชปํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ƒ์‚ฐํ•œ๋‹ค. (em๋‹จ์œ„๋Š” ๋ถ€๋ชจ ์š”์†Œ์˜ ๊ธ€๊ผด ํฌ๊ธฐ๋ฅผ ์˜๋ฏธํ•˜๋Š”๋ฐ, ๋ถ€๋ชจ font-size * em๋กœ ์„ค์ •๋œ๋‹ค.)

 

๋งˆ์ง€๋ง‰์œผ๋กœ <percentage>์ด๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์˜ˆ๊ธฐ์น˜ ๋ชปํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ƒ์‚ฐํ•œ๋‹ค.(percentage๋Š” ์ž์‹ ์˜ font-size๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•œ๋‹ค. (Relative to the font size of the element itself.))

728x90

๐Ÿ’ก Prefer unitless numbers for line-height values

์•ž์„œ em๊ณผ percentage๋Š” ์˜ˆ๊ธฐ์น˜ ๋ชปํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ƒ์‚ฐํ•œ๋‹ค๊ณ  ํ–ˆ๋Š”๋ฐ, ์™œ ๊ทธ๋Ÿฐ์ง€ ์•Œ์•„๋ณด๊ธฐ ์œ„ํ•ด ์˜ˆ์‹œ๋ฅผ ๊ฐ€์ ธ์™”๋‹ค.(MDN์— ์žˆ๋Š” ์˜ˆ์‹œ๋ฅผ ์ฝ”๋“œํŽœ์œผ๋กœ ์ž‘์„ฑํ–ˆ๋‹ค.)

See the Pen line-height by an (@YWTechIT) on CodePen.

 

์ฒซ ๋ฒˆ์งธ div์˜ line-height๋Š” ์ž˜ ๋‚˜์˜ค๋Š”๋ฐ, ๋‘ ๋ฒˆ์งธ div์˜ line-height๋Š” ์ฐŒ๊ทธ๋Ÿฌ์ง„ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ ์ด์œ ๋Š” ์ฒซ ๋ฒˆ์งธ div์˜ line-height๋ฅผ ๊ณ„์‚ฐํ•˜๋ฉด h1์˜ font-size์ธ 30px * 1.1 = 33.3์ด ๋‚˜์˜ค๊ฒŒ ๋˜์ง€๋งŒ, ๋‘ ๋ฒˆ์งธ div์˜ line-height๋Š” h1์˜ font-size๊ฐ€ ์•„๋‹ˆ๋ผ ๋ถ€๋ชจ(.box)์˜ font-size๋ฅผ ๊ณฑํ•˜๊ธฐ ๋•Œ๋ฌธ์— 15px * 1.1 = 16.5๊ฐ€ ๋œ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— line-height๋ฅผ ์‚ฌ์šฉํ•  ๋• ๋‹จ์œ„๊ฐ€ ์—†๋Š” ๊ฐ’์„ ์„ ํ˜ธํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

๐Ÿ’ก ์ ‘๊ทผ์„ฑ ๊ณ ๋ ค(Accessibility concerns)

์ฃผ์š” ๋‹จ๋ฝ ๋‚ด์šฉ์— line-height๋Š” ์ตœ์†Œ 1.5๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”. ์ด๊ฒƒ์€ ๋‚œ๋…์ฆ์ฒ˜๋Ÿผ ์ธ์ง€ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ €์‹œ๋ ฅ์ž๋“ค์—๊ฒŒ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. text๋ฅผ ํฌ๊ฒŒ ๋ณด๊ธฐ ์œ„ํ•ด ํŽ˜์ด์ง€๋ฅผ ํ™•๋Œ€ํ•œ ๊ฒฝ์šฐ, ๋‹จ์œ„๊ฐ€ ์—†๋Š” ๊ฐ’์„ ์‚ฌ์šฉํ•˜๋ฉด ์ค„ ๋†’์ด๊ฐ€ ๋น„๋ก€์ ์œผ๋กœ ์กฐ์ •๋ฉ๋‹ˆ๋‹ค.

 

Reference

  1. line-height - MDN
  2. Values_and_units - MDN
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€