เปลี่ยน ViewBox ของ SVG โดยใช้ CSS

เผยแพร่แล้ว: 2022-11-25

เมื่อเราคิดว่าเราจะเปลี่ยนองค์ประกอบบนหน้าเว็บได้อย่างไร CSS มักจะเป็นสิ่งแรกที่นึกถึง แต่คุณรู้หรือไม่ว่าคุณสามารถใช้ CSS เพื่อเปลี่ยน viewBox ของ SVG ได้ด้วย viewBox เป็นคุณสมบัติที่สำคัญมากของ SVG กำหนดระบบพิกัดของพื้นที่วาดภาพของ SVG นอกจากนี้ยังใช้เพื่อควบคุมอัตราส่วนกว้างยาวของรูปวาด ถ้าเราต้องการเปลี่ยน viewBox ของ SVG โดยใช้ CSS เราสามารถใช้ คุณสมบัติ CSS “transform” คุณสมบัติการแปลงช่วยให้เราสามารถเปลี่ยนระบบพิกัดขององค์ประกอบ เราสามารถใช้มันเพื่อเปลี่ยน viewBox ของ SVG นี่คือตัวอย่าง ในตัวอย่างนี้ เราจะเปลี่ยน viewBox ของ SVG ให้ตรงกับขนาดของคอนเทนเนอร์ HTML: … CSS: #container { ความกว้าง: 400px; ความสูง: 400px; } #container svg { แปลงร่าง: ขนาด (4); } ผลลัพธ์ของโค้ดนี้จะเป็น SVG ที่มี viewBox ซึ่งใหญ่กว่าคอนเทนเนอร์สี่เท่า นี่เป็นเพียงตัวอย่างหนึ่งที่เราสามารถเปลี่ยน viewBox ของ SVG โดยใช้ CSS มีความเป็นไปได้อื่น ๆ อีกมากมาย เราสามารถใช้คุณสมบัติการแปลงเพื่อเปลี่ยนอัตราส่วนกว้างยาวของ viewBox หรือเราสามารถใช้คุณสมบัตินี้เพื่อเปลี่ยนตำแหน่งของ viewBox ดังนั้น หากคุณต้องการเปลี่ยนรูปลักษณ์ของ SVG บนหน้าเว็บ อย่าลืมว่าคุณสามารถใช้ CSS เพื่อเปลี่ยน viewBox ได้

อัตราส่วนกว้างยาวของ SVG จะต้องอยู่ในอัตราส่วนที่ฉันต้องการปรับ ความกว้างและความสูงของช่องมองภาพสามารถเปลี่ยนแปลงได้ขึ้นอยู่กับหน้า แต่ไม่สามารถเปลี่ยนแปลงพร้อมกันได้ คุณสามารถแปลงตัวอักษรจำนวนเท่าใดก็ได้ด้วยตัวอักษรต่อไปนี้ วันที่ 23 เมษายน 2562 เวลา 17:27 น. ฉันเขียนคำตอบ มีวิธีเปลี่ยน คุณสมบัติ viewBox โดยใช้ CSS หรือไม่ ป้ายทอง SansSpoonsanSpoon 2,0051 สามารถพบได้ที่นี่ มีป้ายเงิน 22 ป้ายและป้ายทองแดง 40 ป้ายให้เลือก

Nodira 6561 มีป้ายสีทอง ป้ายทอง 12.7k14 ของ Paulo Coghi เป็นป้ายทอง เดบุ ชิโนบิยังออกเหรียญเงิน 1,65815 เหรียญ Paul LeBeau ได้รับตราทองคำสำหรับ 94.9k8 Geoffrey Burdett มีตราทองคำมูลค่า 1,678 ดอลลาร์ ตราเงินของปี 1742 ถูกสร้างขึ้นโดยรัฐบาลสวีเดน

เป็นไปได้ที่จะใช้ SVG ใน CSS โดยใช้ data URI แต่เบราว์เซอร์ที่ใช้ Webkit ไม่รองรับเนื่องจากไม่มีการเข้ารหัส encodeURIComponent() ให้คุณเข้ารหัส SVG ในรูปแบบใดก็ได้ที่คุณต้องการ สิ่งสำคัญคือต้องมี xmlns เช่นนี้สำหรับ SVG: xmlns=' http://www.w3.org/2000/svg' มันจะถูกเพิ่มโดยอัตโนมัติหากไม่มีอยู่

วิวบ็อกซ์คือคู่ของพิกัดเสมือนที่ใช้โดยเวกเตอร์ทั้งหมดใน SVG ในขณะที่ความสูง ความกว้าง และคุณสมบัติอื่น ๆ ของ SVG จริงสามารถปรับเปลี่ยนได้โดยไม่ส่งผลกระทบต่อภายใน คุณสามารถใช้งานได้โดยไม่ต้องใช้ viewBox เพราะมันใช้งานง่ายมาก ถ้าฉันจะไม่ใช้ ฉันจะไม่สร้าง SVG

เนื่องจาก พื้นหลัง SVG ได้รับการปฏิบัติเหมือนกับรูปภาพอื่นๆ คุณจึงไม่สามารถเปลี่ยนแปลงโดยใช้คุณสมบัติแต่ละอย่าง เช่น สีเติม

ViewBox เป็นแอตทริบิวต์ที่พบใน ไฟล์ svg พิกัดของมันคือ 0-100 หน่วย ในขณะที่ขนาดของมันคือ 200 x 200 พิกเซล

คุณสามารถเปลี่ยน Svg Viewbox ด้วย Css ได้หรือไม่?

คุณสามารถเปลี่ยน Svg Viewbox ด้วย Css ได้หรือไม่?
เครดิต: https://githubusercontent.com

เราสามารถเปลี่ยนค่าความกว้างและความสูงของวิวพอร์ต SVG ได้โดยใช้ CSS อย่างไรก็ตาม ในการเปลี่ยนค่า viewBox เราต้องใช้ JavaScript ก่อน แอตทริบิวต์การนำเสนอ SVG บางอย่างสามารถตั้งค่าใน CSS เป็น คุณสมบัติ CSS ได้ แต่ไม่ใช่ทั้งหมด

Viewbox ทำอะไรใน Svg

ViewBox กำหนดตำแหน่งและขนาดในพื้นที่ผู้ใช้ของวิวพอร์ต SVG แอตทริบิวต์ viewBox ประกอบด้วยตัวเลขสี่ตัว: min-x, min-y, min-w และ height-x

ฉันจะเปลี่ยน Svg Viewbox ได้อย่างไร

ฉันจะเปลี่ยน Svg Viewbox ได้อย่างไร
เครดิต: https://pinimg.com

ViewBox เป็นคุณลักษณะที่สำคัญมากของ SVG ใช้เพื่อกำหนดระบบพิกัดของ SVG ตามค่าเริ่มต้น ระบบพิกัดมีจุดกำเนิด (0,0) ที่ด้านบนซ้ายของวิวพอร์ต แกน x ขยายไปทางขวาและแกน y ขยายไปทางด้านล่าง หน่วยของระบบพิกัดถูกกำหนดโดยความกว้างและความสูงของวิวพอร์ต หากวิวพอร์ตกว้าง 300 พิกเซลและสูง 200 พิกเซล หน่วยจะเป็นพิกเซล

วิวพอร์ตสร้างพอร์ตที่ให้คุณดูส่วนต่างๆ ของ SVG; viewBox ช่วยให้คุณดูทั้งสองด้านของ SVG เช่นเดียวกับหน้าต่างช่องหน้าต่าง คุณสามารถแพน ซูมเข้าและออกจากรูปภาพได้โดยใช้แอตทริบิวต์ viewBox เนื่องจากพารามิเตอร์เหล่านี้เหมือนกันกับวิวพอร์ต จึงไม่มีอะไรแตกต่างหากมีขนาดเท่ากัน อย่างไรก็ตาม หากมีขนาดใหญ่ขึ้นหรือเล็กลง คุณสามารถซูมเข้าหรือออกพร้อมกันได้ บริการสมัครสมาชิก Envato Elements ช่วยให้คุณดาวน์โหลด ไอคอน SVG ได้ไม่จำกัด เป็นข้อเสนอที่ยอดเยี่ยมสำหรับผู้ที่ทำงานเป็นโปรแกรมเมอร์ นักออกแบบเว็บไซต์ หรือศิลปินดิจิทัล เราเสนอการเข้าถึงแบบออนไลน์ไม่จำกัดสำหรับเทมเพลตเว็บ ธีม เทมเพลต CMS รูปภาพสต็อก และอื่นๆ อีกมากมาย เรียนรู้เพิ่มเติมเกี่ยวกับ sva เมื่อคุณใช้แหล่งข้อมูลเหล่านี้

Svg Viewbox: วิธีเปลี่ยนขนาดของ Svg

br>br>> HTML ViewBoxbr>. คุณสมบัติ svg> ใช้เพื่อระบุว่า SVG จะปรากฏบนเบราว์เซอร์ของคุณอย่างไร ถ้า SVG ถูกตั้งค่าเป็นขนาดเฉพาะ ขนาด viewBox จะถูกตั้งค่าเป็นขนาดนั้น ดังนั้น ไม่ว่า SVG จะใหญ่หรือเล็กแค่ไหน มันก็จะแสดงในลักษณะเดียวกัน คุณสามารถเปลี่ยนขนาดของ SVG ด้วยพารามิเตอร์อัตโนมัติหรือพารามิเตอร์คงที่ ค่านี้จะช่วยให้เบราว์เซอร์ปรับขนาดของ SVG เพื่อให้พอดีกับ viewBox ค่าคงที่จะรักษาขนาดของ SVG คงที่โดยไม่คำนึงถึงขนาดของ viewBox คุณสามารถปิด viewBox ได้โดยการปิด viewBox เริ่มต้นจะถูกปิดใช้งาน และ SVG จะแสดงอย่างครบถ้วน


Svg เปลี่ยน Viewbox ออนไลน์

Svg เปลี่ยน Viewbox ออนไลน์
เครดิต: https://googleusercontent.com

มีเครื่องมือออนไลน์บางอย่างที่ช่วยให้คุณเปลี่ยนแอตทริบิวต์ viewBox ของ SVG ได้ อันหนึ่งเรียกว่า svgPipe และอีกอันเรียกว่า svgEdit

ฉันจะเปลี่ยนขนาด Svg เป็น Html ได้อย่างไร

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

Svg Viewbox ตอบสนอง

แอตทริบิวต์ viewBox เป็นส่วนสำคัญของระบบพิกัด SVG เป็นวิธีที่ยืดหยุ่นมากขึ้นในการกำหนด ผืนผ้าใบ SVG แอตทริบิวต์ viewBox กำหนดตำแหน่งและขนาดในพื้นที่ผู้ใช้ของวิวพอร์ต SVG เมื่อไม่มีค่าของ preservAspectRatio หรือไม่ได้ระบุ โปรแกรมดู SVG จะปรับอัตราส่วนกว้างยาวของเนื้อหาของวิวพอร์ตโดยไม่สนใจค่าของแอตทริบิวต์ viewBox บนองค์ประกอบรูท หากมีการระบุค่าของ viewBox และค่าของ preservAspectRatio ถูกตั้งค่าเป็น xMidYMid หรือไม่มีเลย ดังนั้นตัวแสดง SVG จะต้องจัดตำแหน่งกึ่งกลางของ viewBox ให้ตรงกับจุดกึ่งกลางของวิวพอร์ต และตรวจสอบให้แน่ใจว่า viewBox สามารถมองเห็นได้ภายในวิวพอร์ต .

เนื่องจากความสามารถในการปรับขนาดที่ไม่มีที่สิ้นสุด รูปแบบ SVG จึงสร้างภาพที่ตอบสนองได้ยาก ไม่ใช่เรื่องแปลกที่ความกว้างและความสูงขององค์ประกอบใดองค์ประกอบหนึ่งจะไม่เพียงพอสำหรับการแสดงผลที่เหมาะสม หากต้องการใช้องค์ประกอบ SVG ที่ตอบสนองในทุกเบราว์เซอร์ ก่อนอื่นเราต้องรวมองค์ประกอบดังกล่าวเข้ากับเนื้อหาของหน้าของเรา หากคุณต้องการให้ภาพ SVG ของคุณมีความกว้างเต็มหน้า (หรืออย่างน้อยที่สุดก็คือคอนเทนเนอร์หลัก) ให้อ่านโค้ดด้านล่าง ความสูงและความกว้างของภาพประกอบคำนวณโดยใช้ช่องว่างภายในส่วนล่างของภาพ ซึ่งหมายความว่าหากนำความสูงของเอกสารหารด้วยความกว้าง viewBox ของเอกสารจะมีอัตราส่วน 1:1

Svg 101: วิธีทำให้ Svg ของคุณตอบสนอง

ในการสร้างของเหลว SVG ขั้นตอนแรกคือการลบแอตทริบิวต์ความสูงและความกว้าง เพื่อให้แน่ใจว่าความสูง/ความกว้างคงที่ SVG จะถูกตั้งค่าเป็นความสูง/ความกว้างคงที่ ซึ่งจะจำกัดการตอบสนอง ต้องลบความกว้างและความสูงของแอตทริบิวต์เพื่อให้ SVG ตอบสนองได้ ด้วยเหตุนี้ เบราว์เซอร์สมัยใหม่จะสามารถรองรับ SVG ได้อย่างเต็มที่