คุณสมบัติ mask-clip

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

ไวยากรณ์

cssselector {
  mask-clip: ค่า | no-clip;
}

ค่าต่างๆ

ค่า คำอธิบาย
border-box มาสก์ถูกนำไปใช้กับพื้นที่ รวมถึงขอบขององค์ประกอบ
padding-box มาสก์ถูกนำไปใช้กับพื้นที่ รวมถึง padding แต่ไม่รวมขอบ
content-box มาสก์ถูกนำไปใช้กับเนื้อหาขององค์ประกอบเท่านั้น
margin-box มาสก์ถูกนำไปใช้กับพื้นที่ รวมถึง margin (ทดลอง)
fill-box มาสก์ถูกนำไปใช้กับกรอบล้อมวัตถุ (สำหรับ SVG)
stroke-box มาสก์ถูกนำไปใช้กับกรอบล้อมของ stroke (สำหรับ SVG)
view-box มาสก์ถูกนำไปใช้กับ viewbox (สำหรับ SVG)
no-clip มาสก์ไม่ถูกจำกัดโดยพื้นที่ขององค์ประกอบ

ค่าเริ่มต้น: border-box.

ตัวอย่าง . การนำ mask-clip ไปใช้กับพื้นที่ต่างๆ

เปรียบเทียบค่าต่างๆ ของ mask-clip บนองค์ประกอบที่มีขอบและระยะห่าง:

html<div class="box border-box">border-box</div>
<div class="box padding-box">padding-box</div>
<div class="box content-box">content-box</div>
css.box {
  width: 200px;
  height: 100px;
  margin: 20px;
  padding: 20px;
  border: 10px dashed black;
  background: linear-gradient(45deg, red, blue);
  mask-image: linear-gradient(to right, black, transparent);
  mask-size: 100% 100%;
  mask-repeat: no-repeat;
  display: inline-block;
}

.border-box {
  mask-clip: border-box;
}

.padding-box {
  mask-clip: padding-box;
}

.content-box {
  mask-clip: content-box;
}

Результат:

ตัวอย่าง . การใช้ no-clip

การสาธิตค่า no-clip เมื่อมาสก์ล้นออกนอกขอบเขตขององค์ประกอบ:

html<div id="elem"></div>
css#elem {
  width: 200px;
  height: 200px;
  background: linear-gradient(45deg, red, blue);
  mask-image: radial-gradient(circle, black 50%, transparent 70%);
  mask-size: 300px 300px;
  mask-position: center;
  mask-clip: no-clip;
  border: 2px solid black;
}

Результат:

ตัวอย่าง . SVG กับค่าต่างๆ ของ mask-clip

การนำค่าต่างๆ ไปใช้กับองค์ประกอบ SVG:

html<svg width="400" height="200">
  <defs>
    <mask id="mask1" maskContentUnits="objectBoundingBox">
      <rect x="0.1" y="0.1" width="0.8" height="0.8" fill="white"/>
    </mask>
  </defs>
  
  <rect x="10" y="10" width="180" height="180" fill="blue" 
    mask="url(#mask1)" mask-clip="fill-box"/>
    
  <rect x="210" y="10" width="180" height="180" fill="red" 
    mask="url(#mask1)" mask-clip="view-box"/>
</svg>

Результат:

ดูเพิ่มเติม

  • คุณสมบัติ mask-origin,
    กำหนดตำแหน่งเริ่มต้นของมาสก์
  • คุณสมบัติ mask-image,
    กำหนดรูปภาพสำหรับมาสก์
  • คุณสมบัติ mask,
    คำสั่งย่อสำหรับคุณสมบัติการปิดบังทั้งหมด
  • คุณสมบัติ clip-path,
    สร้างพื้นที่ตัดสำหรับองค์ประกอบ