text-shadowวิธีการแก้ปัญหาแบบพกพามากที่สุดและสายตาที่ชื่นชอบที่จะใช้ สิ่งนี้ทบทวนและแสดงตัวอย่างคำตอบของ Thorgeirโดยใช้Alexxaliและการปรับแต่งของฉันเอง:
  li:hover { text-shadow: -0.06ex 0 black, 0.06ex 0 black; }
สิ่งนี้ทำให้ "เงา" เล็ก ๆ เป็นสีดำ (ใช้ชื่อ / รหัสสีของแบบอักษรแทนblackหากจำเป็น) ทั้งสองด้านของตัวอักษรแต่ละตัวโดยใช้หน่วยที่ปรับขนาดได้อย่างเหมาะสมด้วยการแสดงผลแบบอักษร
  
 คำเตือน: pxค่าต่างๆรองรับค่าทศนิยม แต่จะดูไม่ดีนักเมื่อขนาดฟอนต์เปลี่ยนไป (เช่นผู้ใช้ปรับขนาดมุมมองด้วยCtrl+ +) ใช้ค่าสัมพัทธ์แทน
  
  คำตอบนี้ใช้เศษส่วนของexหน่วยเนื่องจากปรับขนาดตามแบบอักษร 
ในที่สุด ~ ค่าเริ่มต้นของเบราว์เซอร์*คาดว่า1ex≈ 8pxและดังนั้นจึง≈0.025ex0.1px
ดูตัวคุณเอง:  
li             { color: #000; } /* set text color just in case */
.shadow0       { text-shadow: inherit; }
.shadow2       { text-shadow: -0.02ex 0 #000, 0.02ex 0 #000; }
.shadow4       { text-shadow: -0.04ex 0 #000, 0.04ex 0 #000; }
.shadow6       { text-shadow: -0.06ex 0 #000, 0.06ex 0 #000; }
.shadow8       { text-shadow: -0.08ex 0 #000, 0.08ex 0 #000; }
.bold          { font-weight: bold; }
.bolder        { font-weight: bolder; }
.after span        { display:inline-block; font-weight: bold; } /* workaholic… */
.after:hover span  { font-weight:normal; }
.after span::after { content: attr(title); font-weight: bold; display:block; 
                     height: 0; overflow: hidden; }
.ltrsp         { letter-spacing:0; font-weight:bold; } /* @cgTag */
li.ltrsp:hover { letter-spacing:0.0125ex; }
li:hover       { font-weight: normal!important; text-shadow: none!important; }
<li class="shadow0">MmmIii123 This line tests shadow0 (plain)</li>
<li class="shadow2">MmmIii123 This line tests shadow2 (0.02ex)</li>
<li class="shadow4">MmmIii123 This line tests shadow4 (0.04ex)</li>
<li class="shadow6">MmmIii123 This line tests shadow6 (0.06ex)</li>
<li class="shadow8">MmmIii123 This line tests shadow8 (0.08ex)</li>
<li class="after"><span title="MmmIii123 This line tests [title]"
                   >MmmIii123 This line tests [title]</span> (@workaholic…)</li>
<li class="ltrsp"  >MmmIii123 This line tests ltrsp (@cgTag)</li>
<li class="bold"   >MmmIii123 This line tests bold</li>
<li class="bolder" >MmmIii123 This line tests bolder</li>
<li class="shadow2 bold">MmmIii123 This line tests shadow2 (0.02ex) + bold</li>
<li class="shadow4 bold">MmmIii123 This line tests shadow4 (0.04ex) + bold</li>
<li class="shadow6 bold">MmmIii123 This line tests shadow6 (0.06ex) + bold</li>
<li class="shadow8 bold">MmmIii123 This line tests shadow8 (0.08ex) + bold</li>
 
 
วางเมาส์เหนือบรรทัดที่แสดงผลเพื่อดูว่าแตกต่างจากข้อความมาตรฐานอย่างไร
ปรับเปลี่ยนระดับการซูม ( Ctrl+ +และCtrl+ -) ของเบราว์เซอร์เพื่อดูความแตกต่าง
ฉันได้เพิ่มโซลูชันอื่นอีกสองวิธีที่นี่เพื่อเปรียบเทียบ: เคล็ดลับการเว้นระยะห่างของตัวอักษรของ @ cgTagซึ่งใช้งานได้ไม่ดีนักเนื่องจากเกี่ยวข้องกับการคาดเดาช่วงความกว้างของตัวอักษรและ@ workaholic_gangster911's :: หลังจากวาดเคล็ดลับซึ่งทำให้มีช่องว่างเพิ่มขึ้นอย่างน่าอึดอัดเพื่อให้ข้อความที่เป็นตัวหนาสามารถขยายได้ โดยไม่ต้องเขยิบรายการข้อความใกล้เคียง (ฉันใส่การระบุแหล่งที่มาหลังข้อความตัวหนาเพื่อให้คุณเห็นว่าข้อความนั้นไม่เคลื่อนไหวอย่างไร)
ในอนาคตเราจะมีมากขึ้นแบบอักษรตัวแปรความสามารถในสิ่งที่ต้องการเปลี่ยนเกรดอักษรfont-variation-settingsผ่านทาง   การรองรับเบราว์เซอร์กำลังเพิ่มมากขึ้น (Chrome 63+, Firefox 62+) แต่ยังต้องการแบบอักษรมากกว่ามาตรฐานและแบบอักษรที่มีอยู่เพียงไม่กี่แบบที่รองรับ
หากคุณฝังแบบอักษรตัวแปรคุณจะสามารถใช้ CSS ดังนี้:
/* Grade: Increase the typeface's relative weight/density */
@supports (font-variation-settings: 'GRAD' 150) {
  li:hover { font-variation-settings: 'GRAD' 150; }
}
/* Failover for older browsers: tiny shadows at right & left of the text
 * (replace both instances of "black" with the font color) */
@supports not (font-variation-settings: 'GRAD' 150) {
  li:hover { text-shadow: -0.06ex 0 black, 0.06ex 0 black; }
}
มีการสาธิตสดพร้อมแถบเลื่อนเพื่อเล่นกับเกรดต่างๆใน Mozilla Variable Fonts Guide การแนะนำแบบอักษรตัวแปรของ Google บนเว็บมี GIF แบบเคลื่อนไหวที่แสดงการสลับระหว่างเกรดสูงและไม่มีเกรด
