คุณสมบัติ mask-clip
คุณสมบัติ mask-clip กำหนดพื้นที่ขององค์ประกอบที่จะแสดงผลมาสก์ภายในนั้น มันกำหนดว่าส่วนใดขององค์ประกอบจะได้รับผลจากการปิดบัง และส่วนใดจะยังคงมองเห็นได้โดยไม่มีการเปลี่ยนแปลง
ไวยากรณ์
selector {
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 บนองค์ประกอบที่มีขอบและระยะห่าง:
<div class="box border-box">border-box</div>
<div class="box padding-box">padding-box</div>
<div class="box content-box">content-box</div>
.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 เมื่อมาสก์ล้นออกนอกขอบเขตขององค์ประกอบ:
<div id="elem"></div>
#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:
<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,
สร้างพื้นที่ตัดสำหรับองค์ประกอบ