InDesign kutuları, tıklama ve sürükleme kadar basittir. Photoshop'un katmanları, ressamlara istedikleri her yerde pikselleri renklendirir. Ancak HTML ve CSS ile düzen, nudging ve basamaklı bir oyundur.
Her gün olur: Photoshop'taki sanat yönetmenleri tasarımları atar, boşluklarını homurdayarak, uygun yazı ve renkleri dikkatlice seçer. Çalışmaları, tasarımın çalışma HTML / CSS'ye dönüşmesi için günler alacağını belirten hevesli bir HTML geliştiricisine teslim ediyorlar. Daha da kötüsü, farklı ekran boyutları için hesapta değişiklikler yapacaklar. Zamanlama her iki taraf için de bir gizemdir. Geliştiriciyi PSD'yi çalışma HTML / CSS'ye dönüştürmek bir saat mi yoksa bir hafta mı sürecek?
Web düzeni temelleri - mümkün, pratik, olasılıklar - kavramak kolaydır. Tasarımın kendisi gibi, ilkeleri anlamak, herhangi bir tasarımcının daha iyi tasarımlar üretmesine ve bir site oluşturma sürecini hızlandırmasına yardımcı olacaktır.
Bir web sayfasındaki her şey, paragraftan görüntülere, kalın metinden bağlantılara kadar, görünmez kutularda bulunur. Bu kutular iki çeşittir: blok ve satır içi. Satır içi ve blok arasındaki fark, davranışlarında yatar.
Öğeleri birbiri üzerine engelleyin. Aksi söylenmedikçe, olabildiğince fazla yatay alan işgal ederler, etrafındaki her şeyi yukarı veya aşağı doğru iterler. Tasarım için, blok elemanlar birincil düzen aracıdır.
Satır içi elemanlar metin formatına dayanır. Metin akışını bozmazlar ve boyutları, içeriklerini sığdırmak için genişler. 200 piksellik bir genişliğe sahip olmak için satır içi bir öğeyi belirtmek işe yaramıyor. Metin ile doldurulacak.
Varsayılan olarak, her öğe ya bir satır içi ya da blok elemanıdır. Tasarımcılar doğasını küçük bir CSS ile değiştirebilirler - bir liste listesi yığınının (doğal olarak bloklar) bir sıraya veya bir dizi yatay bağlantıya (yerel olarak satır içi) dikey bir yığına dönüştürülmesiyle. Bu, herhangi bir görünür elemanın yerleşim için kullanılabileceği anlamına gelir. Söz konusu düzene bağlı olması gerekip gerekmediği .
Yerel blok öğeleri şunları içerir:
- Paragraflar
- Listeler
- Bir listedeki öğeler
- Başlıklar
-
- Tablolar
- Blok teklifleri
- HTML5'te düzenleyenler
,
,
,
, ve
- Vücudun kendisi
Satır içi öğeler şunları içerir:
Ne blok ne de satır içi olmayan ortak etiketler:
- Belge başlığı
- Meta etiketleri
- Komut dosyası etiketleri
- Bağlantı etiketleri
İlk bakışta, lego benzeri zihniyete uyum sağlamak, gradyanlara, kıvrımlara ve elastik düzenlere izin veren bir ortamda mantıksız görünüyor. Ancak her şeyin bir tuğla gibi düşünülmesi, içeriğin ve sunumun buluştuğu yeri anlamak için çok önemlidir.
Kılavuz: Her etiket çifti (veya benzeri etiketler)
) vücutta bir kutu temsil eder.
Düzen için blokları kullanma
InDesign'da bir metin çerçevesini silin ve bitişik fotoğraf hareket etmeyecek çünkü neith'in yerleşimi diğerine dayanıyor. Eğrileri Photoshop katmanına uygulayın ve eğriler bir seferde bir katmanı etkilediği için başka hiçbir katman değişmeyecektir. Ancak HTML'deki bir öğeyi ve bu öğeden sonraki her şey muhtemelen değişecektir. Bir web sayfasındaki bloklar, konteynırlarının sol üst köşesine yığılır.
ya da başka bir blok.
Tüm web düzeni blok elemanları ile gerçekleştirilmiştir. Tasarımcılar çoğu zaman blok kullanıyor Tüm içeriğin sığdığı dikdörtgen alanlar oluşturmak için öğeler. Sadece dört kural var: - Toplam genişlik: Bir elemanın işgal ettiği ve etkilediği alan.
- Float: Blokların yığılma eğilimini değiştirmek.
- Temizle: Yığınları yeniden tahmin etme.
- Yuva: Öğeler birbirinin içinde ya da değil. Yarı yolda yok.
Her kuralın ihtarı var… ama hiçbir şey bir sayfa oluşturmak zorunda değil.
(CSS uzmanları, bu kuralların göreli konumlandırmaya sahip öğeler için geçerli olduğunu kabul edeceklerdir. Mutlak konumlandırma farklı ve daha az yaygın olan bir hayvandır.)
1. Toplam genişlik = kutu ve tampon
Toplam genişlik, bir bloğun ne kadar yatay alanda kapladığıdır. Bu bloğun kenar boşluğu, kenarlığı ve dolgu içerir. Baskıda, marj ve dolgu, oluk tipleridir. Ancak kutuların itilmesiyle yaratılan geleneksel negatif alanın aksine, dolgu ve kenar boşluğu bir kutunun parçasıdır. Düzen öğeleri için karakter aralığı gibi.
Genişlik, dolgu ve marjın hesaplanması genellikle tasarımcılar için en büyük baş ağrısıdır, ancak kalan kurallar biraz daha basittir.
2. Yüzer, yığınları bloktan indirir
Yüzen, bir blok öğeyi sola veya sağa doğru iterek, doğal yığından çıkarır. Bir blok yüzdüğü zaman, altındaki her şeyin diğer tarafının etrafında yükselmesi için yer açar.
Bir dizi blok birbirine bitişik olduğunda, sütunlar ortaya çıkar.
3. Takas: Tasarımcıların hem yatay hem de dikey olarak bir sayfa düzenlemesini sağlama
Yüzmenin talihsiz bir yan etkisi kabın üzerindeki etkisidir. Bir konteynır içeriğine sığacak şekilde dikey olarak büyür - yüzenler hariç. Her şey yüzerse, kutunun yüksekliği yoktur. Yüzen eşyaların altındaki artışlar. Kaos ortaya çıkar.
Takas blokların doğal istiflenme eğilimini sürdürür. Aslında, içereceği bir şey içeren bir kabı hatırlatır. Takas olmadan tasarımcılar hem yatay hem de dikey olarak bir sayfa düzenleyemezler.
4. Yerleştirme
Yuvalama basit: Her blok başka bir blokta tamamen yer almalıdır. Hiçbir blok, ciddi sonuçları olmadan sınırlarının dışında uzanamaz ve iki blok kısmen çakışamaz.
Sütunlar sığmalıdır veya başka
Bu, tasarımcıların biraz matematik yapması gereken yer. Sütunları düzgün bir şekilde yerleştirmek için, toplam genişliklerinin toplamı kabı genişliğinden daha az olmalıdır.
Sütunlar, sola ya da daha nadir durumlarda sağa iten bir dizi blok elemandır. Bu sütunlar konteynerleri için çok genişse, özel teknikler olmadan son sütun diğerlerinin altına düşer.
Basit bir düzen üç kullanabilirsiniz iki sütunlu bir düzen oluşturmak için öğeler:
…
Yukarıdaki, sol örnek bu CSS'yi kullanır:
#container { width: 1000px; }
#main-content { width: 600px; padding: 20px; }
#sidebar { width: 340px; padding: 10px; }
Konteyner 1000 piksel genişliğindedir. Ana içerik bloğu 640 piksel genişliğindedir - her iki tarafta 600 genişlik + 20 piksel dolgu. Kenar çubuğu bloğu 360 piksel genişliğindedir - her iki tarafta 340 genişlik + 10 piksel dolgu. (600 + 20 + 20) + (340 + 10 + 10) = 1000. Mükemmel bir uyum.
Ancak, sağdaki örnekte, bir şey çok geniş. Sütun dolgusu veya sütun genişliği kendiliğinden olabilir. Belki de konteyner çok dardır. Kapsayıcıyı sütunlardan daha geniş yapmak için bu faktörlerden herhangi birini değiştirmek sorunu çözecektir.
İstisnalar daha fazla kod gerektirir; tekdüzelik daha az gerektirir
Daha geleneksel görsel medyanın aksine - örneğin, heykel veya grafik tasarım - yazı kodu, kodun ne yapacağına dair güçlü bir zihinsel tablo gerektirir.
Kod ile tasarlamanın bazı yönleri açıktır. Basit tasarımlar genellikle karmaşık tasarımlardan daha az kod kullanır. Bir tasarım sorununa çözüm, her bir widget, sütun ve metin parçasının kendi arka plan rengine sahip olmasını gerektiriyorsa, öyle olsun. Sadece daha fazla kod gerektirir.
- Bir metin parçası diğerlerinden daha büyükse, CSS dosyasında kendi girişine ihtiyacı vardır.
- İki sütunun farklı genişlikleri varsa, CSS dosyası her biri için genişlik belirtmelidir.
- Bir tasarım üç tür madde işareti gerektiriyorsa, CSS üç tanım gerektirir.
Tasarımla ilgili daha az belirgin bir gerçek, daha az açık olması. Hayal gücü ve deneyim, sayfa düzeninin programlanmasında özellikle gereklidir; bir sütun kenarının değiştirilmesi, komşularını etkileyecektir. Baskıdan web tasarımına geçişte, sonuçları hayal edememek yeni geliştiricilerin ilgisini çekiyor.
Bu değil color:blue
kavramak zor. Ama yazması gereken tek şey div { background: url(photo.jpg) top left no-repeat; }
ve başka bir sayfa bağlamında bir fotoğraf görmek için.
Neyse ki, bazı analoji öğrenme eğrisini kolaylaştırır.
- CSS'yi tamamen paragraf stilleriyle çalışacak şekilde düşünün. Tek bir öğeyi anında değiştirmek hantaldır. CSS, görüntülerin veya kelimelerin tam bir sınıflandırmasına (HTML'deki “sınıf” özniteliğine) uygulandığında en iyi şekilde çalışır.
- Bir kerede bir sayfanın dörtte birini görüntülediğinizi düşünün. Herhangi bir zamanda, çoğu web sayfası ortalama tarayıcı penceresinden daha büyük olduğu için kullanıcılar bir web sayfasının yalnızca bir bölümünü görürler. Son kullanıcılar sadece bir seferde bir parça görür. Tarayıcının dört tarafında “katlama” oluşur.
- Kendinize “ne olursa olsun her element iki katına çıkarsa ne olur?” Diye sorun. İyi tasarımlar, içeriği iyi bir şekilde tanıtıyor. Harika web tasarımları bunu yapmaya devam ediyor. Makale şablonları, değişen uzunluktaki eşyaları barındırmalıdır. İçerik yöneticileri eski metni kaldıracak veya planlanan oranlara uymayan yeni fotoğraflar ekleyecek. Müşteriler, en son beş tweet'inin ana sayfada olmasını istediler. Hiç kimse bir sitenin nasıl değişebileceğini bilmiyor, ama her şeyin farklı miktarlarını planlamak iyi bir önlemdir.
İleriye doğru ilerliyor
Web mizanpajının anlaşılmasının faydaları, mümkün olanın bilinmesi, yaygın tuzakların önlenmesi ve daha hızlı gelişme süreleridir. Ancak akılda HTML / CSS ile tasarım yapmayı öğrenmek, düşünmede bir değişiklik yapılmasını gerektirir. 960 Izgara Sistemi gibi CSS sistemleri Gerekli teknik çalışmaları en aza indirgemek, saf piksel işinden koda geçişi kolaylaştırmak. Fakat herhangi bir dili öğrenmek gibi, en iyi araç kalıcı olabilir.
Çalışma örneklerini çalışma HTML ve CSS'ye dönüştürmede size en çok sıkıntı veren şey nedir? Deneyimlerinizi ve çözümlerinizi aşağıdaki yorumlarda paylaşın.