响应式网页设计 - 网格视图
- หน้าก่อน RWD โฉมหน้าจอ
- หน้าต่อไป RWD การค้นหาเมดิยมความตั้งตาราง
什么是网格视图?
许多网页都基于网格视图(grid-view),这意味着页面被分割为几列:
在设计网页时,使用网格视图非常有帮助。这样可以更轻松地在页面上放置元素。
响应式网格视图通常有 12 列,总宽度为 100%,并且在调整浏览器窗口大小时会收缩和伸展。
构建响应式网格视图
让我们开始构建响应式网格视图。
首先,确保所有 HTML 元素的 box-sizing
属性设置为 border-box
这样可以确保元素的总宽度和高度包括内边距(填充)和边框。
请在 CSS 中添加以下代码:
* { box-sizing: border-box; }
请在我们的 CSS Box Sizing 在章节中阅读有关 box-sizing 属性的更多内容。
以下例子展示了一个简单的响应式网页,其中包含两列:
ตัวอย่าง
.menu { width: 25%; float: left; } .main { width: 75%; float: left; }
ถ้าเว็บไซต์มีเพียงคอลัมน์สอง ตัวอย่างนี้จะดีอย่างแน่นอน.
แต่เราต้องการใช้มุมมองกริดที่มี 12 คอลัมน์ในการตอบสนองได้ดีกว่าเพื่อการควบคุมเว็บไซต์ที่ดีขึ้น。
หลังจากนั้น เราต้องคำนวณร้อยละของคอลัมน์หนึ่ง: 100% / 12 คอลัมน์ = 8.33%.
หลังจากนั้น เราจะสร้างชั้นที่เกี่ยวข้องกับคอลัมน์ทั้ง 12 ตัวของระบบภาคส่วนนี้ class="col-"
และเลขค่า ซึ่งกำหนดจำนวนคอลัมน์ที่ส่วนนี้ควรข้ามคอลัมน์:
CSS:
.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:
CSS:
[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>
ทั้งหมดคอลัมน์ในตัวอย่างนี้จะลอยไปทางซ้าย และออกจากกระแสหน้าเว็บ และจะลงทะเบียนอีกองค์ประกอบอื่น ซึ่งเหมือนว่าคอลัมน์นั้นไม่มีอยู่ เพื่อป้องกันสถานการณ์นี้ เราจะเพิ่มรูปแบบล้างกระแส:
CSS:
.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; }
โปรดทราบว่า เมื่อคุณปรับขนาดหน้าตู้เว็บบราวเซอร์เป็นความกว้างที่เล็กมาก แบบอย่างของเว็บไซต์นี้จะดูไม่ดี ในบทที่ต่อไปคุณจะเรียนเรื่องที่จะแก้ปัญหานี้
- หน้าก่อน RWD โฉมหน้าจอ
- หน้าต่อไป RWD การค้นหาเมดิยมความตั้งตาราง