Konteyner sıvısı ve .container


509

3.1 indirildi ve dokümanlarda bulundu ...

Senin en dışta değiştirerek tam genişlikli düzeni içine herhangi bir sabit genişlikli ızgara düzeni çevirin .containeriçin .container-fluid.

Baktığında bootstrap.css, şunlar anlaşılmaktadır .container-fluidaynıdır .container. Her ikisi de aynı CSS'ye sahiptir ve her örneği .container-fluideşleştirilir .containerve tüm sütun sınıfları yüzde olarak belirtilir.

Örneklerle dolaşırken hiçbir şey göremedim, çünkü her şey akıcı görünüyordu.

Bootstrap'ta yeni olduğum için, bir şey eksik olduğumu varsayıyorum. Bir dakika bir dakika alıp beni aydınlatabilir mi?


4
Bunu gördüm. Birkaç devir geri gönderildi. kap sıvısı, 3.0 için çıkarıldı ve 3.1 için geri ilave edildi.
FatFingers

1
@Ranveer Bu BS2.3 anlamına gelen BS3 kesinlikle yinelenen değil - Bu soru cevap vermediği için gelecekteki kullanıcıları karıştırmamak için kaldırın lütfen
PW Kad

Dokümanlar sıvısından tüm vizörün genişliğini kaplar. (ya da şu anki konteynerin ya da içeren elementin tamamı mı?) Her durumda, neden akışkan ismi? Sıvı olmayan kabın aksine sıvı nedir?
pashute

Yanıtlar:


704

Hızlı sürüm: .container önyüklemedeki her ekran boyutu için bir sabit genişliğe sahiptir (xs, sm, md, lg); .container-fluidkullanılabilir genişliği doldurmak için genişler.


Bu CSS satırları arasındaki containerve container-fluidonlardan gelen fark :

@media (min-width: 568px) {
  .container {
    width: 550px;
  }
}
@media (min-width: 992px) {
  .container {
    width: 970px;
  }
}
@media (min-width: 1200px) {
  .container {
    width: 1170px;
  }
}

Web sayfasının görüntülendiği görünümün genişliğine bağlı olarak, containersınıf div'a belirli bir sabit genişlik verir. Bu çizgiler herhangi bir biçimde mevcut değildir container-fluid, bu nedenle görünüm alanı genişliği her değiştiğinde genişliği değişir.

Örneğin, tarayıcı pencerenizin 1000 piksel genişliğinde olduğunu varsayalım. Minimum genişliği 992 piksel olduğu için .container, öğeniz 970 piksel genişliğe sahip olacaktır. Daha sonra tarayıcı pencerenizi yavaşça genişletirsiniz. Aramalarınızdan genişliği .containersen 1200px gelinceye kadar değişmeyecektir, aynı tarihte geniş 1170px atlayacaktır ve daha büyük herhangi bir tarayıcı genişlikleri için bu şekilde kalmak.

Sizin .container-fluidtarayıcı genişliğine hatta en küçük değişiklik yaptıkça eleman, diğer taraftan, sürekli yeniden boyutlandırılır.


@jkillian Yani tam genişlikte bir düzen oluşturmak istersem, kullanmalıyım .container-fluidve .containerkutulu genişlik için doğru mu?
Hung PD

1
@TheHung 'tam genişlik' ile tam olarak ne kastettiğinize bağlı, ancak container-fluidsizin durumunuzda anlayabildiğim kadarıyla gideceğim şey
JKillian

@JKillian Günümüzde birçok tema gibi, her zaman 2 düzenleri var: Kutulu ve geniş düzen. Umarım ne açıkladığımı anlayabilirsin. Kötü ingilizce için üzgünüm.
Hung PD

@JKillian Bazı durumlarda .container ve .container-fluid kullanmaya ne dersiniz? Örn .: ( design.davidrozando.com/drew-html-v1.1/… ).
Brightweb

5
@JKillian Peki konteyner sıvısına neden ihtiyaç duyuluyor?

177

Sanırım bir containervs'nin container-fluidızgaraya yanıt veren ve yanıt vermeyen arasındaki fark olduğunu söylüyorsunuz . Bu doğru değil ... ne diyor genişlik sabit değil ... tam genişliği!

Bunu açıklamak zor, bu yüzden örneklere bakalım


Birinci örnek

container-fluid:

http://www.bootply.com/119981

Yani konteynerin tüm ekranı nasıl kapladığını görüyorsunuz ... bu bir container-fluid.

Şimdi diğerine normal bir şekilde bakalım containerve önizlemenin kenarlarını izleyelim

İkinci örnek

container

http://www.bootply.com/119982

Şimdi örnekteki beyaz boşluğu görüyor musunuz? Sabit genişliği olduğu için container! Her iki örneği de iki farklı sekmede açmak ve ileri geri gitmek daha mantıklı olabilir.

DÜZENLE

Daha da iyisi, her iki kapta da aynı anda bir örnek! Şimdi gerçekten farkı anlayabilirsiniz!

http://www.bootply.com/119983

Umarım bu biraz açıklığa kavuşmuştur!


her iki kap türüne sahip örnekte, her ikisinin de genişliğini değiştiren öğeler vardır.
ahnbizcad

6
Aradaki farkın ne olduğunu bile bildiğimde, gölgeleme nedeniyle "her ikisi de" örneğini kafa karıştırıcı buldum. Bazıları için daha açık bir örnek yapmak için kodunuzu çatalladım : bootply.com/119983 (Ayrıca, Bootstrap 3'te .row-akışkan gerekmez. Sadece konteynerinizin akışkan olup olmadığını .row kullanın.)
Carl Bussema

Carl, bağlantınız orijinaliyle aynı örneğe gidiyor. Çatallı versiyonunuz hala varsa, bağlantıyı gönderebilir misiniz?
Mike T

6
Gelecekte başka birinin buna girmesi durumunda, iyi bir çatal örnek bağlantısı .
Mike Collins

Teşekkürler Mike diğer tarayıcımda tam olarak aynı görünüyordu.
eric

169

Her ikisi de .containerve .container-fluidduyarlı (yani ekran genişliğine göre düzeni değiştirirler), ancak farklı şekillerde (biliyorum, adlandırma bu şekilde ses çıkarmıyor).

Kısa cevap:

.container gergin / dalgalı yeniden boyutlandırma ve

.container-fluid genişliğinde sürekli / ince boyutlandırma:% 100.

İşlevsel açıdan:

.container-fluidpencerenizin / tarayıcınızın genişliğini herhangi bir miktarda değiştirdiğinizde sürekli olarak yeniden boyutlandırılır ve nasıl yapılacağı .containergibi yanlarda fazladan boş alan bırakmaz. (Bu nedenle adlandırma: "dijital", "ayrık", "yığınlanmış" veya "niceliklendirilmiş" yerine "akışkan").

.containerbelirli genişliklerde parçalar halinde yeniden boyutlandırılır. Başka bir deyişle, farklı özel genişlikteki "sabit" genişlikler farklı ekran genişliği aralıkları olacaktır.

Anlambilim: "sabit genişlik"

Adlandırma karışıklığının nasıl ortaya çıkabileceğini görebilirsiniz. Teknik olarak, .container"sabit genişlik" diyebiliriz , ancak yalnızca her bir parçalı genişlikte yeniden boyutlandırılmaması açısından sabittir. Aslında her zaman belirli bir piksel genişliğinde kaldığı için "sabit" değildir, çünkü gerçekte boyutu değiştirebilir.

Temel bir bakış açısından:

.container-fluidCSS özelliğine sahiptir width: 100%;, bu nedenle her ekran genişliği ayrıntısında sürekli olarak yeniden ayarlar.

.container-fluid {
  width: 100%;
}

.container"genişlik = 800 piksel" (veya em, rem vb.), farklı ekran genişliklerinde belirli bir piksel genişliği değeri gibi bir şeye sahiptir. Bu, elbette, ekran genişliği bir ekran genişliği eşiğini geçtiğinde eleman genişliğinin aniden farklı bir genişliğe atlamasına neden olan şeydir. Ve bu eşik, ekran genişliği aralıkları gibi farklı koşullar için farklı stiller uygulamanıza izin veren CSS3 medya sorguları tarafından yönetilir.

@media screen and (max-width: 400px){
  .container {
    width: 123px;
  }
}
@media screen and (min-width: 401px) and (max-width: 800px){

  .container {
    width: 456px;
  }
}
@media screen and (min-width: 801px){
  .container {
    width: 789px;
  }
}

ötesinde

Sabit genişlikli .containeröğeleri, yalnızca öğeler değil, medya sorguları aracılığıyla da duyarlı hale getirebilirsiniz , çünkü medya sorguları .containerarka planda bootstrap tarafından tam olarak nasıl uygulanır (bkz. JKillian'ın kod cevabı).


1
.containerDuyarlı yerine Adaptive için daha doğru davranış değil mi?
ayjay

@ayjay iyi bir noktaya değindin. Sürekli yeniden boyutlandırmayı ve gergin boyutlandırmayı ayırt etmek için terimlere sahip olmak faydalı olacaktır.
ahnbizcad

1
@ayjay Adaptive, istemcinin bulunduğu aygıt türünü algılar ve işleri sunucu tarafında işler. Duyarlı, istemcinin hangi cihaz türünde olduğu umurumda değildir; yalnızca genişliğe önem verir (medya sorguları nedeniyle). Böylece, duyarlı istemci tarafı (css, javascript) oluşturulur. bkz. huffingtonpost.com/garrett-goodman/… ve amberweinberg.com/is-it-adaptive-or-responsive-web-design IMO'ya yanıt vermek, sitenizi farklı cihazlar için tamamen farklı sürümlere sahip olmaktan çok daha kolaydır. Ancak CSS'niz tüm tarayıcıları hesaba katmalıdır.
ahnbizcad

@ajay bu semantik adaptif vs duyarlı sorusunu tekrar gözden geçirir ... çünkü adaptif, cihazı algıladığı ve buna göre farklı html / css / js tükürdüğü anlamına gelir ... html / css / js'nin bir css stili içerebileceği düşünülebilir. genişliği:% 100;. ve her cihaz için olabilir. Böyle bir durumda, hepsi uyarlanabilir, ancak parçalarda aniden değil, sürekli olarak yeniden boyutlandırılır ... Bu nedenle, ona adaptif vs duyarlı olarak adlandırmak anlamsal olarak doğru değildir
ahnbizcad 29:05

24

.container-fluidSayfanızın görünüm alanı boyutundaki her küçük farkla şekil değiştirmesini istediğinizde kullanın .

.containerSayfanızın yalnızca "kesme noktası" olarak da bilinen 4 farklı boyuta geçmesini istediğinizde kullanın .

Boyutlarına karşılık gelen kesme noktaları şunlardır:

  • Çok Küçük: (Sadece Mobil Çözünürlük)
  • Küçük: 768 piksel (Tabletler)
  • Orta: 992 piksel (Dizüstü Bilgisayarlar)
  • Büyük: 1200 piksel (Dizüstü / Masaüstü Bilgisayarlar)

11

Güncelleme 2019

Temel fark , her zaman olduğu gibi containerduyarlı bir şekilde ölçeklendirilmesidir . Bu nedenle kök CSS tanımlarında aynı görünürler, ancak daha fazla bakarsanız bunun medya sorgularına bağlı olduğunu görürsünüz .container-fluidwidth:100%.container

Bootstrap 4

container5 genişlikleri vardır ...

.container {
  width: 100%;
}

@media (min-width: 576px) {
  .container {
    max-width: 540px;
  }
}

@media (min-width: 768px) {
  .container {
    max-width: 720px;
  }
}

@media (min-width: 992px) {
  .container {
    max-width: 960px;
  }
}

@media (min-width: 1200px) {
  .container {
    max-width: 1140px;
  }
}

Önyükleme 3

container4 boyutları vardır. xsEkranlarda tam genişlik ve daha sonra genişliği aşağıdaki medya sorgularına göre değişir.

    @media (min-width: 1200px) {
        .container {
            width: 1170px;
        }
    }
    @media (min-width: 992px) {
        .container {
            width: 970px;
        }
    }
    @media (min-width: 768px) {
        .container {
            width: 750px;
        }
    }

konteyner-konteyner-akışkan demosu


Bunun soru ile ilgisi yok. Güzel bilgi ama burada alakalı değil.
BeNice

Zim o arasındaki FARKI ne olduğunu soruyordu .container-fluidve .container. Aradığım bilgi buydu. Bilginiz ilginç ama cevabı aramaya geldiğimde, birkaç dakikalığına benden kafam karıştı. Listelenen SONRA listelenirse, bu soruya cevap veren harika olurdu, ancak SO kendi siparişimizi önermemize izin vermiyor gibi görünüyor. Ve orijinal yorumumu okurken olabildiğince net değildim. Anyhoo bilgi için teşekkürler.
BeNice

Kısacası, .containergenişliği medya sorgularına göre değiştirir ve .container-fluidgenişliği gerçek zamanlı olarak değiştirir (görünüm bağlantı noktası genişliğine göre)
Hassan Tareq

6

.containermaksimum genişlik piksel değerine sahipken .container-fluidmaksimum genişlik% 100'dür.

.container-fluid pencerenizin / tarayıcınızın genişliğini herhangi bir miktarda değiştirdikçe sürekli olarak yeniden boyutlandırılır.

.container medya sorguları tarafından kontrol edilen bazı belirli genişliklerde parçalar halinde yeniden boyutlandırılır (piksel değerleri belirtildiği için teknik olarak "sabit genişlik" diyebiliriz, ancak orada durursanız, insanlar boyutu değiştiremeyeceği izlenimini alabilir - yani yanıt vermeyebilir .)


Genel konteyner sıvısı daha iyi gibi görünüyor? Bugünlerde çok büyük bir şey olan cep telefonlarına daha duyarlı ...

5

Ekran perspektifinden bakıldığında .container, kullanıcıların gördükleri üzerinde daha fazla kontrol sahibi olursunuz ve boyutlar, ızgara boyutları ile aynı. örneğin .col-xs, .col-sm, .col, ve.col-lg .

Bunun anlamı, 4 farklı boyuta sahip bir ekran üzerinde test yaparsanız kullanıcı testi yaparken, tüm doğrulamaların ekranda görüntülendiğini gösterir.

Kullanırken .container-fluideninde ekrana genişliği görüntü alanına ilişkilidir çünkü varations beklemediğiniz sonuçlar görebilirsiniz çok büyük ekranlar veya nadir ekran genişliklerine sahip çok daha büyük ve kullanıcıları böylece dinamik vardır.


0

3.1. Konteyner-sıvı ve .container aynı haklısın ve konteyner gibi çalışır ama kaldırırsanız .container-sıvı (tam genişlik) gibi çalışır. "Mobil İlk Yaklaşım" için .container-fluid'i kaldırmışlardı, ancak şimdi 3.3.4'e geri döndü (ve farklı şekilde çalışacaklar)

En son bootstrap'ı almak için lütfen stackoverflow'daki bu yazıyı okuyun, kontrol etmenize yardımcı olacaktır .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.