ตัวแปร SASS

ตัวแปร SASS

บทความนี้อธิบายเกี่ยวกับตัวแปร SASS

เราจะให้คำอธิบายอย่างละเอียดเกี่ยวกับตัวแปร SASS และเรียนรู้การใช้งานจริงทีละขั้นตอน

YouTube Video

ตัวแปร SASS

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

ตัวแปร SASS คืออะไร?

ตัวแปร SASS ช่วยให้สามารถเก็บค่าสี ขนาดฟอนต์ หรือระยะห่างที่ใช้บ่อยใน CSS ไว้ในที่เดียวเพื่อให้ง่ายต่อการจัดการ

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

วิธีการเขียนตัวแปร

ตัวแปรสามารถเขียนได้ดังนี้

1// Variable syntax
2//$variable-name: value;
3$primary-color: #3498db;
  • คุณต้องใส่เครื่องหมาย $ นำหน้าชื่อตัวแปร
  • variable-name คือชื่อตัวแปร แนะนำให้ตั้งชื่อที่สื่อความหมายและเข้าใจง่าย
  • value คือค่าที่กำหนดให้กับตัวแปร

การใช้ตัวแปรพื้นฐาน

ด้านล่างคือ ตัวอย่างพื้นฐานของตัวแปร SASS

 1// Variable definition
 2$primary-color: #3498db;
 3$secondary-color: #2ecc71;
 4$base-font-size: 16px;
 5
 6// Variable usage
 7body {
 8    font-size: $base-font-size;
 9    color: $primary-color;
10    background-color: $secondary-color;
11}
  • เมื่อคุณกำหนดตัวแปร เช่น $primary-color แล้ว คุณสามารถนำค่าดังกล่าวมาใช้ซ้ำได้ไม่จำกัดครั้ง
  • เมื่อคุณต้องการเปลี่ยนค่า เพียงแก้ไขค่าตัวแปรเพียงจุดเดียว ทำให้สามารถดูแลรักษาโค้ดได้ง่ายขึ้น

ผลลัพธ์ CSS ที่ถูกสร้างขึ้น

1body {
2    font-size: 16px;
3    color: #3498db;
4    background-color: #2ecc71;
5}

การใช้ตัวแปรภายในเนสติ้ง (Nesting)

การผสมผสานระหว่างเนสติ้งของ SASS กับตัวแปรช่วยจัดระเบียบโค้ดและง่ายต่อการจัดการ

 1@use "sass:color";
 2
 3// Variable definition
 4$button-bg: #e74c3c;
 5$button-color: #fff;
 6$button-padding: 10px 20px;
 7
 8.button {
 9    background-color: $button-bg;
10    color: $button-color;
11    padding: $button-padding;
12
13    &:hover {
14        background-color: color.adjust($button-bg, $lightness: -10%);
15    }
16}
  • คุณสามารถใช้ตัวแปรภายใน selector ที่ซ้อนกันได้
  • โดยการผสมผสานตัวแปรต่างๆ คุณสามารถปรับแต่งรูปแบบได้อย่างยืดหยุ่น เช่น การทำให้สีเข้มขึ้น 10% ด้วยฟังก์ชัน color.adjust

ผลลัพธ์ CSS ที่ถูกสร้างขึ้น

1.button {
2    background-color: #e74c3c;
3    color: #fff;
4    padding: 10px 20px;
5}
6
7.button:hover {
8    background-color: #c0392b;
9}

ตัวแปรที่มีค่าเริ่มต้น (Default Value)

ใน SASS คุณสามารถกำหนดค่าเริ่มต้นให้กับตัวแปรได้ การตั้งค่าเริ่มต้น ช่วยให้คุณใช้ตัวแปรโดยไม่ไปทับตัวแปรที่มีอยู่เดิม

1// Set default value
2$font-size: 14px !default;
3
4// Define the variable in another file
5$font-size: 16px;
6
7p {
8    font-size: $font-size;
9}
  • โดยการเติม !default หากตัวแปรนั้นถูกกำหนดไว้แล้ว จะไม่ถูกเขียนทับ
  • วิธีนี้มีประโยชน์สำหรับการทำงานเป็นทีม หรือการตั้งค่าสำหรับทั้งโปรเจกต์

ผลลัพธ์ CSS ที่ถูกสร้างขึ้น

1p {
2    font-size: 16px;
3}

ขอบเขตของตัวแปร (Variable Scope)

ตัวแปร SASS มีขอบเขตการทำงาน ซึ่งขึ้นอยู่กับตำแหน่งที่กำหนดไว้ การเข้าใจขอบเขตของตัวแปร ช่วยป้องกันการเขียนทับโดยไม่ได้ตั้งใจ

  1. ขอบเขตแบบ Global
1$global-color: #ff6347;
2
3.header {
4    color: $global-color;
5}
  • ตัวแปรที่อยู่ในขอบเขต Global จะถูกเรียกใช้ได้ตลอดทั้งไฟล์
  1. ขอบเขตแบบ Local
1.card {
2    $card-bg: #f0f0f0;
3    background-color: $card-bg;
4}
5
6.button {
7    // Error: $card-bg cannot be used
8    background-color: $card-bg;
9}
  • ตัวแปรที่อยู่ในขอบเขต Local จะถูกใช้ได้เฉพาะภายในเนสติ้ง (nesting) หรือไฟล์ที่กำหนดไว้เท่านั้น

การใช้ตัวแปรในกระบวนการคำนวณ

คุณยังสามารถใช้ตัวแปร SASS ในการคำนวณได้ คุณสามารถคำนวณค่าที่มีหน่วย (เช่น px, em) และสีได้เช่นกัน

 1@use "sass:color";
 2
 3$base-padding: 10px;
 4$double-padding: $base-padding * 2;
 5
 6.container {
 7    padding: $double-padding;
 8}
 9
10$main-color: #3498db;
11$lighter-color: color.adjust($main-color, $lightness: 20%);
12
13h1 {
14    color: $lighter-color;
15}

ผลลัพธ์ CSS ที่ถูกสร้างขึ้น

1.container {
2    padding: 20px;
3}
4
5h1 {
6    color: #5dade2;
7}
  • การใช้ตัวแปรเพื่อปรับสีหรือคำนวณระยะห่าง ช่วยให้ดูแลรักษาโค้ดง่ายขึ้น

สรุป

ตัวแปร SASS เป็นฟีเจอร์ที่จำเป็นสำหรับการจัดการและดูแล CSS อย่างมีประสิทธิภาพ

การใช้ตัวแปร SASS ช่วยให้สไตล์ในโปรเจกต์ของคุณมีความสม่ำเสมอและง่ายต่อการเปลี่ยนแปลง

คุณสามารถติดตามบทความข้างต้นโดยใช้ Visual Studio Code บนช่อง YouTube ของเรา กรุณาตรวจสอบช่อง YouTube ด้วย

YouTube Video