เงากล่อง CSS


สารบัญ

    แสดงสารบัญ


คุณสมบัติกล่องเงา CSS

คุณสมบัติ CSS box-shadow ถูกนำมาใช้ เงาหนึ่งหรือหลายเงาไปยังองค์ประกอบ


ระบุเงาแนวนอนและแนวตั้ง

ในการใช้งานที่ง่ายที่สุด คุณจะระบุเฉพาะเงาแนวนอนและแนวตั้งเท่านั้น สีเริ่มต้นของเงาคือสีข้อความปัจจุบัน

A <div> element with a box-shadow

ตัวอย่าง

ระบุเงาแนวนอนและแนวตั้ง:

   div
{
  box-shadow: 10px 10px;
}

ลองด้วยตัวคุณเอง →

<!DOCTYPE html>
<html>
<head>
<style> 
div {
  width: 300px;
  height: 100px;
  padding: 15px;
  background-color: coral;
  box-shadow: 10px 10px;
}
</style>
</head>
<body>

<h1>The box-shadow Property</h1>

<div>This is a div element with a box-shadow</div>

</body>
</html>



ระบุสีสำหรับเงา

พารามิเตอร์ color กำหนดสีของเงา

A <div> element with a lightblue box-shadow

ตัวอย่าง

ระบุสีสำหรับเงา:

  div
{
  box-shadow: 10px 10px lightblue;
}

ลองด้วยตัวคุณเอง →

<!DOCTYPE html>
<html>
<head>
<style> 
div {
  width: 300px;
  height: 100px;
  padding: 15px;
  background-color: coral;
  box-shadow: 10px 10px lightblue;
}
</style>
</head>
<body>

<h1>The box-shadow Property</h1>

<div>A div element with a lightblue box-shadow</div>

</body>
</html>



เพิ่มเอฟเฟกต์เบลอให้กับเงา

พารามิเตอร์ blur กำหนดรัศมีการเบลอ ยิ่งตัวเลขสูง เงาก็จะยิ่งเบลอมากขึ้น

A <div> element with a 5px blurred, lightblue box-shadow

ตัวอย่าง

เพิ่มเอฟเฟกต์เบลอให้กับเงา:

   div
{
  box-shadow: 10px 10px 5px lightblue;
}

ลองด้วยตัวคุณเอง →

<!DOCTYPE html>
<html>
<head>
<style> 
div {
  width: 300px;
  height: 100px;
  padding: 15px;
  background-color: coral;
  box-shadow: 10px 10px 5px lightblue;
}
</style>
</head>
<body>

<h1>The box-shadow Property</h1>

<div>A div element with a 5px blurred, lightblue box-shadow.</div>

</body>
</html>



กำหนดรัศมีการแพร่กระจายของเงา

พารามิเตอร์ spread กำหนดรัศมีการแพร่กระจาย ค่าบวกจะทำให้ขนาดของเงาเพิ่มขึ้น ค่าลบจะทำให้ขนาดของเงาลดลง

A <div> element with a blurred, lightblue box-shadow, with a spread radius of 12px

ตัวอย่าง

กำหนดรัศมีการแพร่กระจายของเงา:

   div
{
  box-shadow: 10px 10px 5px 12px lightblue;
}

ลองด้วยตัวคุณเอง →

<!DOCTYPE html>
<html>
<head>
<style> 
div {
  width: 300px;
  height: 100px;
  padding: 15px;
  background-color: coral;
  box-shadow: 10px 10px 5px 12px lightblue;
}
</style>
</head>
<body>

<h1>The box-shadow Property</h1>

<div>A div element with a blurred, lightblue box-shadow, with a spread radius of 12px.</div>

</body>
</html>




ตั้งค่าพารามิเตอร์แทรก

พารามิเตอร์ inset เปลี่ยนเงาจากเงาด้านนอก (outset) เป็นเงาด้านใน

A <div> element with a blurred, lightblue, inset box-shadow

ตัวอย่าง

เพิ่มพารามิเตอร์แทรก:

   div
{
  box-shadow: 10px 10px 5px lightblue inset;
}

ลองด้วยตัวคุณเอง →

<!DOCTYPE html>
<html>
<head>
<style> 
div {
  width: 300px;
  height: 100px;
  padding: 15px;
  background-color: coral;
  box-shadow: 10px 10px 5px lightblue inset;
}
</style>
</head>
<body>

<h1>The box-shadow Property</h1>

<div>A div element with a blurred, lightblue, inset box-shadow.</div>

</body>
</html>



เพิ่มเงาหลายอัน

องค์ประกอบสามารถมีได้หลายเงา:

ตัวอย่าง

   div
{
  box-shadow: 5px 5px blue, 10px 10px red, 15px 15px green;
}

ลองด้วยตัวคุณเอง →

<!DOCTYPE html>
<html>
<head>
<style> 
#example1 {
  border: 1px solid;
  padding: 10px;
  box-shadow: 5px 5px blue, 10px 10px red, 15px 15px green;
  margin: 20px;
}

#example2 {
  border: 1px solid;
  padding: 10px;
  box-shadow: 5px 5px 8px blue, 10px 10px 8px red, 15px 15px 8px green;
  margin: 20px;
}
</style>
</head>
<body>

<h1>Multiple Shadows</h1>

<div id="example1">
  <h2>Multiple shadows</h2>
  <p>box-shadow: 5px 5px blue, 10px 10px red, 15px 15px green:</p>
</div>
<br>

<div id="example2">
  <h2>Multiple shadows with blur effect</h2>
  <p>box-shadow: 5px 5px 8px blue, 10px 10px 8px red, 15px 15px 8px green:</p>
</div>

</body>
</html>



การ์ด

คุณยังสามารถใช้คุณสมบัติ box-shadow เพื่อสร้างการ์ดที่เหมือนกระดาษ:

1

January 1, 2021

Norway

Hardanger, Norway

ตัวอย่าง

  div.card
{
  width: 250px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 
0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  text-align: 
center;
}

ลองเลย (การ์ดข้อความ) →

<!DOCTYPE html>
<html>
<head>
<style>
div.card {
  width: 250px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  text-align: center;
}

div.header {
  background-color: #4CAF50;
  color: white;
  padding: 10px;
  font-size: 40px;
}

div.container {
  padding: 10px;
}
</style>
</head>
<body>

<h1>Create Cards</h1>

<p>The box-shadow property can be used to create paper-like cards:</p>

<div class="card">
  <div class="header">
    <h1>1</h1>
  </div>

  <div class="container">
    <p>January 1, 2021</p>
  </div>
</div>

</body>
</html>


ลองเลย (การ์ดรูปภาพ) →

<!DOCTYPE html>
<html>
<head>
<style>
div.polaroid {
  width: 250px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  text-align: center;
}

div.container {
  padding: 10px;
}
</style>
</head>
<body>

<h1>Create Polaroid Images</h1>

<p>The box-shadow property can be used to create polaroid images:</p>

<div class="polaroid">
  <img src="rock600x400.jpg" alt="Norway" style="width:100%">
  <div class="container">
    <p>Hardanger, Norway</p>
  </div>
</div>

</body>
</html>




คุณสมบัติเงา CSS

ตารางต่อไปนี้แสดงรายการคุณสมบัติเงาของ CSS:

box-shadow

เพิ่มเงาอย่างน้อยหนึ่งเงาให้กับองค์ประกอบ

text-shadow

เพิ่มเงาหนึ่งหรือหลายเงาให้กับข้อความ