วิธีใช้องค์ประกอบข้อความและวัตถุต่างประเทศเพื่อติดฉลากแบบอักษรใน SVG
เผยแพร่แล้ว: 2022-12-04เมื่อพูดถึงการทำงานกับข้อความใน Scalable Vector Graphics (SVG) คุณจะมีตัวเลือกต่างๆ อยู่สองสามตัวเลือก วิธีหนึ่งคือการใช้ความสามารถข้อความในตัวของ SVG เพื่อวาดข้อความลงในรูปร่าง SVG ของคุณโดยตรง วิธีนี้ใช้ได้กับป้ายข้อความธรรมดา แต่ถ้าคุณต้องการทำอะไรที่ซับซ้อนกว่านี้ เช่น การตัดข้อความหรือการรวมไฮเปอร์ลิงก์ คุณจะต้องใช้วิธีอื่น วิธีหนึ่งที่ได้รับความนิยมคือการใช้องค์ประกอบร่วมกับองค์ประกอบ foreignObject> องค์ประกอบ foreignObject> ช่วยให้คุณสามารถรวมองค์ประกอบ HTML ไว้ใน SVG ของคุณ ซึ่งให้ความยืดหยุ่นมากขึ้นในแง่ของสิ่งที่คุณสามารถรวมไว้ในป้ายกำกับของคุณ วิธีการนี้ยังมีข้อได้เปรียบในการใช้ CSS มาตรฐานเพื่อจัดรูปแบบป้ายกำกับของคุณ ซึ่งอาจช่วยประหยัดเวลาได้มาก ในบทความนี้ เราจะมาดูวิธีใช้องค์ประกอบและ foreignObject> เพื่อติดป้ายกำกับแบบอักษรใน SVG นอกจากนี้ เราจะดูวิธีจัดรูปแบบป้ายกำกับโดยใช้ CSS และวิธีทำให้ป้ายกำกับเข้าถึงได้มากขึ้นด้วยการเพิ่มป้ายกำกับ ARIA
ฉันจะฝังแบบอักษรใน Svg ได้อย่างไร
หากต้องการฝังฟอนต์ใน ไฟล์ SVG คุณต้องกำหนดกฎ @font-face ภายในไฟล์ thesvg ก่อน จากนั้น คุณสามารถใช้ฟอนต์ภายใน SVG ได้โดยใช้คุณสมบัติ font-family
การสร้างแบรนด์องค์กรของเราใช้แบบอักษรที่เรียกว่า Metropolitan แต่ต้องมีไฟล์ but.svg ในเนื้อหาที่ผู้ใช้ภายนอกเข้าถึงได้ (ซึ่งไม่มีสิทธิ์เข้าถึงไฟล์เหล่านี้) มีวิธีการบันทึกไฟล์ฟอนต์ขององค์กร Times New Roman เป็นแบบอักษรเริ่มต้นในเบราว์เซอร์ ไม่สามารถใส่ฟอนต์ใน Inkscape ได้ ไม่ว่าในกรณีใด คุณจะต้องใช้เครื่องที่สองเพื่อติดตั้งฟอนต์ หากคุณใช้เบราว์เซอร์ หรือหากคุณเพิ่มแท็ก <img> คุณสามารถตรวจสอบประสิทธิภาพของไฟล์ svg ได้ มีหลายวิธีในการทำโปรแกรมนี้เช่นกัน
คุณสามารถคัดลอกรูปแบบจากไฟล์ต้นฉบับสองไฟล์ที่ฉันโพสต์ไว้ที่นี่ โดยพื้นฐานแล้วมันเหมือนกับชื่อที่บอกเป็นนัย: คุณทำงานกับระบบที่ติดตั้งฟอนต์ ต้องระบุตระกูลฟอนต์ รวมถึงสไตล์เส้นสำหรับ องค์ประกอบ svg
คุณสามารถใส่ข้อความใน Svg ได้หรือไม่?
เมื่อใช้องค์ประกอบ text> คุณสามารถสร้างองค์ประกอบกราฟิกที่มีข้อความเป็นแหล่งที่มา คุณสามารถใช้การไล่ระดับสี รูปแบบ เส้นทางการตัด มาสก์ หรือตัวกรองที่คุณใช้สำหรับข้อความ> เช่นเดียวกับ องค์ประกอบกราฟิก SVG ประเภทอื่นๆ องค์ประกอบที่มีข้อความใน SVG ไม่ปรากฏในองค์ประกอบ text>
สิ่งที่ดีที่สุดของทั้งสองโลกคือการใช้ ข้อความ SVG มีรูปลักษณ์และความรู้สึกเหมือนกับองค์ประกอบกราฟิกอื่น ๆ ช่วยให้คุณสามารถเพิ่มเส้นขีดและเติมช่องว่างด้วยเส้นขีดและเติมที่คุณต้องการ สามารถเลือก คัดลอก และวางที่อื่นได้ โปรแกรมอ่านหน้าจอสามารถอ่านข้อความ และเครื่องมือค้นหาสามารถค้นหาได้ โดยทั่วไป จุด (0,0) จะอยู่ที่มุมล่างซ้ายของกล่อง แม้ว่าจะพบได้ทั่วไปที่ขอบด้านซ้าย เพื่อสร้างจำนวนพิกัดเฉพาะต่อ em กล่อง EM ควรแบ่งออกเป็นจำนวน em หมายเลขนี้เป็นคุณลักษณะทั่วไปของแบบอักษร ซึ่งแสดงอยู่ในตารางอักขระ
ข้อความจะแสดงผลในลักษณะเดียวกับ องค์ประกอบ SVG อื่นๆ เติม ลากเส้น หรือแม้แต่นำข้อความจากหลายๆ องค์ประกอบกลับมาใช้ใหม่ ในตัวอย่างนี้ ฉันสร้างองค์ประกอบ *.text* ภายในแท็ก เพิ่มแอตทริบิวต์ X และ Y ซึ่งกำหนดตำแหน่งของวิวพอร์ตสำหรับข้อความ การวางตำแหน่งขององค์ประกอบนี้ไม่ซ้ำกันเนื่องจากทำให้คุณสามารถย้ายข้อความทั้งหมดของคุณได้ เราจะพูดถึงบางสิ่งที่คุณสามารถทำได้เพื่อปรับปรุงวิธีการแสดง ขอขอบคุณที่สละเวลาอ่านข้อมูลเกี่ยวกับสัญลักษณ์และแบบอักษร อย่างไรก็ตาม การมีรากฐานที่มั่นคงจะช่วยให้เราเข้าใจได้ในภายหลังก็เป็นประโยชน์
องค์ประกอบเหล่านี้ช่วยให้เราเขียนข้อความภายในสี่เหลี่ยมผืนผ้าที่สร้างขึ้นโดยใช้องค์ประกอบ SVG rect> และ text> นี่เป็นเครื่องมือที่ยอดเยี่ยมสำหรับการสร้างฉลากและกราฟิกแบบข้อความอื่นๆ ในการสร้างกราฟิก SVG แบบข้อความ ก่อนอื่นเราต้องสร้างสี่เหลี่ยมผืนผ้าและองค์ประกอบข้อความ คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับการวาดสี่เหลี่ยมและการวาดข้อความโดยใช้หัวข้อ วาดสี่เหลี่ยมและวาดข้อความ ทันทีที่เราตั้งค่าเหล่านี้ เราสามารถเริ่มเขียนข้อความของเราได้
ฉันจะใส่ข้อความในเส้นทาง Svg ได้อย่างไร
มีสองสามวิธีในการทำเช่นนี้ แต่โดยทั่วไปคือการใช้องค์ประกอบข้อความ คุณสามารถจัดตำแหน่งองค์ประกอบข้อความโดยใช้แอตทริบิวต์ x และ y จากนั้น หากต้องการวางข้อความบนเส้นโค้ง คุณสามารถใช้องค์ประกอบ textPath องค์ประกอบ textPath ต้องการการอ้างอิงถึงองค์ประกอบเส้นทาง จากนั้นคุณสามารถใช้แอตทริบิวต์ startOffset เพื่อควบคุมตำแหน่งบนเส้นทางที่ข้อความจะเริ่มต้น
ข้อความใน SVG สามารถจัดวางได้ทุกที่ที่คุณต้องการ ขณะนี้ข้อความสามารถแสดงได้หลายวิธี การสร้างองค์ประกอบด้วยเส้นทางตามเส้นทางที่กำหนดองค์ประกอบที่กำหนดไว้และภายในแท็ก defs เป็นเรื่องง่าย ในตัวอย่างแรกด้านล่าง ฉันใช้รหัสเส้นทางข้อความเพื่อสร้างเส้นทางเชิงเส้น คุณสามารถตั้งค่าแอตทริบิวต์ startOffset เพื่อชดเชยจุดเริ่มต้นของเส้นทางในตำแหน่งข้อความเริ่มต้น คุณสามารถกำหนดความยาวเป็นเปอร์เซ็นต์และตัวเลขได้ ตัวเลขแสดงถึงระยะทางระหว่างระบบพิกัดปัจจุบันและระยะทางที่วัดโดยระบบพิกัดหลัง
คุณสามารถทำได้ด้วยวิธีเดียวกันหากคุณไม่ได้ใช้ startOffset ค่า x ใช้เพื่อระบุตำแหน่งที่ข้อความขนานและตั้งฉากกับเส้นทาง การสร้างเส้นทางเป็นขั้นตอนที่ยากที่สุด แต่การเพิ่มข้อความนั้นง่ายที่สุด สิ่งที่ดีที่สุดที่ควรทำหากคุณพอใจกับการทำงานกับ เส้นทาง SVG คือการมีความสุข สัปดาห์หน้า ฉันจะพูดถึงแอตทริบิวต์ที่เหลือและแสดงเส้นทางโค้งให้คุณเห็นในที่สุด
แบบอักษรข้อความ Svg
ฟอนต์ข้อความ SVG เป็นฟอนต์ที่เรียบง่าย สะอาดตา และมีสไตล์ ซึ่งเหมาะสำหรับเว็บไซต์หรือเอกสารใดๆ แบบอักษรข้อความ SVG ยังอ่านง่ายและเหมาะสำหรับเอกสารที่ต้องการอ่านอย่างรวดเร็ว
เปิดตัวครั้งแรกในปี 1999 เพื่อให้นักออกแบบสร้างกราฟิกด้วยฟอนต์ที่ต้องการและให้ปรากฏอย่างถูกต้องในเบราว์เซอร์ 18 ปีต่อมา การรองรับฟอนต์ใน SVG เป็นอย่างไร และวิธีปฏิบัติที่ดีที่สุดเพื่อให้ฟอนต์ทำงานได้อย่างถูกต้องคืออะไร การใช้แบบอักษรที่ปลอดภัยสำหรับเว็บทำให้มั่นใจได้ว่าแบบอักษรที่ใช้ใน SVG จะแสดงในระบบหลักส่วนใหญ่ ทุกคนสามารถดาวน์โหลดและใช้ฟอนต์ที่ปลอดภัยบนเว็บได้ และแชร์โดยแพลตฟอร์มและระบบทั้งหมด ตอนนี้คุณสามารถใช้ฟอนต์เว็บใน SVG ได้แล้ว ด้วยจำนวนผู้ให้บริการที่เพิ่มขึ้น เช่น ฟอนต์ Google, Font Squirrel และอื่นๆ
ประโยชน์ของฟอนต์ใน Svg
นี่เป็นเพียงแบบอักษรกราฟิกแบบเวกเตอร์ที่ปรับขนาดได้ (SVG) ด้วยเหตุนี้ แทนที่จะดาวน์โหลดไฟล์ฟอนต์แยกต่างหากแล้วฝังลงในไฟล์ Scalable Vector Graphics (SVG) คุณสามารถสร้างฟอนต์ Scalable Vector Graphics (SVG) ได้ด้วยตัวเอง เนื่องจากสามารถใช้ฟอนต์ SVG บนแพลตฟอร์มใดก็ได้ที่รองรับ รวมถึงคอมพิวเตอร์เดสก์ท็อป โทรศัพท์มือถือ และแม้แต่แอปพลิเคชันวาดภาพเวกเตอร์อย่าง Inkscape ฟอนต์เหล่านี้จึงสามารถใช้ได้บนแทบทุกแพลตฟอร์ม แม้ว่าฟอนต์ใน SVG จะยังอยู่ในช่วงเริ่มต้นของการพัฒนา แต่ก็มีฟีเจอร์บางอย่างที่แตกต่างจากฟอนต์อื่นๆ ในแพ็ก เมื่อใช้ฟอนต์ SVG คุณสามารถเลือกสี การไล่ระดับสี หรือรูปแบบต่างๆ ที่ฝังอยู่ในตัวอักษรได้ ด้วยเหตุนี้ ฟอนต์ SVG จึงสามารถใช้สร้างงานออกแบบที่ซับซ้อนและซับซ้อนซึ่งไม่สามารถทำได้ด้วยไฟล์ฟอนต์แบบดั้งเดิม หากคุณต้องการสร้างงาน ออกแบบ SVG ที่สมบูรณ์และมีพื้นผิว คุณควรพิจารณาใช้แบบอักษรใน sva
แอตทริบิวต์ข้อความ Svg
แอตทริบิวต์ข้อความ SVG ช่วยให้คุณควบคุมลักษณะที่ปรากฏของข้อความใน เอกสาร SVG ของคุณได้ คุณสามารถตั้งค่าแอตทริบิวต์ต่อไปนี้ในองค์ประกอบ: alignment-baseline, baseline-shift, clip, clip-path, สี, เคอร์เซอร์, ทิศทาง, การแสดงผล, เส้นฐานเด่น, เติม, เติมความทึบ, ฟอนต์, ตระกูลฟอนต์, ขนาดฟอนต์ , ปรับขนาดฟอนต์, ยืดฟอนต์, สไตล์ฟอนต์, แปรผันฟอนต์, น้ำหนักฟอนต์, ระยะห่างตัวอักษร, ความทึบ, โอเวอร์โฟลว์, ตัวชี้เหตุการณ์, การแสดงผลรูปร่าง, เส้นขีด, เส้นขีด-เส้นประ, เส้นประเส้นขีด, เส้นขีด -linecap, stroke-linejoin, stroke-miterlimit, stroke-opacity, stroke-width, text-align, text-anchor, text-การตกแต่ง, text-rendering, unicode-bidi, การมองเห็น, ระยะห่างระหว่างคำ, x, y
แอตทริบิวต์ Svg คืออะไร?
สามารถใช้แอตทริบิวต์ขององค์ประกอบเพื่อระบุวิธีจัดการหรือแสดงผลองค์ประกอบ SVG โดยขึ้นอยู่กับบริบท นี่คือรายการของแอตทริบิวต์ที่มีทั้งหมดใน SVG รวมถึงลิงก์ไปยังเอกสารอ้างอิงเพื่อช่วยให้คุณเรียนรู้ว่าองค์ประกอบใดสนับสนุนองค์ประกอบใด และทำงานอย่างไร
Svg Font-family ไม่ทำงาน
หากคุณประสบปัญหาในการทำให้ svg font-family ของคุณทำงาน มีบางสิ่งที่คุณสามารถตรวจสอบได้ ตรวจสอบให้แน่ใจว่าคุณใช้ชื่อตระกูลฟอนต์ที่ถูกต้อง และคุณได้ติดตั้งฟอนต์บนระบบของคุณแล้ว หากคุณยังประสบปัญหาอยู่ ให้ลองใช้ชื่อตระกูลแบบอักษรอื่น
รูปภาพ Svg: วิธีการใช้ในเว็บเพจและเค้าโครงการพิมพ์
ตรงกันข้ามกับรูปภาพ .JPG ซึ่งสามารถใช้ในเว็บเพจ,. สามารถใช้ ภาพ SVG ในเค้าโครงสิ่งพิมพ์ได้ หากคุณต้องการใช้ภาพ SVG ในหน้าเว็บ คุณจะต้องรวมไฟล์ sva หากต้องการใช้ภาพ svg ในเค้าโครงสิ่งพิมพ์ คุณจะต้องมีแบบอักษรที่รองรับ คุณสามารถใช้ภาพ SVG ในเว็บเบราว์เซอร์ใดก็ได้ที่รองรับแบบอักษรที่มีให้ แม้ว่าคุณอาจไม่สามารถดูภาพ SVG ได้อย่างถูกต้องหากคุณใช้เบราว์เซอร์ที่ไม่รองรับภาพเหล่านี้ แต่ก็ควรมองเห็นได้ คุณสามารถลองใช้แบบอักษรบนเว็บที่ปลอดภัยหรือแบบอักษรบนเว็บของ Google หากเป็นเช่นนั้น เนื่องจากเบราว์เซอร์ส่วนใหญ่รองรับฟอนต์เหล่านี้ อิมเมจ sva ของคุณควรแสดงผลอย่างถูกต้อง
Svg Text Color Css
สีของ องค์ประกอบข้อความ SVG สามารถตั้งค่าได้โดยใช้คุณสมบัติ 'เติม' ใน CSS ตามค่าเริ่มต้น สีจะสืบทอดมาจากองค์ประกอบหลัก
ใน CodePen คุณจะเขียนสิ่งที่คุณต้องการภายในบริบทของโปรแกรมแก้ไข HTML รวมถึงส่วนหัวและแท็กภายในเทมเพลต HTML5 พื้นฐาน CSS สามารถนำไปใช้กับปากกาของคุณจากสไตล์ชีตใดก็ได้บนอินเทอร์เน็ต คำนำหน้าผู้ขายมักใช้กับคุณสมบัติและค่าที่ต้องดำเนินการ ปากกาของคุณสามารถควบคุมได้ด้วยสคริปต์ที่สร้างได้จากทุกที่บนอินเทอร์เน็ต เมื่อคุณใส่ URL เราจะเพิ่มตามลำดับที่คุณมีก่อน JavaScript ในปากกา ก่อนสมัคร เราจะพยายามประมวลผลสคริปต์ที่มีนามสกุลไฟล์พรีโปรเซสเซอร์
วิธีเปลี่ยนสีองค์ประกอบ Svg โดยใช้ Css
สีของเนื้อหาภายใน แท็ก svg จะถูกตั้งค่าหากเพิ่ม fill=”currentColor” ลงในแท็ก svg สามารถใช้ CSS เพื่อเปลี่ยนสีในภายหลังหากคุณมีคำหลักนี้ (แทนที่จะเป็นสีคงที่) สามารถใช้คุณสมบัติ Global Color เพื่อระบุสีเริ่มต้นสำหรับองค์ประกอบทั้งหมดในไฟล์ SVG
วิธีเพิ่มข้อความในเส้นทาง Svg
หากต้องการสร้างข้อความ SVG ที่ติดตามเส้นทาง คุณสามารถใช้องค์ประกอบ *textPath> กับเส้นทางที่คุณกำหนดในแท็กของ defs เส้นทางสามารถอ้างอิงได้โดยใช้แอตทริบิวต์ xlink:href ในส่วน "textPath" ของป้ายกำกับ *textPath คุณจะสังเกตเห็นว่าใน SVG 2.0 ไม่มี xlink แต่จะเรียกว่าเส้นทางแทนเป็น href
การตัดข้อความ Svg
การ ตัดข้อความ SVG เป็นคุณลักษณะของรูปแบบ Scalable Vector Graphics (SVG) ที่อนุญาตให้ตัดข้อความรอบกราฟิก สิ่งนี้มีประโยชน์สำหรับการสร้างโลโก้แบบข้อความหรือเพิ่มคำบรรยายให้กับรูปภาพ คุณลักษณะการตัดข้อความรองรับโดยเบราว์เซอร์หลักทั้งหมด
พูดง่ายๆ ก็คือ สิ่งที่คุณเขียนในโปรแกรมแก้ไข HTML คือสิ่งที่จัดเก็บไว้ในเนื้อหา HTML5 ของเทมเพลต HTML5 พื้นฐาน CSS สามารถนำไปใช้กับปากกาของคุณจากสไตล์ชีตใดก็ได้บนอินเทอร์เน็ต หากคุณต้องการการสนับสนุนข้ามเบราว์เซอร์ที่ดีที่สุด คุณควรใช้คำนำหน้าผู้ขายในคุณสมบัติและค่าต่างๆ คุณสามารถสร้างสคริปต์ที่ใช้ได้จากทุกที่บนอินเทอร์เน็ตด้วยปากกาของคุณ หากคุณป้อน URL ที่นี่ URL นั้นจะถูกเพิ่มตามลำดับที่ไฟล์อื่นๆ ที่คุณมีจะถูกวางไว้ใน JavaScript ใน Pen เราจะพยายามประมวลผลนามสกุลไฟล์ของสคริปต์ที่คุณลิงก์เพื่อดำเนินการก่อนที่จะนำไปใช้
ข้อความ Svg ไม่มีความกว้างและความสูง
ทำไม dosvg ถึงมีความกว้าง? เมื่อสร้าง ข้อความ sva จะไม่มีวิธีระบุความกว้างหรือความสูง
ขนาดข้อความ Svg
ไม่มีคำตอบที่ชัดเจนสำหรับคำถามนี้ เนื่องจากส่วนใหญ่ขึ้นอยู่กับรูปลักษณ์ที่ต้องการของ ไฟล์ SVG นั้นๆ อย่างไรก็ตาม โดยทั่วไปแล้ว ขอแนะนำให้ใช้ขนาดฟอนต์สัมพัทธ์ (เช่น หน่วย em) เพื่อให้แน่ใจว่าข้อความจะปรับขนาดอย่างเหมาะสมเมื่อปรับขนาดไฟล์ SVG