คุณสมบัติ 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,
    ซึ่งเพิ่มระยะห่างรอบรูปทรง