6 วิธีในการสร้าง Double Border ใน CSS

เส้นขอบมีความสำคัญในการออกแบบ/พัฒนาเว็บ เนื่องจากสามารถดึงดูดความสนใจของผู้ใช้หรือแยกเนื้อหาในหน้าเว็บได้ คุณสามารถใช้ชวเลขของเส้นขอบเมื่อต้องการให้เส้นขอบทั้งสี่บนองค์ประกอบ HTML เหมือนกัน

ในทางกลับกัน คุณยังสามารถใช้สีเส้นขอบ ลักษณะเส้นขอบ และคุณสมบัติลองแฮนด์ความกว้างของเส้นขอบเพื่อทำให้ทุกเส้นขอบแตกต่าง/ไม่ซ้ำกัน เมื่อคุณต้องการระบุสีของเส้นขอบ เราจะใช้สีเส้นขอบ ใช้ความกว้างของเส้นขอบเพื่อกำหนดความกว้างของเส้นขอบ และระบุว่าเส้นขอบจะเป็นเส้นประ เส้นคู่ หรือเส้นทึบโดยใช้คุณสมบัติสไตล์เส้นขอบ

คุณยังสามารถกำหนดเป้าหมายแต่ละเส้นขอบได้โดยใช้คุณสมบัติเช่น border-block-start และ border-top

เส้นขอบคู่คือการที่เส้นขนานสองเส้นล้อมรอบองค์ประกอบ HTML ทั้งสองบรรทัดถูกคั่นด้วยช่องว่างที่สามารถปล่อยให้โปร่งใสหรือเติมด้วยรูปภาพหรือสีพื้นหลัง

ตัวอย่างเช่น เราสามารถมีปุ่มสมัคร/เข้าสู่ระบบที่ล้อมรอบด้วยเส้นขอบสองชั้น

ทำไมต้องขอบสองชั้น?

  • การแยก: คุณสามารถใช้เส้นขอบคู่เพื่อเพิ่มความสามารถในการอ่านและความสามารถในการสแกนของหน้าเว็บโดยแยกองค์ประกอบ HTML ต่างๆ ตัวอย่างเช่น คุณสามารถมีเส้นขอบคู่เพื่อแยกองค์ประกอบต่างๆ เช่น ส่วนหัว เนื้อหา และส่วนท้ายบนหน้าเว็บ
  • ดึงดูดสายตา: คุณสามารถใช้สีที่แตกต่างกัน/ตัดกันบนขอบคู่เพื่อทำให้องค์ประกอบต่างๆ ดึงดูดสายตามากขึ้น
  • แสดงลำดับชั้น: คุณสามารถแยกความแตกต่างระหว่างองค์ประกอบที่สำคัญและมีความสำคัญน้อยกว่าบนหน้าเว็บได้อย่างชัดเจนโดยใช้เส้นขอบสองชั้น
  • ปรับแต่งได้ง่าย: คุณสามารถสร้างการออกแบบที่เป็นส่วนตัวและไม่ซ้ำใครได้โดยใช้ขอบสองชั้น ตัวอย่างเช่น คุณสามารถเปลี่ยนสีหรือความกว้างของแต่ละบรรทัดได้
  • การเน้น: การใช้คุณสมบัติเส้นขอบคู่ คุณสามารถดึงดูดความสนใจไปยังลิงก์หรือปุ่มเฉพาะบนหน้าเว็บ

คุณสามารถใช้วิธีต่อไปนี้เพื่อสร้างเส้นขอบคู่ใน CSS

การใช้คุณสมบัติสไตล์เส้นขอบ

คุณสมบัติ border-style กำหนดสไตล์ของเส้นขอบทั้งสี่ขององค์ประกอบ เราใช้คำหลักคู่เพื่อกำหนดสไตล์ในกรณีนี้ เมื่อเราใช้คำหลักคู่ การเติมอัตโนมัติจะถูกสร้างขึ้นระหว่างเส้นขอบทั้งสอง

เพื่อจุดประสงค์ในการสาธิต เราจะตั้งค่าความกว้างของเส้นขอบเป็น 15px เราจะเลือกสีเส้นขอบของเราเป็นสีแดงและระบุสไตล์ของเส้นขอบเป็นสองเท่า

รหัส HTML:

<!DOCTYPE html>

<html lang="en">

  <head>

    <meta charset="UTF-8" />

    <meta http-equiv="X-UA-Compatible" content="IE=edge" />

    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

    <title>Document</title>

      <link rel="stylesheet" href="https://wilku.top/6-ways-to-create-a-double-border-in-css/./style.css" />

  </head>

  <body>

      <div class="box"> <h2> Border Property</h2>  </div>

  </body>

</html>

รหัส CSS:

*{

    padding: 0;

    margin: 0;

    box-sizing: border-box;

  }

  body{

    display: flex;

    justify-content: flex-start;

    gap: 25px;

    padding: 15px;

  }

  div{

    width: 350px;

    height: 100px;

    display: flex;

    flex-direction: column;

    justify-content: center;

    align-items: center;

  }

  .box{

    border-width: 15px;

    border-color: red;

    border-style: double;

  }

ผลลัพธ์จะเป็น:

  วิธีใช้ Microsoft Planner ใน Teams

การใช้ฟังก์ชัน linear-gradient()

ฟังก์ชันนี้ตั้งค่าการไล่ระดับสีเชิงเส้นเป็นภาพพื้นหลัง ผลที่ได้คือการเปลี่ยนแปลงทีละน้อยระหว่างสองสีในแนวเส้นตรง เราใช้คำหลักเพื่อทำเครื่องหมายจุดเริ่มต้นของเส้นไล่ระดับสี หากไม่ได้ระบุคำสั่งซื้อ ค่าเริ่มต้นจะอยู่ด้านล่างสุด

รหัสด้านล่างทำให้กล่องของเรามีความกว้างของเส้นขอบ 7px จากนั้นเราสามารถระบุการไล่ระดับสีเชิงเส้นบนคุณสมบัติพื้นหลังของแต่ละด้านของกล่อง

รหัส HTML:

<!DOCTYPE html>

<html lang="en">

  <head>

    <meta charset="UTF-8" />

    <meta http-equiv="X-UA-Compatible" content="IE=edge" />

    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

    <title>Document</title>

      <link rel="stylesheet" href="https://wilku.top/6-ways-to-create-a-double-border-in-css/./style.css" />

  </head>

  <body>

      <div class="box"> <h2>linear-gradient() function</h2>  </div>

  </body>

</html>

รหัส CSS:

*{

    padding: 0;

    margin: 0;

    box-sizing: border-box;

  }

  body{

    display: flex;

    justify-content: flex-start;

    gap: 25px;

    padding: 15px;

  }

  div{

    width: 350px;

    height: 350px;

    display: flex;

    flex-direction: column;

    justify-content: center;

    align-items: center;

  }

  .box{

    border: 7px solid rgb(36, 85, 7);

    background: linear-gradient(to top, #8f0404 7px, transparent 1px), 

    linear-gradient(to bottom, #8f0404 7px, transparent 1px),  

    linear-gradient(to left, #8f0404 7px, transparent 1px),  

    linear-gradient(to right, #8f0404 7px, transparent 1px);  

  }

ผลลัพธ์จะเป็น:

การใช้คุณสมบัติเค้าร่าง

เค้าร่างคือเส้นที่วาดนอกเส้นขอบขององค์ประกอบ สิ่งนี้ทำให้ได้เอฟเฟ็กต์เส้นขอบสองเท่า และเราสามารถใช้โครงร่างและเส้นขอบเดียวได้ เราต้องใช้การชดเชยโครงร่างเพื่อเพิ่มช่องว่างระหว่างคุณสมบัติของเส้นขอบและโครงร่าง

รหัส HTML:

<!DOCTYPE html>

<html lang="en">

  <head>

    <meta charset="UTF-8" />

    <meta http-equiv="X-UA-Compatible" content="IE=edge" />

    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

    <title>Document</title>

      <link rel="stylesheet" href="https://wilku.top/6-ways-to-create-a-double-border-in-css/./style.css" />

  </head>

  <body>

      <div class="box"> <h2>Outline Property</h2>  </div>

  </body>

</html>

รหัส CSS:

*{

    padding: 0;

    margin: 0;

    box-sizing: border-box;

  }

  body{

    display: flex;

    justify-content: flex-start;

    gap: 25px;

    padding: 15px;

  }

  div{

    width: 350px;

    height: 100px;

    display: flex;

    flex-direction: column;

    justify-content: center;

    align-items: center;

  }

  .box{

    border: 5px solid red; 

    outline: 5px solid blue;

    outline-offset: -20px;

  }

หน้าที่แสดงผลจะปรากฏดังนี้:

การใช้คุณสมบัติ box-shadow

คุณสมบัติ box-shadow เพิ่มเอฟเฟกต์เงารอบ ๆ กรอบขององค์ประกอบ คุณสามารถมีเอฟเฟ็กต์กล่องเงาหลายรายการโดยคั่นด้วยเครื่องหมายจุลภาค เริ่มต้นด้วยการตรวจสอบว่าการตั้งค่าออฟเซ็ตและความเบลอเป็นศูนย์ จากนั้นตั้งค่าเงาให้มีขนาดที่เหมาะสม

  การจัดการยิมเป็นเรื่องง่ายด้วยซอฟต์แวร์การจัดการยิมนาสติกทั้ง 5 เหล่านี้

HTML:

<!DOCTYPE html>

<html lang="en">

  <head>

    <meta charset="UTF-8" />

    <meta http-equiv="X-UA-Compatible" content="IE=edge" />

    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

    <title>Document</title>

      <link rel="stylesheet" href="https://wilku.top/6-ways-to-create-a-double-border-in-css/./style.css" />

  </head>

  <body>

      <div class="box"> <h2>Box Shadow Property</h2>  </div>

  </body>

</html>

รหัส CSS:

*{

    padding: 0;

    margin: 0;

    box-sizing: border-box;

  }

  body{

    display: flex;

    justify-content: flex-start;

    gap: 25px;

    padding: 15px;

  }

  div{

    width: 350px;

    height: 100px;

    display: flex;

    flex-direction: column;

    justify-content: center;

    align-items: center;

  }

  .box{

    box-shadow:

    0 0 0 5px red,

    0 0 0 10px green;

  }

หน้าที่แสดงผลจะปรากฏดังนี้:

การใช้คุณสมบัติคลิปเบื้องหลัง

คุณสมบัติคลิปเบื้องหลังกำหนดว่าพื้นหลังควรขยายภายในองค์ประกอบมากน้อยเพียงใด ส่วนขยายสามารถอยู่ใน border-box, padding-box หรือ content-box

รหัส HTML:

<!DOCTYPE html>

<html lang="en">

  <head>

    <meta charset="UTF-8" />

    <meta http-equiv="X-UA-Compatible" content="IE=edge" />

    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

    <title>Document</title>

      <link rel="stylesheet" href="https://wilku.top/6-ways-to-create-a-double-border-in-css/./style.css" />

  </head>

  <body>

      <div class="box"> <h2>Background-Clip Property</h2>  </div>

  </body>

</html>

รหัส CSS:

*{

    padding: 0;

    margin: 0;

    box-sizing: border-box;

  }

  body{

    display: flex;

    justify-content: flex-start;

    gap: 25px;

    padding: 15px;

  }

  div{

    width: 350px;

    height: 100px;

    display: flex;

    flex-direction: column;

    justify-content: center;

    align-items: center;

  }

  .box{

    border: 7px solid rgb(36, 85, 7);

  padding: 5px;

  background-clip: content-box;

  background-color: rgb(238, 152, 130);

}

หน้าที่แสดงผลจะปรากฏดังนี้:

การใช้ Pseudo Elements

Pseudo-elements ซึ่งแสดงโดย ::before และ ::after ตัวเลือกช่วยให้นักออกแบบเว็บไซต์กำหนดสไตล์ส่วนต่างๆ ของเอกสาร HTML โดยไม่ต้องเพิ่มมาร์กอัปลงในโค้ด

เราสามารถแสดงวิธีใช้องค์ประกอบหลอกเพื่อสร้างเส้นขอบคู่โดยใช้รหัสนี้:

เอกสาร HTML

<!DOCTYPE html>

<html lang="en">

  <head>

    <meta charset="UTF-8" />

    <meta http-equiv="X-UA-Compatible" content="IE=edge" />

    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

    <title>Document</title>

      <link rel="stylesheet" href="https://wilku.top/6-ways-to-create-a-double-border-in-css/./style.css" />

  </head>

  <body>

      <div class="box"> <h2>pseudo property</h2>  </div>

  </body>

</html>

ซีเอสเอส

*{

    padding: 0;

    margin: 0;

    box-sizing: border-box;

  }

  body{

    display: flex;

    justify-content: flex-start;

    gap: 25px;

    padding: 15px;

  }

  div{

    width: 150px;

    height: 100px;

    display: flex;

    flex-direction: column;

    justify-content: center;

    align-items: center;

  }

  .box{

    background-color: brown;

  }

  box{

    background-color: rebeccapurple;

    position: relative;

    border: 8px solid red;

  }

  .box::before{

  content: " ";

  position: absolute;

  top: 5px;

  left: 5px;

  right: 5px;

  bottom: 5px;

  border: 8px solid green;

  border-width: 6px;

  border-color: green white green white;

  width: 150px;

  height: 100px;

}

หน้าที่แสดงผลจะปรากฏดังนี้:

  วิธีลบข้อมูลสำรอง iPhone และ iPad บน Mac

ตัวอย่างจริงของ CSS สองขอบ

คุณสมบัติ double border CSS ถูกใช้ในหลายเว็บไซต์ คุณต้องรวมคุณสมบัติของ double border กับคุณสมบัติ CSS อื่นๆ เพื่อให้ได้ประโยชน์สูงสุด ต่อไปนี้คือสองตัวอย่างการทำงานของเส้นขอบคู่

ปุ่ม “รถเข็น” ใน Amazon

Amazon เป็นหนึ่งในชื่อที่ใหญ่ที่สุดในพื้นที่อีคอมเมิร์ซ ปุ่มรถเข็นมี CSS สองขอบเพื่อความสวยงามทางสายตาและกระตุ้นให้ผู้ใช้ดำเนินการ

เส้นขอบคู่จะปรากฏขึ้นเมื่อผู้ใช้วางเมาส์เหนือปุ่ม “รถเข็น” เส้นขอบยังมองเห็นได้เมื่อคุณวางเมาส์เหนือเมนูการนำทางของ Amazon

ปุ่ม Mailchimp

Mailchimp เป็นบริการการตลาดผ่านอีเมลที่ช่วยให้ผู้ใช้สร้าง เปิดตัว และติดตามแคมเปญ เว็บไซต์ใช้เอฟเฟกต์เส้นขอบสองเท่าในส่วนต่างๆ ปุ่มลงชื่อสมัครใช้และเข้าสู่ระบบมีขอบสองชั้นเพื่อ ‘สร้าง’ ความรู้สึกเร่งด่วนเมื่อผู้ใช้เรียกดู

ขอบด้านล่างของปุ่มเหล่านี้หนาขึ้นเมื่อผู้ใช้เลื่อนเคอร์เซอร์ผ่านปุ่มเหล่านี้

แนวทางปฏิบัติที่ดีที่สุดเมื่อใช้เอฟเฟ็กต์ CSS แบบสองขอบ

มันง่ายที่จะหลงไหลเมื่อคุณใช้ CSS สองเท่า เป้าหมายสุดท้ายคือเพื่อให้แน่ใจว่าผู้ใช้ไปยังส่วนต่างๆ ได้ง่ายและเน้นพื้นที่หลักในไซต์ของคุณ ปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุดเหล่านี้:

  • ใช้สไตล์ที่สอดคล้องกัน: หากคุณใช้เส้นขอบคู่ ตรวจสอบให้แน่ใจว่าสไตล์นั้นสอดคล้องกันในทุกองค์ประกอบ ตัวอย่างเช่น สามารถใช้เส้นขอบคู่บนปุ่มนำทาง คำกระตุ้นการตัดสินใจ และปุ่มลงชื่อสมัครใช้/เข้าสู่ระบบ หากเป็นไปได้ ตรวจสอบให้แน่ใจว่าคุณมีสีและความหนาของระยะขอบเท่ากันทั่วทั้งองค์ประกอบที่มีขอบสองชั้น
  • ตรวจสอบให้แน่ใจว่าเส้นขอบทั้งสองนี้ทำงานบนอุปกรณ์ต่างๆ ได้: เราอยู่ในโลกที่ผู้คนเรียกดูเว็บไซต์จากสมาร์ทโฟน พีซี และแท็บเล็ต ทดสอบเพื่อให้แน่ใจว่ามีการแสดงเส้นขอบสองครั้งตามที่คาดไว้บนหน้าจอขนาดต่างๆ
  • ใช้เท่าที่จำเป็น: คุณอาจถูกล่อลวงให้ใช้เอฟเฟ็กต์ CSS บางตัวมากเกินไปหลังจากค้นพบครั้งแรก อย่างไรก็ตาม double CSS เหมาะกับองค์ประกอบต่างๆ บนหน้าเว็บ ใช้คุณสมบัตินี้ในพื้นที่ที่เพิ่มมูลค่าให้กับการออกแบบเท่านั้น

บทสรุป

เราได้เน้นแนวทางสำคัญที่คุณสามารถใช้เพื่อสร้างเส้นขอบคู่ใน CSS ทางเลือกของแนวทางจะขึ้นอยู่กับสิ่งที่คุณต้องการบรรลุด้วยเส้นขอบคู่และความชอบของคุณ คุณสามารถตัดสินใจได้ว่าจะเลือกใช้รูปแบบเส้นขอบคู่แบบใดแบบหนึ่งหรือหลายอย่างรวมกันในหน้าเดียวกัน

คุณสามารถดูทรัพยากร CSS เหล่านี้เพื่อทำความเข้าใจ Cascading Style Sheets โดยละเอียด

เรื่องล่าสุด

x