თვისება 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,
    რომელიც ამატებს შეწევას ფორმის გარშემო