1. สูตรโกงเขียนโค้ด
  2. CSS

🧩 VSCode Extensions

ลิงก์เกี่ยวกับ
IntelliSense for CSSAutocomplete ของชื่อ Class
Colorizeแสดงสีของโค้ด CSS

🔗 ลิงก์ที่น่าสนใจ

ลิงก์เกี่ยวกับ
CSSReference.ioเว็บไซต์ HTML, CSS
MDNแหล่งความรู้พัฒนาเว็บโดย Mozilla (แนะนำ)
web.devแหล่งความรู้พัฒนาเว็บโดย Google
W3Schoolsแหล่งความรู้แบบอ่านเข้าใจง่าย
Awesome CSSรวมรายการที่น่าสนใจ
CSS Gradientสร้างสีพื้นหลังแบบ Gradient
Web Code ToolsGenerator สำหรับ CSS ต่างๆ
CSS Tricks (Flexbox)คู่มือการใช้ CSS Flexbox
CSS Tricks (Grid)คู่มือการใช้ CSS Grid

🏗️ CSS Structure

selector {
  /* Declaration */
  property-name: property-value;
}
<div style="property-name: property-value;"></div>

📝 วิธีการใช้งาน CSS รูปแบบต่างๆ

<!-- Inline -->
<div style="color: red; font-size: 2em;">Hello</div>
<!-- Internal -->
<head>
  <style>
    h1 {
      color: red;
      font-size: 2em;
    }
  </style>
</head>
<!-- External -->
<head>
  <link rel="stylesheet" href="/css/styles.css">
</head>

🎯 CSS Selector

Selectorความหมาย
*เลือกทุก Element
h1เลือก Element <h1>
.select-meเลือก Element ที่มี Attribute <element class="select-me">
#select-meเลือก Element ที่มี Attribute <element id="select-me">
[attr="value"]เลือก Element ที่มี Attribute <element attr="value">
h1.title.text-blue<h1 class="title text-blue"></h1>
input#title.text-red.bg-blue[type="email"]<input id="title" class="text-red bg-blue" type="email">
#main .title (เว้นวรรค)
<div id="main">
  <h1 class="title"></h1>
  <div>
    <p class="title"></p>
  </div>
</div>
#main > .title
<div id="main">
  <h1 class="title"></h1>
  <div>
    <p class="title"></p>
  </div>
</div>
p + p
<div>
  <p></p>
  <p></p>
  <p></p>
</div>
#content {
  background-color: black;
  h1 {
    color: red;
  }
  .message {
    color: green;
  }
}
<h1>❌ Nothing changes</h1>
<div class="message">❌ Nothing changes</div>
<div id="content">
  <h1>✅ Text Red + Background Black</h1>
  <div class="message">✅ Text Green + Background Black</div>
</div>

💯 CSS Specificity Score

SelectorScore
*0
h11
.my-class10
[target="_blank"]10
#my-id100
h1.my-class11
h1#my-id101
!important10,000

CSS Pseudo-classes

Pseudo-classesความหมาย
:hoverเมื่อเมาส์อยู่บน Element
:activeเมื่อมีการคลิก Element
:focusเมื่อมีการ Focus Element
:focus-withinเมื่อมีการ Focus อยู่ใน Element ทั้งหมด
:linkเมื่อยังไม่เคยเข้าหน้าเว็บนี้
:visitedเมื่อมีการเปิดหน้าเว็บนี้แล้ว
:targetเมื่อถูกเลือกบน URL Fragment
:first-childเมื่อ Element คือ Child แรก
:last-childเมื่อ Element คือ Child สุดท้าย
:only-childเมื่อ Element คือ Child เดียว
:nth-child()เมื่อ Element คือ Child ที่มี Index ตามที่กําหนด
:placeholder-shownเมื่อมี Placeholder แสดงอยู่
:autofillเมื่อถูก Autofill
:disabledเมื่อ Element ถูก Disable
:enabledเมื่อ Element ถูก Enable
:read-onlyเมื่อ Element ถูก Readonly
:requiredเมื่อ Input Required
:optionalเมื่อ Input Optional
:checkedเมื่อมีการ Checked
:defaultเมื่อ Check ถูกทำเป็นค่าเริ่มต้น
:indeterminateเมื่อ Check ยังไม่ได้ถูกเลือก
:validเมื่อข้อมูลถูกต้อง
:invalidเมื่อข้อมูลไม่ถูกต้อง
:in-rangeเมื่อข้อมูลอยู่ในช่วงที่กําหนด
:out-of-rangeเมื่อข้อมูลไม่อยู่ในช่วงที่กําหนด
:emptyเมื่อ Element ไม่มี Content
:rootเลือก <html> แต่ Specificity สูงกว่า
:is()เลือกหลายตัวเลือก
:where()เหมือนกับ :is() แต่ Specificity ค่า 0
:has()หากมีตัวเลือก
:not()ไม่ตรงกับตัวเลือก

🔠 Pseudo-elements

Pseudo-elementความหมาย
::beforeเนื้อหาช่วงหน้าของ Element
::afterเนื้อหาช่วงหลังของ Element
::first-lineส่วนของบรรทัดแรกบน Element
::first-letterตัวอักษรแรกบน Element
::selectionเมื่อมีการ Select เนื้อหา
::placeholderPlaceholder ของ Input
::markerเครื่องหมายของลำดับรายการ
::file-selector-buttonปุ่มเลือกไฟล์
::backdropพื้นหลังของ <dialog>
::cueเลือกส่วนของ Video Caption

🔠 CSS Styling Text

Property Nameการใช้งาน
colorสีข้อความ
background-colorสีพื้นหลัง
font-familyรูปแบบตัวอักษร
font-sizeขนาดตัวอักษร
font-weightความหนาตัวอักษร
font-styleรูปแบบตัวเอียง
text-alignจัดตำแหน่งซ้าย-ขวาของข้อความ
vertical-alignจัดตําแหน่งบน-ล่างของข้อความ
text-decorationขีดเส้นของตัวอักษร
text-transformแปลงภาษาอังกฤษตัวพิมพ์เล็ก-ใหญ่
text-shadowเงาของตัวอักษร
white-spaceจัดการบรรทัดของข้อความ
overflow-wrapจัดการคำที่ยาวเกิน (มักใช้กับลิงก์ข้อความ)
text-overflowจัดการข้อความที่ล้นขอบ
text-indentระยะห่างของย่อหน้า
letter-spacingระยะห่างของตัวอักษร
word-spacingระยะห่างของคํา
line-heightความสูงของบรรทัด
@counter-styleกำหนดลำดับรายการ ใช้ร่วมกับ list-style-type
list-style-typeรูปแบบรายการ
list-style-positionตําแหน่งรายการ
list-style-imageรูปภาพของลำดับรายการ

📦 CSS Box Model

Property Nameการใช้งาน
displayรูปแบบการแสดงผล
positionตําแหน่ง Element
widthความกว้างของ Element
heightความสูงของ Element
min-widthความกว้างของ Element ต่ําสุด
max-widthความกว้างของ Element สูงสุด
min-heightความสูงของ Element ต่ําสุด
max-heightความสูงของ Element สูงสุด
paddingPadding Shorthand
padding-left, padding-right, padding-top, padding-bottomขยายขอบเนื้อหาใน Element ตามมุม
marginMargin Shorthand
margin-left, margin-right, margin-top, margin-bottomระยะห่างภายนอกของ Element ตามมุม
borderBorder Shorthand ทั้ง 4 มุม
border-widthขนาดขอบ 4 มุม
border-styleรูปแบบขอบ 4 มุม
border-colorสีขอบ 4 มุม
border-left, border-right, border-top, border-bottomขอบตามมุมแบบ Shorthand
border-left-width, border-right-width, border-top-width, border-bottom-widthขนาดขอบตามมุม
border-left-style, border-right-style, border-top-style, border-bottom-styleรูปแบบขอบตามมุม
border-left-color, border-right-color, border-top-color, border-bottom-colorสีขอบตามมุม
border-radiusกำหนดขอบมนและโค้งมุมของ Element
outlineOutline Shorthand
outline-widthขนาดขอบ Outline
outline-styleรูปแบบขอบ Outline
outline-colorสีขอบ Outline
outline-offsetระยะห่างขอบ Outline
insetShorthand top right bottom left
top, right, bottom, leftการจัดตำแหน่งตามมุม (ใช้กับ position อื่นๆนอกจาก position: static)
z-indexลําดับการแสดงผล Element (ใช้กับ position อื่นๆนอกจาก position: static)
visibilityการแสดงผล Element
box-sizingการตัดขอบ Element
overflowการจัดการเนื้อหาที่ล้นขอบ
floatการจัดตำแหน่ง Element ไปยังซ้าย-ขวา
box-shadowเงาของ Element

🖼️ CSS Background & Image

Property Nameการใช้งาน
backgroundBackground Shorthand
background-attachmentการเลื่อนพื้นหลังตามเนื้อหา
background-clipขนาดพื้นหลังอ้างอิงตามขอบ
background-colorสีพื้นหลัง
background-imageรูปภาพพื้นหลัง
background-originตำแหน่งเริ่มต้นของพื้นหลัง
background-positionตําแหน่งพื้นหลัง
background-repeatการทำซ้ำพื้นหลัง
background-sizeขนาดพื้นหลัง
object-fitการวางภาพแบบเต็มบน Element
object-positionตําแหน่งภาพบน Element

🌈 CSS Filter

Property Nameการใช้งาน
filterฟิลเตอร์เนื้อหาหลัก
backdrop-filterฟิลเตอร์ส่วนพื้นหลัง
filter: blur()เบลอ
filter: opacity()ความโปร่งใส
filter: drop-shadow()เงาของรูป
filter: brightness()ความสว่าง
filter: contrast()ความแตกต่างระหว่างสี
filter: grayscale()สีขาวดำ
filter: saturate()ความอิ่มตัวของสี
filter: hue-rotate()หมุนทิศสี
filter: invert()สลับสี
filter: sepia()สีซีเปีย

💪 CSS Flexbox

  • 🔵 = ใช้บน Flex Container
  • 🟡 = ใช้บน Flex Item
Property Nameการใช้งาน
display: flex;กำหนดการแสดงผลเป็น Flexbox
🔵 flex-flowShorthand flex-direction flex-wrap
🔵 flex-directionตั้งทิศแกนหลักของ Flex Item
🔵 flex-wrapการตัดบรรทัดของ Flex Item
🔵 gapShorthand row-gap column-gap
🔵 row-gapระยะห่างแถวของแต่ละ Flex Item
🔵 column-gapระยะห่างคอลัมน์ของแต่ละ Flex Item
🔵 justify-contentจัด Flex Item แกนหลัก
🔵 align-itemsจัด Flex Item แกนรอง
🔵 align-contentจัด Flex Item แกนรองทุกบรรทัด (ใช้ได้เฉพาะ flex-wrap: wrap;)
🟡 align-selfจัด Flex Item เฉพาะชิ้นเดียว
🟡 flexShorthand flex-grow flex-shrink flex-basis
🟡 flex-growการขยายขนาด Flex Item
🟡 flex-shrinkการลดขนาด Flex Item
🟡 flex-basisขนาดเริ่มต้นของ Flex Item
🟡 orderลําดับของ Flex Item

🪟 CSS Grid

  • 🔵 = ใช้บน Grid Container
  • 🟡 = ใช้บน Grid Item
Property Nameการใช้งาน
display: grid;กำหนดการแสดงผลเป็น Grid
🔵 gridShorthand grid-template-rows grid-template-columns grid-template-areas grid-auto-rows grid-auto-columns grid-auto-flow
🔵 grid-templateShorthand grid-template-columns grid-template-rows
🔵 grid-template-columnsกําหนดจํานวนและขนาดของคอลัมน์ (Explicit)
🔵 grid-template-rowsกําหนดจํานวนและขนาดของแถว (Explicit)
🔵 grid-template-areasกำหนดขนาดตามชื่อของ grid-area
🔵 grid-auto-flowShorthand grid-auto-columns grid-auto-rows
🔵 grid-auto-columnsกําหนดจํานวนและขนาดของคอลัมน์ (Implicit)
🔵 grid-auto-rowsกําหนดจํานวนและขนาดของแถว (Implicit)
🟡 grid-areaกําหนดชื่อของ Grid Item
🔵 gapShorthand row-gap column-gap
🔵 row-gapระยะห่างแถว
🔵 column-gapระยะห่างคอลัมน์
🔵 place-itemsShorthand align-items justify-items
🔵 justify-itemsจัด Grid Item แกนหลัก
🔵 align-itemsจัด Grid Item แกนรอง
🔵 place-contentShorthand align-content justify-content
🔵 justify-contentจัด Grid Content แกนหลัก
🔵 align-contentจัด Grid Content แกนรอง
🟡 place-selfShorthand align-self justify-self
🟡 justify-selfจัด Grid Item เฉพาะชิ้นเดียว
🟡 align-selfจัด Grid Item เฉพาะชิ้นเดียว
🟡 grid-columnShorthand grid-column-start grid-column-end
🟡 grid-column-startกำหนดจุดเริ่มต้นของคอลัมน์
🟡 grid-column-endกำหนดจุดสิ้นสุดของคอลัมน์
🟡 grid-rowShorthand grid-row-start grid-row-end
🟡 grid-row-startกำหนดจุดเริ่มต้นของแถว
🟡 grid-row-endกำหนดจุดสิ้นสุดของแถว

CSS Grid Units & Functions

Units & Functionsการใช้งาน
frขนาดสัดส่วน
autoขนาดอัตโนมัติ
min-contentขนาดเล็กสุดตามเนื้อหา
max-contentขนาดใหญ่สุดตามเนื้อหา
minmax()กําหนดขนาดขั้นต่ำและสูงสุดของแต่ละ Grid Track
repeat()สร้าง Grid Track ซ้ำ
fit-content()ขนาดที่ปรับตามเนื้อหา แต่ต้องไม่เกิดขีดจำกัด

🏛️ CSS Column

Property Nameการใช้งาน
columnsShorthand column-width column-count
column-widthกําหนดความกว้างของคอลัมน์
column-countจํานวนคอลัมน์
column-gapระยะห่างระหว่างคอลัมน์
column-ruleShorthand column-rule-width column-rule-style column-rule-color
column-rule-widthความกว้างของเส้นแบ่งคอลัมน์
column-rule-styleสไตล์เส้นแบ่งคอลัมน์
column-rule-colorสีเส้นแบ่งคอลัมน์
break-beforeควบคุมการแบ่งก่อนคอลัมน์
break-afterควบคุมการแบ่งหลังคอลัมน์
break-insideควบคุมการแบ่งภายในคอลัมน์

💫 CSS Transition

Property Nameการใช้งาน
transitionShorthand
transition-propertyกำหนด Property ที่จะ Transition
transition-durationระยะเวลาของการ Transition
transition-timing-functionรูปแบบความเร็ว Transition
transition-delayเวลาที่หน่วงก่อนเริ่ม Transition

🔄 CSS Transform

Property & Functionการใช้งาน
transformเปลี่ยนแปลงรูปแบบ Element
transform: translate(x, y)เลื่อนตำแหน่ง Element บนแกน X และ Y
transform: translateX(x)เลื่อน Element บนแกน X เท่านั้น
transform: translateY(y)เลื่อน Element บนแกน Y เท่านั้น
transform: translateZ(z)เลื่อน Element บนแกน Z (สำหรับ 3D)
transform: scale(x, y)ปรับขนาด Element บนแกน X และ Y
transform: scaleX(x)ปรับขนาด Element บนแกน X เท่านั้น
transform: scaleY(y)ปรับขนาด Element บนแกน Y เท่านั้น
transform: scaleZ(z)ปรับขนาด Element บนแกน Z (สำหรับ 3D)
transform: rotate(angle)หมุน Element รอบจุดหมุนที่กำหนด
transform: rotateX(angle)หมุน Element รอบแกน X
transform: rotateY(angle)หมุน Element รอบแกน Y
transform: rotateZ(angle)หมุน Element รอบแกน Z (สำหรับ 3D)
transform: skew(x, y)เอียง Element บนแกน X และ Y
transform: skewX(x)เอียง Element บนแกน X เท่านั้น
transform: skewY(y)เอียง Element บนแกน Y เท่านั้น
transform: matrix(a, b, c, d, e, f)ใช้ Matrix แปลง Element (2D)
transform: matrix3d()ใช้ Matrix แปลง Element (3D)

🎞️ CSS Animation

Property Nameการใช้งาน
@keyframesกำหนดการเปลี่ยนแปลง Animation ตามขั้นตอน
animation-nameชื่อ Animation ตาม @keyframes
animation-durationระยะเวลา Animation
animation-timing-functionรูปแบบการเปลี่ยนแปลง Animation
animation-delayการหน่วงเวลาเริ่มต้น Animation
animation-iteration-countจำนวนครั้งที่ Animation เล่น
animation-directionทิศทางการเล่น Animation
animation-fill-modeควบคุมสถานะ Animation ก่อนเริ่มและหลังจบ
animation-play-stateสถานะการเล่น Animation
animationShorthand รวมทุกคุณสมบัติด้านบน

📱💻🖥️ CSS Responsive & Media Features

.container { width: 100%; } /* Mobile */
@media (min-width: 768px) { /* Tablet */
  .container { width: 80%; }
}
@media (min-width: 1024px) { /* Desktop */
  .container { width: 60%; }
}
h1 { color: black; } /* Light theme */
@media (prefer-color-scheme: dark) { /* Dark theme */
  h1 { color: white; background-color: black; }
}