กวดวิชาCSS

CSS HOME บทนำ CSS ไวยากรณ์ CSS ตัวเลือก CSS CSS วิธีการ ความคิดเห็น CSS CSS สี พื้นหลัง CSS CSS Borders CSS Margins CSS Padding CSS ความสูง/ความกว้าง โมเดลกล่อง CSS CSS Outline CSS Text แบบอักษร CSS ไอคอน CSS ลิงค์ CSS รายการ CSS ตาราง CSS จอแสดงผล CSS CSS ความกว้างสูงสุด ตำแหน่ง CSS CSS Z-ดัชนี CSS Overflow CSS Float CSS Inline-block CSS Align CSS Combinators CSS Pseudo-class CSS Pseudo-element CSS ความทึบ แถบนำทาง CSS CSS Dropdowns CSS Image Gallery CSS Image Sprites CSS Attr Selectors แบบฟอร์ม CSS CSS Counters เค้าโครงเว็บไซต์ CSS หน่วย CSS ความจำเพาะของ CSS CSS !สำคัญ ฟังก์ชันคณิตศาสตร์ CSS

CSS ขั้นสูง

CSS มุมโค้งมน รูปภาพ CSS Border พื้นหลัง CSS CSS สี คำหลักสี CSS CSS Gradients CSS Shadows เอฟเฟกต์ข้อความ CSS CSS Web Fonts การแปลง CSS 2D การแปลง CSS 3D การเปลี่ยน CSS ภาพเคลื่อนไหว CSS CSS Tooltips CSS สไตล์รูปภาพ ภาพสะท้อน CSS CSS วัตถุพอดี CSS วัตถุตำแหน่ง CSS Masking ปุ่ม CSS CSS Pagination CSS หลายคอลัมน์ ส่วนต่อประสานผู้ใช้ CSS ตัวแปร CSS ขนาดกล่อง CSS CSS Media Queries ตัวอย่าง CSS MQ CSS Flexbox

CSS Responsive

แนะนำ RWD วิวพอร์ต RWD RWD Grid View แบบสอบถามสื่อ RWD รูปภาพ RWD วิดีโอ RWD กรอบงาน RWD เทมเพลต RWD

CSS Grid

บทนำกริด คอนเทนเนอร์กริด รายการกริด

CSS SASS

กวดวิชา SASS

ตัวอย่างCSS

เทมเพลต CSS ตัวอย่าง CSS แบบทดสอบ CSS แบบฝึกหัด CSS ใบรับรอง CSS

การอ้างอิงCSS

การอ้างอิง CSS ตัวเลือก CSS ฟังก์ชัน CSS CSS อ้างอิง Aural CSS Web Safe Fonts CSS Animable หน่วย CSS ตัวแปลง CSS PX-EM CSS สี ค่าสี CSS ค่าดีฟอลต์ CSS รองรับเบราว์เซอร์ CSS

การออกแบบเว็บที่ตอบสนอง - Grid-View


Grid-View คืออะไร?

หน้าเว็บหลายหน้าใช้มุมมองแบบตาราง ซึ่งหมายความว่าหน้านั้นแบ่งออกเป็นคอลัมน์ต่างๆ:


การใช้มุมมองแบบตารางมีประโยชน์มากเมื่อออกแบบหน้าเว็บ ทำให้ง่ายต่อการวางองค์ประกอบบนหน้า


มุมมองตารางแบบตอบสนองมักจะมี 12 คอลัมน์ และมีความกว้างรวม 100% และจะย่อและขยายเมื่อคุณปรับขนาดหน้าต่างเบราว์เซอร์

ตัวอย่าง: Responsive Grid View



การสร้างมุมมองกริดที่ตอบสนอง

มาเริ่มสร้างมุมมองกริดแบบตอบสนองกันเถอะ

อันดับแรก ตรวจสอบให้แน่ใจว่าองค์ประกอบ HTML ทั้งหมดมีการbox-sizingตั้งค่าคุณสมบัติ border-boxเป็น เพื่อให้แน่ใจว่าช่องว่างภายในและเส้นขอบจะรวมอยู่ในความกว้างและความสูงรวมขององค์ประกอบ

เพิ่มรหัสต่อไปนี้ใน CSS ของคุณ:

* {
  box-sizing: border-box;
}

อ่านเพิ่มเติมเกี่ยวกับbox-sizingคุณสมบัติในบทCSS Box Sizing ของเรา

ตัวอย่างต่อไปนี้แสดงหน้าเว็บแบบตอบสนองอย่างง่าย โดยมีสองคอลัมน์:

25%
75%

ตัวอย่าง

.menu {
  width: 25%;
  float: left;
}
.main {
  width: 75%;
  float: left;
}

ตัวอย่างข้างต้นใช้ได้หากหน้าเว็บมีเพียงสองคอลัมน์

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

อันดับแรก เราต้องคำนวณเปอร์เซ็นต์สำหรับหนึ่งคอลัมน์: 100% / 12 คอลัมน์ = 8.33%

จากนั้น เราสร้างคลาสหนึ่งคลาสสำหรับแต่ละคอลัมน์จาก 12 คอลัมน์class="col-"และตัวเลขที่กำหนดจำนวนคอลัมน์ที่ส่วนควรขยาย:

ซีเอสเอส:

.col-1 {width: 8.33%;}
.col-2 {width: 16.66%;}
.col-3 {width: 25%;}
.col-4 {width: 33.33%;}
.col-5 {width: 41.66%;}
.col-6 {width: 50%;}
.col-7 {width: 58.33%;}
.col-8 {width: 66.66%;}
.col-9 {width: 75%;}
.col-10 {width: 83.33%;}
.col-11 {width: 91.66%;}
.col-12 {width: 100%;}

 คอลัมน์ทั้งหมดเหล่านี้ควรลอยไปทางซ้าย และมีช่องว่างภายใน 15px:

ซีเอสเอส:

[class*="col-"] {
  float: left;
  padding: 15px;
  border: 1px solid red;
}

แต่ละแถวควรห่อด้วย<div>. จำนวนคอลัมน์ภายในแถวควรรวมกันได้ 12 เสมอ:

HTML:

<div class="row">
  <div class="col-3">...</div> <!-- 25% -->
  <div class="col-9">...</div> <!-- 75% -->
</div>

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

ซีเอสเอส:

.row::after {
  content: "";
  clear: both;
  display: table;
}

เรายังต้องการเพิ่มสไตล์และสีสันเพื่อให้ดูดีขึ้น:

ตัวอย่าง

html {
  font-family: "Lucida Sans", sans-serif;
}

.header {
  background-color: #9933cc;
  color: #ffffff;
  padding: 15px;
}

.menu ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.menu li {
  padding: 8px;
  margin-bottom: 7px;
  background-color :#33b5e5;
  color: #ffffff;
  box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
}

.menu li:hover {
  background-color: #0099cc;
}

โปรดสังเกตว่าหน้าเว็บในตัวอย่างดูไม่ดีนักเมื่อคุณปรับขนาดหน้าต่างเบราว์เซอร์ให้มีความกว้างที่เล็กมาก ในบทต่อไป คุณจะได้เรียนรู้วิธีแก้ไขปัญหานั้น