ai
Responsive Web Design Free — เรียนรู้ Responsive

Responsive Web Design

Responsive Web Design ออกแบบเว็บแสดงผลดีทุกขนาดหน้าจอ Desktop Tablet Mobile ใช้ Media Queries Flexible Grids Images ปรับ Layout อัตโนมัติ
เนื้อหาเกี่ยวข้อง — ดูเพิ่มเติมเรื่อง Airbyte ETL Troubleshooting แก้ปัญหา
Mobile-first Design ออกแบบ Mobile ก่อน เพิ่ม Features หน้าจอใหญ่ เว็บโหลดเร็ว Mobile เป็นอุปกรณ์ส่วนใหญ่
เนื้อหาเกี่ยวข้อง — แนะนำให้อ่าน การลงทุนแบบ dca คือ
CSS Media Queries และ Breakpoints
/* === Responsive Web Design — CSS === */
/* 1. Mobile-first Base Styles */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Sarabun', sans-serif;
font-size: 16px;
line-height: 1.6;
color: #333;
}
.container {
width: 100%;
max-width: 1200px;
margin: 0 auto;
padding: 0 16px;
}
/* 2. Navigation — Mobile First */
.navbar {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
padding: 12px 16px;
background: #1a1a2e;
color: white;
}
.nav-logo {
font-size: 1.5rem;
font-weight: bold;
}
.nav-toggle {
display: block;
background: none;
border: none;
color: white;
font-size: 1.5rem;
cursor: pointer;
}
.nav-menu {
display: none;
width: 100%;
flex-direction: column;
list-style: none;
padding: 16px 0;
}
.nav-menu.active {
display: flex;
}
.nav-menu li a {
display: block;
padding: 8px 0;
color: white;
text-decoration: none;
}
/* 3. Grid Layout — Mobile First */
.grid {
display: grid;
grid-template-columns: 1fr;
gap: 16px;
padding: 16px 0;
}
.card {
background: white;
border-radius: 8px;
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
overflow: hidden;
}
.card img {
width: 100%;
height: auto;
display: block;
}
.card-body {
padding: 16px;
}
/* 4. Responsive Images */
img {
max-width: 100%;
height: auto;
}
/* === Media Queries — Breakpoints === */
/* Tablet (768px+) */
@media (min-width: 768px) {
.nav-toggle { display: none; }
.nav-menu {
display: flex;
width: auto;
flex-direction: row;
gap: 24px;
padding: 0;
}
.grid {
grid-template-columns: repeat(2, 1fr);
gap: 24px;
}
.container { padding: 0 24px; }
}
/* Desktop (1024px+) */
@media (min-width: 1024px) {
.grid {
grid-template-columns: repeat(3, 1fr);
gap: 32px;
}
.container { padding: 0 32px; }
body { font-size: 18px; }
}
/* Large Desktop (1200px+) */
@media (min-width: 1200px) {
.grid {
grid-template-columns: repeat(4, 1fr);
}
}
/* Print Styles */
@media print {
.navbar, .nav-toggle { display: none; }
body { font-size: 12pt; color: black; }
a { text-decoration: underline; }
}
Flexbox และ CSS Grid Layout

/* === Flexbox Layout === */
/* Hero Section */
.hero {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
padding: 48px 16px;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
}
.hero h1 {
font-size: clamp(1.5rem, 5vw, 3rem);
margin-bottom: 16px;
}
.hero p {
font-size: clamp(1rem, 2.5vw, 1.25rem);
max-width: 600px;
}
/* Flex Card Row */
.card-row {
display: flex;
flex-wrap: wrap;
gap: 16px;
}
.card-row .card {
flex: 1 1 280px;
min-width: 0;
}
/* Footer */
.footer {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
gap: 32px;
padding: 48px 16px;
background: #1a1a2e;
color: #ccc;
}
.footer-col {
flex: 1 1 200px;
}
/* === CSS Grid — Page Layout === */
.page-layout {
display: grid;
grid-template-areas:
"header"
"main"
"sidebar"
"footer";
gap: 16px;
}
.page-header { grid-area: header; }
.page-main { grid-area: main; }
.page-sidebar { grid-area: sidebar; }
.page-footer { grid-area: footer; }
@media (min-width: 768px) {
.page-layout {
grid-template-columns: 1fr 300px;
grid-template-areas:
"header header"
"main sidebar"
"footer footer";
}
}
/* CSS Grid — Auto-fit */
.auto-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 24px;
}
/* Responsive Typography — clamp() */
h1 { font-size: clamp(1.5rem, 4vw, 3rem); }
h2 { font-size: clamp(1.25rem, 3vw, 2rem); }
h3 { font-size: clamp(1rem, 2.5vw, 1.5rem); }
/* Responsive Spacing */
.section {
padding: clamp(24px, 5vw, 64px) clamp(16px, 3vw, 32px);
}
/* Aspect Ratio */
.video-container {
aspect-ratio: 16 / 9;
width: 100%;
background: #000;
}
/* Container Queries (Modern CSS) */
/* @container (min-width: 400px) {
.card-body { display: flex; gap: 16px; }
} */
เครื่องมือฟรี
- Chrome DevTools: กด F12 ใช้ Device Toolbar ทดสอบขนาดหน้าจอต่างๆ
- Responsively App: แสดงเว็บหลายขนาดพร้อมกัน ฟรี Open Source
- CSS Frameworks: TailwindCSS, Bootstrap ให้ Responsive Utilities ฟรี
- Google Mobile Test: ทดสอบว่าเว็บ Mobile-friendly หรือไม่
- PageSpeed Insights: วัด Performance บน Mobile และ Desktop
- Can I Use: ตรวจสอบ CSS Feature Support บน Browser ต่างๆ
Responsive Web Design คืออะไร
เทคนิคออกแบบเว็บแสดงผลดีทุกขนาดหน้าจอ Desktop Tablet Mobile CSS Media Queries Flexible Grids Images ปรับ Layout อัตโนมัติ ไม่ต้องสร้างเว็บแยก Mobile
แนะนำเพิ่มเติม — อ่านเพิ่มเติมที่ SiamCafeBook
เนื้อหาเกี่ยวข้อง — ดูเพิ่มเติมเรื่อง Computer Vision YOLO Pod Scheduling





