112 of 313 menu

คุณสมบัติ border-image

คุณสมบัติ border-image กำหนดภาพ สำหรับเส้นขอบ มันเป็นคุณสมบัติแบบย่อ สำหรับคุณสมบัติ border-image-source, border-image-slice, border-image-repeat, border-image-width และ border-image-outset. โดยที่คุณสมบัติแบบย่อปรากฏใน CSS ก่อนคุณสมบัติย่อย ดังนั้นจึง รองรับในเบราว์เซอร์รุ่นเก่าจำนวนมากกว่า

ไวยากรณ์

selector { border-image: url(พาธไปยังภาพ) offset/width/outset repeat; }

คำอธิบาย

ภาพที่เราต้องการนำมาใช้สำหรับ เส้นขอบ ควรถูกออกแบบเป็นพิเศษ: ภาพขนาดเล็ก 4 อันสำหรับมุม และภาพ 4 อันสำหรับด้าน ตัวอย่างภาพดังกล่าว:

ในกรณีนี้ส่วนกลางถูกปล่อยไว้เป็นสีขาว (เนื่องจากเราไม่ต้องการให้มันไปปรากฏบนพื้นหลังขององค์ประกอบ) ตัวอย่างภาพที่มีการเติมส่วนกลาง:

ค่า slice บอกเบราว์เซอร์ว่า ส่วนใดของภาพที่จะไปเป็นมุม และ ส่วนใดจะเป็นด้าน (และส่วนใดจะเป็นส่วนกลาง) ส่วนที่ไปเป็นมุมมี 4 ส่วน ส่วนที่ไปเป็นด้าน มี 4 ส่วน และอีกหนึ่งส่วน (ส่วนกลาง) จะไปเป็นพื้นหลังขององค์ประกอบ (ไม่จำเป็น, คำหลัก fill)

ภาพถูก "ตัด" ออกเป็นชิ้นๆ ดังนี้: สำหรับค่า slice ระบุค่า ตั้งแต่หนึ่งถึงสี่ค่า มาดูตัวอย่างกัน สมมติว่ามีการระบุค่าต่อไปนี้: 10 20 30 40 (ไม่ระบุหน่วย px เนื่องจากภาพอาจเป็นทั้งแรสเตอร์และเวกเตอร์) ค่า เหล่านี้บอกสิ่งต่อไปนี้: 10 ตัดจากด้านบน, 20 ตัดจากด้านขวา, 30 ตัดจากด้านล่าง, 40 ตัดจากด้านซ้าย ส่วนใดของภาพจะไปเป็นมุมซ้ายบน? มันจะเป็นชิ้นส่วน: 10 จากด้านบน, 40 จากด้านซ้าย ในมุมขวาบน จะเป็น 10 จากด้านบน, 20 จากด้านขวา และเป็นเช่นนี้ต่อๆไป

ส่วนใหญ่มักเป็นภาพสมมาตร (เช่นรูปสี่เหลี่ยมขนมเปียกปูน ด้านบน) และเราต้องการตัดชิ้นส่วนเท่าๆกัน สำหรับมุม ในกรณีเช่นนี้จะระบุเพียงค่าเดียว ซึ่งจะกำหนดระยะห่างเท่ากันทุกด้าน หากต้องการตัดรูปสี่เหลี่ยมขนมเปียกปูนสีส้ม เราจะระบุ slice เป็น 26 (เนื่องจาก รูปสี่เหลี่ยมขนมเปียกปูนสีส้มมีขนาด 26px คูณ 26px) รูปสี่เหลี่ยมขนมเปียกปูนสีเหลืองจะไปอยู่บนเส้น ขอบและสิ่งต่อไปนี้จะเกิดขึ้นกับพวกมัน: พวกมัน อาจถูกยืดออกไปทั้งบล็อกหรือจะถูกทำซ้ำ ไปตามแนวเส้นขอบ (ขึ้นอยู่กับค่า repeat):

<div id="elem"></div> #elem { border-image-source: url("image.png"); border-image-slice: 26; border-image-repeat: stretch; border-style: solid; border-width: 26px; width: 200px; height: 200px; background: green; margin: 0 auto; }

:

<div id="elem"></div> #elem { border-image-source: url("image.png"); border-image-slice: 26; border-image-repeat: repeat; border-style: solid; border-width: 26px; width: 200px; height: 200px; background: green; margin: 0 auto; }

:

คุณสมบัติ border-image ไม่ยอมให้ ระบุความหนาของเส้นขอบองค์ประกอบ เบราว์เซอร์ เพียงแค่ยืดภาพไปตามแนวเส้นขอบ ที่มีความกว้างอยู่แล้ว ดังนั้นจึงต้อง กำหนดผ่านคุณสมบัติ border

ผู้ใช้เบราว์เซอร์รุ่นเก่า (หรือที่ปิดการโหลด ภาพ) จะเห็นกรอบมาตรฐานที่กำหนดไว้ ใน border ดังนั้นจึงสมเหตุสมผลที่จะกำหนดสไตล์ และสีที่เหมาะสมให้กับมัน

ค่า

ค่า คำอธิบาย
url(พาธไปยังภาพ) พาธไปยังภาพ ดูรายละเอียดเพิ่มเติมที่ border-image-source
offset บอกเบราว์เซอร์ว่าส่วนใดของภาพจะไปเป็นมุม และส่วนใดจะเป็นด้าน (และส่วนใดจะเป็นส่วนกลาง) ค่าที่เป็นไปได้: ตัวเลข 1 ถึง 4 ตัว | เปอร์เซ็นต์ 1 ถึง 4 ค่า สามารถระบุคำหลัก fill ด้วยช่องว่างคั่น เพิ่มเติมจากตัวเลขหรือเปอร์เซ็นต์ ดูรายละเอียดเพิ่มเติมที่ border-image-slice
width คุณสมบัติควบคุมความกว้างของส่วนที่มองเห็นได้ของกรอบ ทำการปรับขนาด หากค่านี้มากกว่าความกว้างของ border-width ภาพกรอบ จะล้ำเข้าไปใต้เนื้อหา ค่าที่เป็นไปได้: หน่วย CSS | เปอร์เซ็นต์ | ตัวเลข | auto ดูรายละเอียดเพิ่มเติมที่ border-image-width
outset คุณสมบัติที่น่าสนใจที่ช่วยให้เลื่อนกรอบออกไปนอกขอบเขตขององค์ประกอบได้ ค่าลบไม่ได้รับการรองรับ ค่าที่เป็นไปได้: หน่วย CSS (ยกเว้น % (?)) | ตัวเลขบวก | auto ดูรายละเอียดเพิ่มเติมที่ border-image-outset
repeat ระบุวิธีทำซ้ำภาพบนเส้นขอบ (ไม่ใช่บนมุม): ปูหรือยืด
ค่าที่เป็นไปได้: stretch | repeat | round | space
ดูรายละเอียดเพิ่มเติมที่ border-image-repeat

ค่าเริ่มต้น: none 100%/1/0 stretch (url(พาธไปยังภาพ) offset/width/outset repeat)

ตัวอย่าง . border-image-repeat: ค่า repeat

<div id="elem"></div> #elem { border-style: solid; border-width: 26px; border-image: url("image.png") 26 repeat; width: 200px; height: 200px; background: green; margin: 0 auto; }

:

ตัวอย่าง . border-image-repeat: ค่า stretch

<div id="elem"></div> #elem { border-style: solid; border-width: 26px; border-image: url("image.png") 26 stretch; width: 200px; height: 200px; background: green; margin: 0 auto; }

:

ตัวอย่าง . border-image-repeat: ค่า round

ตอนนี้ในสถานะปกติได้ตั้งค่า repeat และเมื่อวางเมาส์เหนือ - round โปรดสังเกตว่าก่อนวางเมาส์เหนือ ในเส้นขอบจะมีรูปสี่เหลี่ยมขนมเปียกปูนที่ไม่เต็มจำนวน แต่หลังจากวางเมาส์เหนือ - จะเต็มจำนวน นั่นคือ การทำงานของ round:

<div id="elem"></div> #elem:hover { border-image: url("image.png") 26 round; } #elem { border-style: solid; border-width: 42px; border-image: url("image.png") 26 repeat; width: 200px; height: 200px; background: green; margin: 0 auto; }

:

ตัวอย่าง . border-image-repeat: สองคำ

ค่า repeat สำหรับความกว้างและ stretch สำหรับความสูง:

<div id="elem"></div> #elem { border-style: solid; border-width: 26px; border-image: url("image.png") 26 repeat stretch; width: 200px; height: 200px; background: green; margin: 0 auto; }

:

ตัวอย่าง . ความสอดคล้องของความกว้างภาพกับความกว้างของเส้นขอบ

เพิ่ม border-width เมื่อวางเมาส์เหนือ ขณะที่ความหนาของ border-image ปล่อยไว้เหมือนเดิม รูปสี่เหลี่ยมขนมเปียกปูนจะยืดออกไปทั่วทั้ง เส้นขอบ:

<div id="elem"></div> #elem:hover { border-width: 52px; } #elem { border-style: solid; border-width: 26px; border-image: url("image.png") 26 repeat; width: 200px; height: 200px; background: green; margin: 0 auto; }

:

ตัวอย่าง . border-image-slice

ใช้ภาพอื่น ซึ่งมีชิ้นส่วนต่างกัน ไม่เท่ากัน:

ระบุว่าต้องการตัดส่วนใดออกจากภาพ - 25% 30% 10% 20% การทำงาน เป็นดังนี้: 25% - เบี่ยงจากด้านบน, 30% - เบี่ยง จากด้านขวา, 10% - เบี่ยงจากด้านล่าง, 20% - เบี่ยง จากด้านซ้าย โดยพื้นฐานแล้วด้วยชิ้นส่วนเหล่านี้เราตัด มุมออก มุมซ้ายบนจะเป็น 25% จากด้านบนของภาพ และ 20% จากด้านซ้าย มุม ขวาบนจะเป็น 25% จากด้านบนของภาพ, และ 30% จากด้านขวา และเป็นเช่นนี้ต่อๆไป

นอกจากนี้ หากคุณวางเมาส์เหนือบล็อก คำหลัก fill จะทำงาน และส่วนกลาง ของภาพจะกลายเป็นพื้นหลังของบล็อกเรา:

<div id="elem"></div> #elem:hover { border-image: url("image.png") fill 25% 30% 10% 20% stretch; } #elem { border-style: solid; border-width: 52px; border-image: url("image.png") 25% 30% 10% 20% stretch; width: 200px; height: 200px; margin: 0 auto; }

:

ตัวอย่าง

สร้างเส้นขอบแบบไล่ระดับสีด้วย linear-gradient:

<div id="elem"></div> #elem { background: green; border-image: linear-gradient(to bottom, red, blue) 30; border-width: 30px; border-style: solid; width: 200px; height: 200px; margin: 0 auto; }

:

ตัวอย่าง . border-image-width

ตั้งค่า border-image-width เป็น 2 (ภาพเส้นขอบจะใหญ่ขึ้น 2 เท่า เมื่อเทียบกับเส้นขอบเอง) เมื่อวางเมาส์เหนือองค์ประกอบ (26/2 - ระบุหลังจากเครื่องหมายทับ ขณะที่ 26 - นี่คือค่า border-image-slice) โปรดสังเกตว่าเส้นขอบเอง ไม่เพิ่มขึ้น แต่ภาพเส้นขอบ - เพิ่มขึ้น เนื่องจากมันจะล้ำเข้าไปใต้ข้อความ:

<div id="elem"></div> #elem:hover { border-image: url("image.png") 26/2 repeat; } #elem { border-style: solid; border-width: 26px; border-image: url("image.png") 26 repeat; width: 200px; height: 200px; background: green; margin: 0 auto; }

:

ตัวอย่าง . border-image-outset

ตั้งค่า border-image-outset เป็น 3 เมื่อวางเมาส์เหนือองค์ประกอบ (26/1/2 - ระบุหลังจากเครื่องหมายทับที่สอง ขณะที่ 26 - นี่คือค่า border-image-slice, และ - 1 - border-image-width):

<div id="elem"></div> #elem:hover { border-image: url("image.png") 26/1/3 repeat; } #elem { border-style: solid; border-width: 26px; border-image: url("image.png") 26 repeat; width: 200px; height: 200px; background: green; margin: 0 auto; }

:

ดูเพิ่มเติม

  • คุณสมบัติ border-image-source,
    ซึ่งกำหนดพาธไปยังภาพสำหรับเส้นขอบ
  • คุณสมบัติ border-image-slice,
    ซึ่งกำหนดการแบ่งภาพสำหรับเส้นขอบ
  • คุณสมบัติ border-image-repeat,
    ซึ่งกำหนดการทำซ้ำภาพสำหรับเส้นขอบ
  • คุณสมบัติ border-image-width,
    ซึ่งกำหนดขนาดภาพสำหรับเส้นขอบ
  • คุณสมบัติ border-image-outset,
    ซึ่งกำหนดการเลื่อนภาพสำหรับเส้นขอบ
ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣTürkmenTürkçeЎзбекOʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ