ควบคุมขีดจำกัดสูงสุดด้วยตัวอักษรเริ่มต้นของ CSS

ศิลปะในการจัดรูปแบบของฝาปิดมีวางจำหน่ายมาหลายร้อยปีแล้วอาจจะไม่ถึงหลายพันปี โดยใช้รูปแบบสิ่งพิมพ์เพื่อบ่งบอกจุดเริ่มต้นของส่วนหรือบทใหม่ให้ดูได้ผ่านประวัติศาสตร์ แต่การจัดสไตล์ในยุคดิจิทัลมักจะไม่ใช่ปัญหา ยังไม่มีโซลูชันที่ "สะอาด" ในการจัดรูปแบบ

พร็อพเพอร์ตี้ CSS initial-letter จะทำให้สิ่งต่างๆ ง่ายขึ้นมาก

การสนับสนุนเบราว์เซอร์

คุณลองใช้ initial-letter ได้ที่ไหน โดยพร้อมใช้งานใน Safari และจาก Chrome 110 พร็อพเพอร์ตี้ต้องมีคำนำหน้า -webkit- ใน Safari มีปัญหาที่ยังไม่ได้รับการแก้ไขเพื่อให้ดำเนินการใน Firefox

ทดสอบการสนับสนุนของ initial-letter ด้วย:

@supports (initial-letter: 1 1) { /* Your supported styles */ }

โซลูชันปัจจุบัน

วันนี้คุณจะเปลี่ยนรูปแบบการลดจำนวนใน CSS อย่างไร

องค์ประกอบเทียม ::first-letter ช่วยให้เรา

p::first-letter {
  color: hsl(220, 94%, 51%);
  font-weight: bold;
  font-size: 4rem;
}

แต่คุณต้องเข้าถึงพร็อพเพอร์ตี้ เช่น "ทศนิยม" ขณะคำนวณขนาดสำหรับตัวอักษรแรกนั้น

p::first-letter {
  color: hsl(220, 94%, 51%);
  font-weight: bold;
  font-size: 4rem;
  float: left;
  line-height: 1;
  margin-right: 0.25rem;
}

การเปิดตัวหน่วย CSS ใหม่อย่าง lh อาจบรรเทาความยุ่งยากบางส่วนได้ แต่ก็มีการรองรับอย่างจำกัดเช่นกัน (ขณะนี้ lh รองรับใน Chrome เท่านั้น)

p::first-letter {
  color: hsl(220, 94%, 51%);
  font-weight: bold;
  font-size: 3lh;
  float: left;
  line-height: 1;
  margin-right: 0.1lh;
}

ขอแนะนำจดหมายข่าว

พร็อพเพอร์ตี้ initial-letter ช่วยให้คุณควบคุมการจัดรูปแบบของขีดจำกัดได้ละเอียดยิ่งขึ้น ใช้เว้นวรรค 2 ค่าแยกกัน ดังนี้

p::first-letter {
  initial-letter: 3.5 3;
}
  • อาร์กิวเมนต์แรกจะกำหนดขนาดของตัวอักษรและจำนวนบรรทัดที่จะใช้ในตัวอักษร ตัวอักษรจะใหญ่ขึ้นโดยที่ยังรักษาสัดส่วนภาพไว้ คุณใช้ค่าลบไม่ได้ แต่ใช้ค่าทศนิยมได้
  • อาร์กิวเมนต์ที่ 2 กำหนดซิงก์ตัวอักษร ซึ่งอาจถือเป็นการชดเชยตำแหน่งสำหรับตัวอักษร ค่าที่ 2 เป็นค่าที่ไม่บังคับและต้องไม่เป็นค่าลบ หากไม่ได้ระบุ จะถือว่าค่าของขนาดตัวอักษรพื้นเป็นจำนวนเต็มที่ใกล้ที่สุด ซึ่งเทียบเท่ากับการใช้คีย์เวิร์ด "ลดลง" ซิงก์ยังยอมรับค่าคีย์เวิร์ดอีกค่าหนึ่ง "ยกระดับ" ซึ่งเทียบเท่ากับซิงก์ที่มีค่าเป็น 1

ชมการสาธิตนี้ที่คุณสามารถเปลี่ยนค่าเพื่อดูว่ามีผลต่อการจัดรูปแบบขีดจำกัดสูงสุดอย่างไร

รวมเข้ากับ ::first-line คุณอาจมีลักษณะดังนี้

p::first-line {
  font-variant: small-caps;
  font-weight: bold;
  font-size: 1.25rem;
}
p::first-letter {
  font-family: "Merriweather", serif;
  initial-letter: 3.5 3;
  font-weight: bold;
  line-height: 1;
  margin-right: 1rem;
  color: #3b5bdb;
  text-shadow: 0.25rem 0.25rem #be4bdb;
}

หรืออาจให้ border ก็ได้ โปรดสังเกตวิธีที่ตัวอย่างต่อไปนี้ใช้คีย์เวิร์ด "ลดลง" ซึ่งจะเป็นค่าเริ่มต้นหากละไว้และเท่ากับ 3: css p::first-letter { font-family: "Merriweather", serif; initial-letter: 3.5 drop; font-weight: bold; line-height: 1; margin-right: 1rem; color: #3b5bdb; border: 0.25rem dashed #be4bdb; padding: 0.5rem; border-radius: 5px; }

อาจเพิ่ม background หรือ box-shadow:

p::first-letter {
  font-family: "Merriweather", serif;
  initial-letter: 3.5 3;
  font-weight: bold;
  line-height: 1;
  margin-right: 1rem;
  color: var(--surface-1);
  background: #be4bdb;
  padding: 0.5rem;
  border-radius: 5px;
  box-shadow: 0.5rem 0.5rem 0 #3b5bdb;
}

หรือตัดพื้นหลังออกจากข้อความ:

p::first-letter {
  background: linear-gradient(to bottom right,#1f005c,#5b0060,#870160,#ac255e,#ca485c,#e16b5c,#f39060,#ffb56b);
  font-family: "Merriweather", serif;
  initial-letter: 3.5 3;
  font-weight: bold;
  line-height: 1;
  margin-right: 1rem;
  color: transparent;
  -webkit-background-clip: text;
  padding: 0.5rem;
}

คุณทำได้มากมาย

เพียงเท่านี้ คุณก็จะควบคุมการจัดรูปแบบของ Drop Cap ได้ละเอียดยิ่งขึ้นด้วย initial-letter คุณจะเพิ่มตัวพิมพ์ใหญ่ในการพิมพ์ไหม คุณจะจัดสไตล์อย่างไร โปรดแจ้งให้เราทราบ