响应式网页设计 - 网格视图
- Önceki Sayfa RWD Görünüm
- Sonraki Sayfa RWD Medya Sorguları
什么是网格视图?
许多网页都基于网格视图(grid-view),这意味着页面被分割为几列:
在设计网页时,使用网格视图非常有帮助。这样可以更轻松地在页面上放置元素。
响应式网格视图通常有 12 列,总宽度为 100%,并且在调整浏览器窗口大小时会收缩和伸展。
构建响应式网格视图
让我们开始构建响应式网格视图。
首先,确保所有 HTML 元素的 box-sizing
属性设置为 border-box
Bu, elementin toplam genişliği ve yüksekliğinin iç boşluk (dolgu) ve çerçeve içerdiğini sağlar.
在 CSS 中添加以下代码:
* { box-sizing: border-box; }
在我们的 CSS Box Sizing Bir章中有关 box-sizing 属性的更多内容。
Aşağıdaki örnek, iki sütun içeren basit bir duyarlı web sayfasını göstermektedir:
örnek
.menu { width: 25%; float: left; } .main { width: 75%; float: left; }
Web sayfası sadece iki sütun içeriyorsa, yukarıdaki örnek iyi çalışır.
Web sayfası sadece iki sütun içeriyorsa, yukarıdaki örnek iyi çalışır.
Öncelikle, bir sütunun yüzdesini hesaplamamız gerekiyor: 100% / 12 sütun = 8.33%.
Sonra, 12 sütundaki her bir sütun için bir sınıf oluşturmalıyız, yani class="col-"
ve bir sayı eklenmelidir, bu sayı bu bölümün geçecek sütun sayısını tanımlar:
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%;}
Tüm bu sütunlar sola yatay olarak kaydırılmalı ve 15px iç boşluk içermelidir:
CSS:
[class*="col-"] { float: left; padding: 15px; border: 1px solid red; }
Her satır, <div>
içinde. Satırdaki sütun sayısı toplam olarak her zaman 12 olmalıdır:
HTML:
<div class="row"> <div class="col-3">...</div> <!-- 25% --> <div class="col-9">...</div> <!-- 75% --> </div>
Tüm satırdaki tüm sütunlar sola yatay olarak kaydırılır, bu yüzden sayfa akışından çıkarılır ve diğer elemanlar, bu sütunların yokmuş gibi yerleştirilir. Bu durumu önlemek için akışı temizleyen stiller ekleyeceğiz:
CSS:
.row::after { content: ""; clear: both; display: table; }
Daha güzel görünmesini sağlamak için bazı stiller ve renkler eklemek istiyoruz:
örnek
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; }
Lütfen tarayıcı pencerenizi çok küçük bir genişliğe ayarladığınızda, örnek web sayfasının görünümünün ideal olmadığını unutmayın. Bir sonraki bölümde bu sorunu nasıl çözeceğinizi öğreneceksiniz.
- Önceki Sayfa RWD Görünüm
- Sonraki Sayfa RWD Medya Sorguları