2016-03-27 12 views
2

ezilme tespit edilecek:yap kaydırma çubuğu yerine böyle düzenini kullanırken düzen

div { 
 
    width: 25vw; 
 
    height: 150vh; 
 
    float: left; 
 
    background: rgb(30,120,210) 
 
} 
 
div:nth-child(2n+2) { 
 
    background: rgb(210,120,30) 
 
}
<div></div> 
 
<div></div> 
 
<div></div> 
 
<div></div>

scrollbar tasarım ezer. Kaydırma çubuğu olmadan sadece iyi çalışır, her öğe ekran genişliğinin 1/4'ünü alır. Son bir öğeye width: calc(25vw - 17px) eklemek bir çözüm olurdu ama benim kılavuzum bundan daha karmaşık. Bu yüzden, eğer kaydırıcının position: fixed'a benzer bir kuralı yapabilmesinin mümkün olduğunu düşünürdüm, bu yüzden onları ezmek yerine öğelerin üstüne gider. Veya mümkünse, kaydırma çubuğunu kaldırmak için daha iyi. Bu sorun Linux Firefox veya Chrome'da görünmüyor.

+0

OSX'te Google Chrome'u kullanırken böyle bir sorunum yok. Önce birden çok tarayıcıda/markda işaretlemeyi test etmek isteyebilirsiniz. IE, yorumlayıcı HTML'ye yapamadığı için kötü tasarım yoluna girmeyin. –

+0

@IvanVenediktov OS X ve bazı Linux pencere yöneticileri varsayılan olarak mizanpaj kaydırma çubuklarına sahipler, sadece içerikle örtüşüyorlar. Sistem Tercihleri> Genel> Kaydırma çubuklarını göster: Her zaman –

+1

@IvanVenediktov Evet Bundan bahsetmeyi unuttum. Linux (Ubuntu) Firefox & Chrome'da bu sorun mevcut değil. – Kunok

cevap

2

Neden width: 25vw yerine width: 25% kullanıyorsunuz? Ardından kaydırma çubuğu dikkate alınacaktır.

Çalışma örneği:

div { 
 
    width: 25%; 
 
    height: 150vh; 
 
    float: left; 
 
    background: rgb(30,120,210) 
 
} 
 
div:nth-child(2n+2) { 
 
    background: rgb(210,120,30) 
 
}
<div></div> 
 
<div></div> 
 
<div></div> 
 
<div></div>

+0

Yavaş yanıt verdiğim için üzgünüm, bunu gerçekten test etmek için biraz zaman harcadım (http://i.imgur.com/2P00y5p.png) ve işe yarıyor. Çok güzel bir fikir. – Kunok

1

bunu basitçe flex ve min-width özellikleri çözülebilir flexbox kullanıyorsanız:

body { 
 
    display: flex; 
 
    flex-flow: row wrap; 
 
} 
 

 
div { 
 
    flex: 1; 
 
    height: 150vh; 
 
    background: #123; 
 
    min-width: 25%; 
 
    max-width: 25%; 
 
} 
 

 
div:nth-child(odd) { 
 
    background: #222; 
 
}
<div></div> 
 
<div></div> 
 
<div></div> 
 
<div></div> 
 
<div></div>

max-width, satırdaki tüm yeni öğeler için kuralı takip edecek şekilde kullanılabilir.

PS: tarayıcılar arası test için prefix esnek özelliklerini unutmayın.

+1

Eski tarayıcı desteği nedeniyle hala esneklik kullanmamıza üzüldüm. – Kunok

+1

Evet, ancak eski tarayıcıları gerçekten önemsiyorsanız. Ancak mevcut tüm tarayıcılar bunu desteklemektedir: http://caniuse.com/#search=flex. Ayrıca, yalnızca gelecekteki kanıt kodlarını desteklemek için polifoneller bulabilirsiniz. Projelerimde zaten kullanıyorum. – nikoloza

+0

Bilgi için teşekkürler. O zaman yaklaşan projelerimde esnek olmaya eğilimliyeceğim. – Kunok

İlgili konular