
line-heightãš
vertical-alignã¯åçŽãªCSSããããã£ã§ãã ãšãŠãåçŽãªã®ã§ãç§ãã¡ã®ã»ãšãã©ã¯ãããããã©ã®ããã«æ©èœããã©ã®ããã«äœ¿çšããããçè§£ããŠãããšç¢ºä¿¡ããŠããŸãã æ®å¿µãªãããããã¯ããã§ã¯ãããŸãã-å®éããããã¯ãã€ã³ã©ã€ã³æžåŒèšå®ã³ã³ããã¹ãããšåŒã°ããããŸãç¥ãããŠããªãCSSæ©èœã®äœæã«éèŠãªåœ¹å²ãæãããããããããæãè€éãªããããã£ã§ãã
ããšãã°ã
line-heightã¯é·ããŸãã¯ç¡æ¬¡å
ã®å€ãšããŠæå®ã§ããŸãããããã©ã«ãå€ã¯
normalã§ãã ããããŸãããããæšæºããšã¯ã©ãããæå³ã§ããïŒ å€ãã®å Žåãããã¯ïŒååãšããŠïŒ1ããŸãã¯1.2ã§ãããšæžããŠããŸãã
CSS仿§ã§ãããã®è³ªåã«å¯Ÿããæç¢ºãªçãã¯ãããŸãã ã
ç¡æ¬¡å
ã®è¡ã®é«ãã®å€ã¯
font-sizeå€ã«äŸåããããšãããã£ãŠããŸãããåé¡ã¯
font-size: 100pxããããã»ããã«ãã£ãŠç°ãªãããã«èŠããããšã§ãã ãã®ç¹ã§ãåé¡ãçºçããŸãïŒ
line-heightåžžã«åãã§ããããïŒ ãã®å€ã¯æ¬åœã«1ãã1.2ã®éã§ããïŒ
vertical-alignã¯
line-heightã©ã®ããã«åœ±é¿ããŸããïŒ
ããã»ã©åçŽã§ã¯ãªãCSSã¡ã«ããºã ãæãäžããŸããã...
ãã©ã³ããµã€ãºã«ã€ããŠè©±ãå§ããŸãããã
ãããããç¬èªã®
font-familyæã€3ã€ã®
spanèŠçŽ ãå«ã
pã¿ã°ãæã€ãã®åçŽãªHTMLãèããŠãã ããïŒ
<p> <span class="a">Ba</span> <span class="b">Ba</span> <span class="c">Ba</span> </p>
p { font-size: 100px } .a { font-family: Helvetica } .b { font-family: Gruppo } .c { font-family: Catamaran }
ç°ãªããããã»ããã§åã
font-sizeã䜿çšããå Žåãé«ãã¯ç°ãªããŸãã

ãã®æ©èœã«ã€ããŠç¥ã£ãŠããŠãããªã
font-size: 100pxèŠçŽ ãäœæããªãã®
font-size: 100pxãïŒ ãããã®å€ã枬å®ããŸããïŒHelvetica-115pxãGruppo-97pxãCatamaran-164pxã

äžèŠå¥åŠã«èŠããŸããããã¹ãŠãæåŸ
ãããŠããŸã-ãã®
çç±ã¯ãã©ã³ãèªäœã«ãããŸãã ä»çµã¿ïŒ
- ãã©ã³ãã¯ç¬èªã®em-square ïŒem-squareïŒïŒå¥åUPMãemãããã®ãŠããã-ãã³ãããã®ãŠãããïŒ-åæåãæç»ãããäžçš®ã®ããããèšå®ããŸãã ãã®æ£æ¹åœ¢ã§ã¯ãçžå¯Ÿåäœã枬å®ã«äœ¿çšãããååãšããŠ1000åäœã®ãµã€ãºã䜿çšãããŸãã 1024ã2048ããŸãã¯ç°ãªãæ°ã®ãŠããããçºçããŸããã
- çžå¯Ÿçãªåäœã®æ°ã«å¿ããŠãäžéšãšäžéšã®æ¡åŒµèŠçŽ ïŒã¢ã»ã³ããŒ/ãã£ã»ã³ããŒïŒã®é«ãã倧æåãšå°æåãªã©ã®ãã©ã³ãã¡ããªãã¯ãèšå®ãããŸãã äžéšã®å€ã¯ãemã¹ã¯ãšã¢ã®ç¯å²ãè¶
ããå ŽåããããŸãã
- ãã©ãŠã¶ã§ã¯ãçžå¯Ÿåäœã¯å¿
èŠãª
font-sizeã«åãããŠæ¡å€§çž®å°ããfont-size ã
ã«ã¿ãã©ã³ãã©ã³ããååŸããŠ
FontForgeã§éããã¡ããªãã¯ãååŸããŸãã
- em-squareã¯1000åäœãšèŠãªãããŸãã
- äžéšã®ãªã¢ãŒãèŠçŽ ã®é«ãã¯1100åäœã§ãäžéšã¯540ã§ãã
ããã€ãã®ãã§ãã¯ã®åŸãMac OSã®ãã©ãŠã¶ãŒã¯HHead Ascent / Descentã®å€ã䜿çšããWindows-Win Ascent / Descentã®å€ã䜿çšããããšã倿ããŸããïŒãããã®å€ã¯ç°ãªãå ŽåããããŸãïŒã ããã«ã倧æåã®å€§æåã®é«ãã¯680åäœã§ãå°æåã®Xã®é«ãã¯485ã§ãã

ãããã£ãŠãã«ã¿ãã©ã³ãã©ã³ãã¯ã1000åäœã®emæ£æ¹åœ¢ã§1100 + 540åäœã䜿çšãããããfont-sizeïŒ100pxã§ã¯ã164pxã®é«ããåŸãããŸãã ãã®èšç®ãããé«ã
ã¯ãèŠçŽ ã®ã³ã³ãã³ãé åãæ±ºå®ã
ãŸã ïŒãã®çšèªã¯ããã¹ãã®åŸåã§äœ¿çšãããŸãïŒã ã³ã³ãã³ãé åã¯ã
backgroundããããã£ãé©çšãããé åã§ãããšèããããšãã§ããŸãã
倧æåã®é«ãã¯68pxïŒ680åäœïŒãå°æåïŒx-heightïŒã¯49pxïŒ485åäœïŒã§ãããšä»®å®ããããšãã§ããŸãã ãã®çµæã1ex = 49pxããã³1em = 100pxã§ããã164pxã§ã¯ãããŸããïŒæ®å¿µãªãããemã¯èšç®ãããé«
font-sizeã§ã¯ãªã
font-sizeäŸåããŸãïŒã

æ·±ãæœãåã«ãééããäž»ãªãã€ã³ããèæ
®ããŠãã ããã
pèŠçŽ ã¯ãç»é¢ã«è¡šç€ºããããšãã«ãé©åãªå¹
ã®è€æ°ã®è¡ã§æ§æãããå ŽåããããŸãã åè¡ã¯1ã€ä»¥äžã®ã€ã³ã©ã€ã³èŠçŽ ïŒHTMLã¿ã°ãŸãã¯ããã¹ãã³ã³ãã³ãçšã®å¿åã€ã³ã©ã€ã³èŠçŽ ïŒã§æ§æãããã©ã€ã³ããã¯ã¹ã³ã³ãããšåŒã°ããŸãã
è¡ã³ã³ããã®é«ãã¯ããã®åã®é«ãã«äŸåããŸãã ã€ãŸãããã©ãŠã¶ã¯åã©ã€ã³ã¢ã€ãã ã®é«ããèšç®ãããããã-ã©ã€ã³ã³ã³ããã®é«ãïŒåã®æé«ç¹ããæäœç¹ãŸã§ïŒãèšç®ããŸãã ãã®çµæãæååã®ã³ã³ããã®é«ãã¯ãåžžã«ãã¹ãŠã®åãå容ããã®ã«ååã§ãïŒããã©ã«ãïŒã
åHTMLèŠçŽ ã¯ãå®éã«ã¯æååã³ã³ããã®ã¹ã¿ãã¯ã§ãã è¡ã®ãã¹ãŠã®ã³ã³ããã®é«ããããã£ãŠããå ŽåãèŠçŽ ã®é«ããããããŸãã
äžèšã®HTMLã³ãŒããæ¬¡ã®ããã«å€æŽããå ŽåïŒ
<p> Good design will be better. <span class="a">Ba</span> <span class="b">Ba</span> <span class="c">Ba</span> We get to make a consequence. </p>
3ã€ã®è¡ã³ã³ãããçæãããŸãã
- æåãšæåŸã«ã¯ã1ã€ã®å¿åæååèŠçŽ ïŒããã¹ãã³ã³ãã³ãïŒããããŸãã
- 2çªç®ã«ã¯ã2ã€ã®å¿åã©ã€ã³èŠçŽ ãš3ã€ã®
spanèŠçŽ ããããŸãã

è¡ã®2çªç®ã®ã³ã³ããã¯ããã®åã®èšç®ãããã³ã³ãã³ãé åãããæ£ç¢ºã«ã¯ã«ã¿ãã©ã³ãã©ã³ãã䜿çšããŠãããããä»ã®ã³ã³ãããããé«ãã倧ããããšãã¯ã£ãããšããããŸãã
æååã³ã³ãããäœæããéã®é£ããéšåã¯ãå®éãCSSãä»ããŠããã衚瀺ãããæäœãããã§ããªãããšã§ãã èæ¯ã
::first-lineé©çšããŠããè¡ã®æåã®ã³ã³ããã®é«ãã衚瀺ããã®ã«åœ¹ç«ã¡ãŸããã
è¡ã®é«ãïŒåé¡ããã³ãã®ä»ã®åé¡ã«ã€ããŠ
ãããŸã§ã2ã€ã®æŠå¿µ-ã³ã³ãã³ãé åãšæååã³ã³ããã玹ä»ããŸããã æ³šææ·±ãèªãã å Žåãè¡ã³ã³ããã®é«ãã¯ãã®åã®é«ãã«åºã¥ããŠèšç®ãããããšã«æ°ã¥ããŸããããåã®ã³ã³ãã³ãé åã®é«ãã«åºã¥ããŠãããšã¯èšããŸããã§ããã ããã¯å€§ããªéãã§ãã
å¥åŠã«èŠãããããããŸããããåºå
ç³èŸŒæ
å ±ã«ã¯2ã€ã®ç°ãªãé«ãããããŸãïŒã³ã³ãã³ãé åã®é«ããšä»®æ³é åã®é«ã ïŒç§ã¯ãã®é«ããèŠãããšãã§ããªãããããä»®æ³é åããšããçšèªãäœæããŸããããã®çšèªã®ä»æ§ã§ã¯ãèŠã€ãããŸããïŒã
- ã³ã³ãã³ãé åã®é«ãã¯ãïŒåè¿°ããããã«ïŒãã©ã³ãã¡ããªãã¯ã«ãã£ãŠæ±ºãŸããŸãã
- ä»®æ³é åã®
line-heightã¯line-heightã§ãããããã¯è¡ã³ã³ãããŒã®é«ããèšç®ããããã«äœ¿çšãããé«ãã§ãã

ããã«ãäžèšã¯ã
line-heightã¯ããŒã¹ã©ã€ã³éã®è·é¢ã§ãããšããäžè¬çãªä¿¡å¿µã«åè«ããŠããŸãã CSSã§ã¯ãããã¯åœãŠã¯ãŸããŸããã
ä»ã®ç·šéããã°ã©ã ã§ã¯ãããã¯ããŒã¹ã©ã€ã³éã®è·é¢ã§ãã ããšãã°ãWordãšPhotoshopã§ã¯ããã§ãã äž»ãªéãã¯ãCSSã§ã¯ãã®è·é¢ãæåã®è¡ã®è·é¢ã§ããããšã§ããä»®æ³é åãšã³ã³ãã³ãé åã®èšç®ãããé«ãã®å·®ã¯ããªãŒãã£ã³ã°ãšåŒã°ããŸãã å
é ã®ååãã³ã³ãã³ãé åã®äžéšã«è¿œå ããã2çªç®ãäžéšã«è¿œå ãããŸãã ãããã£ãŠãã³ã³ãã³ãé åã¯åžžã«ä»®æ³é åã®äžå€®ã«é
眮ãããŸãã
èšç®ãããå€ã«å¿ããŠã
line-height ïŒä»®æ³é åïŒã¯ãã³ã³ãã³ãé åãšåããã倧ãããããŸãã¯å°ããå ŽåããããŸãã ä»®æ³é åãå°ããå Žåãå
é ã®å€ã¯è² ã§ãããã©ã€ã³ã³ã³ããã®é«ãã¯ãã®åãããèŠèŠçã«å°ãããªããŸãã
ä»ã®çš®é¡ã®å°æåèŠçŽ ããããŸãïŒ
- 眮æå¯èœãªã€ã³ã©ã€ã³èŠçŽ ïŒ
img ã input ã svgãªã©ïŒ; inline-blockããã³inline-*åã®ãã¹ãŠã®èŠçŽ ã- ç¹å®ã®æžåŒèšå®ã³ã³ããã¹ãã«é¢ä¿ããã€ã³ã©ã€ã³èŠçŽ ïŒããšãã°ãflexboxèŠçŽ ã§ã¯ããã¹ãŠã®flexã³ã³ããŒãã³ããããã¯ãããŸãïŒã
ãã®ãããªç¹å¥ãªåºåç³èŸŒæ
å ±ã®å Žåãé«ãã¯ã
height ã
margin borderããããã£ã«åºã¥ããŠèšç®
heightããŸãã
height autoæå®ãããŠããå Žåã
line-heightãé©çšãããã³ã³ãã³ãé åã®
line-heightã¯
line-heightãŸãã

ããã§ããåé¡ã¯åããŸãŸã§ãïŒ
line-heightéåžžã®å€ã¯äœã§ããïŒ ã³ã³ãã³ãé åãèšç®ããå Žåã®ããã«ããã®è³ªåã«å¯Ÿããçãã¯ããã©ã³ãã¡ããªãã¯ã®äžã«èŠã€ããå¿
èŠããããŸãã FontForgeã«æ»ããŸãã ã«ã¿ãã©ã³ã®emã¹ã¯ãšã¢ãµã€ãºã¯1000ã§ãããäžéšãšäžéšã®æ¡åŒµèŠçŽ ã«ã¯å€ãã®å€ããããŸãã
- ã¢ã»ã³ã/ãã£ã»ã³ãã®äžè¬çãªå€ïŒäžéšã®æ¡åŒµã®é«ãã¯770ãäžéšã¯230ã§ãããã£ã©ã¯ã¿ãŒã®äœæã«äœ¿çšããŸãïŒããŒãã« "OS / 2"ïŒã
- ã¢ã»ã³ã/ãã£ã»ã³ãã¡ããªãã¯ïŒäžéšã®è©³çްã®é«ãã¯1100ãäžéšã¯540ã§ããã³ã³ãã³ãé åã®é«ããæ±ºå®ããããã«äœ¿çšãããŸãïŒããŒãã«ãhheaãããã³ãOS / 2ãïŒã
- ã©ã€ã³ã®ã£ããã¡ããªãã¯ïŒã©ã€ã³ééïŒã
line-height: normalãæ±ºå®ããããã«äœ¿çšããããã®å€ã¯Ascent / Descentã¡ããªãã¯ã«è¿œå ãããŸãïŒè¡šãhheaãïŒã
ãã®å Žåãã«ã¿ãã©ã³ãã©ã³ãã¯ãè¡ééã0åäœã§ãããšå€æããŸãããããã£ãŠã
line-height: normalã¯ãã³ã³ãã³ãé åïŒ1640åäœãã€ãŸã1.64ïŒãšçãããªããŸãã
æ¯èŒãšããŠïŒArialãã©ã³ãã®å Žåãem-squareã¯2048åäœãäžéšã®è©³çްã®é«ãã¯1854ãäžéšã¯434ãè¡ééã¯67ã§ãããããã£ãŠã
font-size: 100px ãã³ã³ãã³ãé åã¯112pxïŒ1117åäœïŒã§ãå€ã¯
line-height: normaéåžž-115pxïŒ1150åäœãŸãã¯1.15ïŒã ãããã®ã¡ããªãã¯ã¯ãã¹ãŠããã©ã³ãããšã«åå¥ã§ããããã©ã³ãèšèšè
ã«ãã£ãŠèšå®ãããŸãã
ãããã£ãŠã
line-height: 1èšå®
line-height: 1éå¹ççã§ãã ç¡æ¬¡å
ã®å€ã¯ã³ã³ãã³ãé åã§ã¯ãªã
font-sizeäŸåããã³ã³ãã³ãé åã®ãµã€ãºãä»®æ³é åã®ãµã€ãºãè¶
ãããšããäºå®ãå€ãã®åé¡ã®åå ã§ããããšãæãåºãããŠãã ããã

ããããçç±ã¯
line-height: 1ã ãã§ã¯ãããŸããã ããã«èšãã°ãã³ã³ãã¥ãŒã¿ãŒã«ã€ã³ã¹ããŒã«ããã1117åã®ãã©ã³ãïŒã¯ããGoogle Web Fontsã®ãã¹ãŠã®ãã©ã³ããã€ã³ã¹ããŒã«ããŸããïŒã1059åã®ãã©ã³ããã€ãŸã95ïŒ
ã®ãã¡ãèšç®ããã
line-heightã€ã³ãžã±ãŒã¿ãŒã¯1ãã倧ããã§ãã
line-heightç¯å²ã¯0.618ã3.378ã§ãã ïŒããªãã«ã¯èŠããªãã£ã-3.378ïŒïŒ
line-boxèšç®ã«é¢ããå°ããªè©³çްïŒ
- ã€ã³ã©ã€ã³èŠçŽ ã®å Žåãããã£ã³ã°ãšå¢çç·ã«ãã£ãŠèæ¯é åãå¢å ããŸãããã³ã³ãã³ãé åã®é«ãã¯å¢å ããŸããïŒã©ã€ã³ã³ã³ããã®é«ããå¢å ããŸããïŒã ãããã£ãŠãã³ã³ãã³ãé åã¯åžžã«ç»é¢ã«è¡šç€ºããããã®ã§ã¯ãããŸããã
margin-topããã³margin-bottomã¯åœ±é¿ããããŸããã - 眮æå¯èœãª
inline-blockèŠçŽ ã inline-blockèŠçŽ ãããã³ããã¯ãããinline-blockèŠçŽ padding ã margin ãããã³borderã¯ã heightãå¢å heightãããããã³ã³ãã³ãé åããã³è¡ã®ã³ã³ãããŒã®é«ããå¢å ããŸãã
vertical-alignïŒãã¹ãŠãå¶åŸ¡ããããããã£
è¡ã³ã³ãããŒã®é«ããèšç®ããäž»ãªèŠå ã§ãããåçŽæ¹åã®é
眮ããããã£ã«ã€ããŠã¯ãŸã 詳ãã説æããŠããŸããã ããã«ãæååã®æžåŒèšå®ã³ã³ããã¹ãã§ã¯ã
vertical-alignãäž»èŠãªåœ¹å²ãæãããŠãããšèšããŸãã
ããã©ã«ãå€ã¯
baselineã§ãã äžéšããã³äžéšã®è©³çްã®é«ãïŒã¢ã»ã³ããŒ/ãã£ã»ã³ããŒïŒãªã©ã®ãã©ã³ãã¡ããªãã¯ãèŠããŠããŸããïŒ ãããã®å€ã¯ãããŒã¹ã©ã€ã³ãã©ãã«ãããããããã£ãŠãäžéšãšäžéšã®æ¯çãæ±ºå®ããŸãã äžéšãšäžéšã®æ¡åŒµèŠçŽ ã®æ¯çã50/50ã«ãªãããšã¯ãã£ãã«ãªããããããšãã°åãã¬ãã«ã®èŠçŽ ã§äºæããªãçµæãçããå¯èœæ§ããããŸãã
ãã®ã³ãŒãããå§ããŸãããïŒ
<p> <span>Ba</span> <span>Ba</span> </p>
p { font-family: Catamaran; font-size: 100px; line-height: 200px; }
font-family ã
font-size ãããã³fixed
line-heightç¶æ¿ãã2ã€ã®å
åŒ
spanèŠçŽ ãæã€
pã¿ã°ã ããŒã¹ã©ã€ã³ã¯åãã§ãããè¡ã³ã³ãããŒã®é«ãã¯
line-heightçãããªããŸãã

ãããã2çªç®ã®èŠçŽ ã®
font-sizeãå°ããå Žåã¯ã©ãã§ããããïŒ
span:last-child { font-size: 50px; }
ã©ããªã«å¥åŠã«èãããŠããããã©ã«ãã®ããŒã¹ã©ã€ã³ãæãããšãäžã®å³ã«ç€ºãããã«ãè¡ã³ã³ããã®é«ãïŒïŒïŒãå¢å ããå¯èœæ§ããããŸãã è¡ã³ã³ããã®é«ãã¯ããã®åã®æé«ç¹ããæäœç¹ãŸã§èšç®ãããããšãæãåºããŠãã ããã

ããã¯ç¡æ¬¡å
ã®
line-heightå€ãæ¯æããè°è«ã«ãªãå¯èœæ§ããããŸãããå®å
šãªåçŽãªãºã ãäœæããã«ã¯åºå®å€ãå¿
èŠãªå ŽåããããŸãã æ£çŽãªãšãããããªããäœãéžãã ãšããŠããåžžã«ã©ã€ã³ãæããã®ã«åé¡ããããŸãã
å¥ã®äŸãèããŠã¿ãŸãããã
line-height: 200pxæã€
pã¿ã°
line-height: 200pxç¶æ¿ããåäžã®
spanãå«ã
line-height: 200px <p> <span>Ba</span> </p>
p { line-height: 200px; } span { font-family: Catamaran; font-size: 100px; }
è¡ã³ã³ããã®é«ãã¯äœã§ããïŒ 200pxãšä»®å®ã§ããŸãããããã§ã¯ãããŸããã åé¡ã¯ã
pãç¬èªã®ç°ãªã
font-familyå€ãæã£ãŠããããš
font-family ïŒããã©ã«ãã¯serifã§ãïŒã
pã¿ã°ãš
spanã¿ã°ã®ããŒã¹ã©ã€ã³ã¯é«ããç°ãªãå¯èœæ§ãé«ããããã©ã€ã³ã³ã³ãããŒã®é«ãã¯äºæ³ããã倧ãããªããŸãã ããã¯ããã©ãŠã¶ãæååã®åã³ã³ããããŒãå¹
æåã§å§ãŸããšä»®å®ããŠèšç®ãå®è¡ããããã§ããããã¯ã仿§ã§ã¯ãã¹ãã©ããããšåŒã°ããŸãã
ç®ã«èŠãã广ãæã€ç®ã«èŠããªãã·ã³ãã«ãã§ããããå
åŒã®å Žåãšåãåé¡ããŸã ãããŸãã

ããŒã¹ã©ã€ã³äžã®ã¢ã©ã€ã¡ã³ãã§ã¯ããã¹ãŠãæªãã§ãããå€å
vertical-align: middleã¯ç§ãã¡ãæãã§ããããïŒ ä»æ§ã«èšèŒãããŠããããã«ã
middleã¯ãã芪ã³ã³ããã®ããŒã¹ã©ã€ã³ã«ãã©ã€ããªèŠçŽ ã®x-heightã®ååãå ããåçŽãªäžç¹ã«ã³ã³ãããæããŸããã ããŒã¹ã©ã€ã³ãšxé«ãïŒxé«ãïŒã®æ¯çã¯ç°ãªãå¯èœæ§ãããããã
middleãšã®äœçœ®åããã«äŸåããããšãã§ããŸããã ãããŠææªãªã®ã¯ãã»ãšãã©ã®ã·ããªãªã§ã
middleçã«ãäžå¿ãã«ãªãããš
middleãªããšããäºå®ã§ãã ããã¯ãCSSã§èšå®ã§ããªãèŠçŽ ãå€ãããïŒx-heightãäžäžã®è©³çްèŠçŽ ã®æ¯çãªã©ïŒã®åœ±é¿ãåããŸãã
ããã«å ããŠãå Žåã«ãã£ãŠã¯æçšã§ããããšã倿ããå¯èœæ§ã®ããä»ã®4ã€ã®å€ããããŸãã
vertical-align: top / bottomè¡ã³ã³ããã®äžéšãŸãã¯äžéšã®å¢çç·ã®é
眮ãvertical-align: text-top / text-bottomã³ã³ãã³ãé åã®äžéšãŸãã¯äžéšã®å¢çç·ã®é
眮ã

ãã ããæ³šæããŠãã ããããã¹ãŠã®å Žåã«ãããŠãä»®æ³é åãã€ãŸããç®ã«èŠããªãé«ããæããããŸãã
vertical-align: topã䜿çšããç°¡åãªäŸãèããŠã¿ãŸãããã ç®ã«èŠããªã
line-heightã¯ãå¥åŠã§ã¯ãããæåŸ
ãããçµæããããããŸãã

æåŸã«ã
vertical-alignã¯ãã³ã³ãããããŒã¹ã©ã€ã³ã«å¯ŸããŠäžäžã«ç§»åããæ°å€ãåãå
¥ããŸãã ãã®æåŸã®ãªãã·ã§ã³ã¯äŸ¿å©ãããããŸããã
CSSã¯ããã
line-heightãš
vertical-alignã®çžäºäœçšã«ã€ããŠèª¬æããŸããããåé¡ã¯ãCSSãä»ããŠãã©ã³ãã¡ããªãã¯ãå¶åŸ¡ã§ãããã©ããã§ãã èŠããã«ããããã æ¬åœã«æ¬²ããã®ã§ããã ãããã«ãããç§ã¯ããã¯ããã€ãã®æ¥œãã¿ãæã£ãŠããæéã ãšæãã ãã©ã³ãã¡ããªãã¯ã¯å®æ°å€ã§ãããããå°ãªããšãäœããããŸãããã¯ãã§ãã
ããšãã°ãæ£ç¢ºã«100pxã®å€§æåã®ã«ã¿ãã©ã³ãã©ã³ãã®ããã¹ããå¿
èŠãªå Žåã¯ã©ããªããŸããïŒ å®è¡å¯èœã ãšæãããã®ã§ãèšç®ããŠã¿ãŸãããã
ãŸãããã¹ãŠã®ãã©ã³ãã¡ããªãã¯ãã«ã¹ã¿ã CSSããããã£ãšããŠæå®ãã倧æåã®é«ãã100pxã«ãªã
font-sizeãèšç®ããŸãã
p { --font: Catamaran; --fm-capitalHeight: 0.68; --fm-descender: 0.54; --fm-ascender: 1.1; --fm-linegap: 0; --capital-height: 100; font-family: var(--font); --computedFontSize: (var(--capital-height) / var(--fm-capitalHeight)); font-size: calc(var(--computedFontSize) * 1px); }

ããªãç°¡åã§ããã ããããããã¹ããèŠèŠçã«äžå€®ã«é
眮ããæ®ãã®ã¹ããŒã¹ãæåãBãã®äžäžã«åçã«é
眮ããå¿
èŠãããå Žåã¯ã©ãã§ããããã ãããè¡ãã«ã¯ãäžäžã®æ¡åŒµèŠçŽ ã®æ¯çã«åºã¥ããŠ
vertical-alignãèšç®ããå¿
èŠããããŸãã
æåã«ã
line-height: normalãšã³ã³ãã³ãé åã®é«ããèšç®ããŸãïŒ
p { ⊠--lineheightNormal: (var(--fm-ascender) + var(--fm-descender) + var(--fm-linegap)); --contentArea: (var(--lineheightNormal) * var(--computedFontSize)); }
次ã«å¿
èŠãªãã®ïŒ
- 倧æåã®äžç«¯ããäžç«¯ãŸã§ã®è·é¢ã
- 倧æåã®äžç«¯ããäžç«¯ãŸã§ã®è·é¢ã
ãã®ãããªãã®ïŒ
p { ⊠--distanceBottom: (var(--fm-descender)); --distanceTop: (var(--fm-ascender) - var(--fm-capitalHeight)); }
ããã§ããããã®è·é¢ã®å·®ã«ãèšç®ããã
font-sizeå€ãæããå€ãšããŠ
vertical-alignãèšç®ã§ããŸãïŒãã®å€ã¯å°æåã®åã«é©çšããå¿
èŠããããŸãïŒã
p { ⊠--valign: ((var(--distanceBottom) - var(--distanceTop)) * var(--computedFontSize)); } span { vertical-align: calc(var(--valign) * -1px); }
æåŸã«ãå¿
èŠãª
line-heightå€ãèšå®ããåçŽæ¹åã®é
眮ãç¶æããªããèšç®ããŸãã
p { ⊠--line-height: 3; line-height: calc(((var(--line-height) * var(--capital-height)) - var(--valign)) * 1px); }

æåãBããšåãé«ãã®ã°ã©ãã£ãã¯èŠçŽ ã远å ããã®ã¯éåžžã«ç°¡åã§ãã
span::before { content: ''; display: inline-block; width: calc(1px * var(--capital-height)); height: calc(1px * var(--capital-height)); margin-right: 10px; background: url('https://cdn.pbrd.co/images/yBAKn5bbv.png'); background-size: cover; }

ãã®ãã¹ãã¯ãã¢ã³ã¹ãã¬ãŒã·ã§ã³ã®ããã«ã®ã¿ç€ºãããŠãããã®ã§ããããã®çµæã«é Œãã¹ãã§ã¯ãªãããšãæãåºãããŠãã ããã å€ãã®çç±ããããŸãã
- ãã©ã³ãã¡ããªãã¯ã«äžè²«æ§ããªãå Žåããã©ãŠã¶ã§ã®èšç®ã¯äžå®ã§ã¯ãããŸããã ¯ïŒãïŒ/¯
- ãã©ã³ããããŒããããªãã£ãå Žåãããã¯ã¢ãããã©ã³ãã¡ããªãã¯ãç°ãªãå¯èœæ§ãé«ããå€ãã®å€ããã°ããåŠçããããšãã§ããªããªããŸãã
ãŸãšãããš
äœæ¥äŸïŒ
ç§ãã¡ãèŠã€ãããã®ïŒ
- ã€ã³ã©ã€ã³ã®æžåŒèšå®ã³ã³ããã¹ããçè§£ããã®ã¯æ¬åœã«é£ããã§ãã
- ãã¹ãŠã®å°æåèŠçŽ ã«ã¯2ã€ã®é«ãããããŸãã
- ã³ã³ãã³ãé åã®é«ãïŒãã©ã³ãã¡ããªãã¯ã«äŸåïŒ;
- ä»®æ³ãšãªã¢ã®é«ãïŒ
line-height ïŒ; - ãããã®ã©ãã確å®ã«èŠèŠåããããšã¯ã§ããŸããïŒéçºããŒã«ã«æºãã£ãŠããããã®æ¬ é¥ãä¿®æ£ããããšã決ããŠããªãéããããã¯çŽ æŽãããããšã§ãïŒã
line-height: normalã¯ããã©ã³ãã¡ããªãã¯ã«äŸåããŸããline-height: nä»®æ³é åã¯ã³ã³ãã³ãé åããå°ãããªãå ŽåããããŸããvertical-alignããŸãäŸåããªãã§ãã ããã- è¡ã³ã³ããã®é«ãã¯ãåã®
line-heightããããã£ãšvertical-alignããããã£ã䜿çšããŠèšç®vertical-alignãŸãã - CSSã䜿çšããŠãã©ã³ãã¡ããªãã¯ãååŸãŸãã¯èšå®ããããšã¯ã§ããŸããã
ããããç§ã¯ãŸã CSSã倧奜ãã§ã:)
䟿å©ãªãªã³ã¯