Ιδιότητα shape-outside

Η ιδιότητα shape-outside επιτρέπει τον ορισμό μη τυπικών μορφών περιέλιξης για πλωτά στοιχεία. Τα γειτονικά στοιχεία θα περιέλισσονται γύρω από τη δεδομένη μορφή, και όχι γύρω από το ορθογώνιο περιέκτη.

Σύνταξη

cssεπιλογέας {
  shape-outside: τιμή;
}

Τιμές

Τιμή Περιγραφή
circle() Στρογγυλή μορφή περιέλιξης
ellipse() Ελλειπτική μορφή περιέλιξης
polygon() Αυθαίρετη πολυγωνική μορφή
url() Μορφή βασισμένη στο άλφα κανάλι μιας εικόνας
margin-box Χρήση των ορίων margin (προεπιλεγμένη τιμή)

Παράδειγμα

Ας δημιουργήσουμε μια στρογγυλή μορφή περιέλιξης για ένα πλωτό στοιχείο. Χρησιμοποιούμε τις ιδιότητες shape-outside και clip-path:

html<div class="shape"></div>
<p>
  some long text
</p>
css.shape {
  width: 150px;
  height: 150px;
  float: left;
  shape-outside: circle(50%);
  clip-path: circle(50%);
  background: #3498db;
}

p {
  width: 500px;
  text-align: justify;
}

Результат:

Παράδειγμα

Ας ορίσουμε ένα περιθώριο μέσω της ιδιότητας shape-margin:

html<div class="shape"></div>
<p>
  some long text
</p>
css.shape {
  width: 150px;
  height: 150px;
  float: left;
  shape-outside: circle(50%);
  shape-margin: 10px;
  clip-path: circle(50%);
  background: #3498db;
}

p {
  width: 500px;
  text-align: justify;
}

Результат:

Παράδειγμα

Χωρίς την ιδιότητα clip-path το κείμενο θα περιέλισσεται γύρω από τον κύκλο, αλλά το στοιχείο δεν θα έχει σχήμα κύκλου:

html<div class="shape"></div>
<p>
  some long text
</p>
css.shape {
  width: 150px;
  height: 150px;
  float: left;
  shape-outside: circle(50%);
  background: #3498db;
}

p {
  width: 500px;
  text-align: justify;
}

Результат:

Παράδειγμα

Μια διαφορετική μορφή στοιχείου:

html<div class="shape"></div>
<p>
  some long text
</p>
css.shape {
  width: 200px;
  height: 200px;
  background-color: #4CAF50;
  float: left;
  shape-outside: polygon(0% 0%, 100% 50%, 0% 100%);
  clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
  margin-right: 20px;
  margin-bottom: 20px;
}

p {
  width: 500px;
  text-align: justify;
}

Результат:

Παράδειγμα

Μια διαφορετική μορφή στοιχείου:

html<div class="shape"></div>
<p>
  some long text
</p>
css.shape {
  width: 200px;
  height: 200px;
  background-color: #4CAF50;
  float: left;
  shape-outside: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  margin-right: 20px;
  margin-bottom: 20px;
}

p {
  width: 500px;
  text-align: justify;
}

Результат:

Δείτε επίσης

  • η ιδιότητα clip-path,
    που δημιουργεί την ορατή μορφή του στοιχείου
  • η ιδιότητα float,
    απαραίτητη για τη λειτουργία του shape-outside
  • η ιδιότητα shape-margin,
    που προσθέτει περιθώριο γύρω από τη μορφή