Ιδιότητα mask-clip

Η ιδιότητα mask-clip ορίζει την περιοχή του στοιχείου εντός της οποίας θα εμφανίζεται η μάσκα. Καθορίζει ποια μέρη του στοιχείου θα επηρεαστούν από τη μάσκα και ποια θα παραμείνουν ορατά χωρίς αλλαγές.

Σύνταξη

cssεπιλογέας {
  mask-clip: τιμή | no-clip;
}

Τιμές

Τιμή Περιγραφή
border-box Η μάσκα εφαρμόζεται στην περιοχή, συμπεριλαμβανομένων των συνόρων του στοιχείου.
padding-box Η μάσκα εφαρμόζεται στην περιοχή, συμπεριλαμβανομένου του padding, αλλά όχι των συνόρων.
content-box Η μάσκα εφαρμόζεται μόνο στο περιεχόμενο του στοιχείου.
margin-box Η μάσκα εφαρμόζεται στην περιοχή, συμπεριλαμβανομένου του margin (πειραματικό).
fill-box Η μάσκα εφαρμόζεται στο bounding box του αντικειμένου (για SVG).
stroke-box Η μάσκα εφαρμόζεται στο stroke bounding box (για 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,
    δημιουργεί μια περιοχή αποκοπής για το στοιχείο