Système de grille fluide ou fixe, au design réactif, basé sur Twitter Bootstrap

399

Je suis confus au sujet des différentes options de la grille d'amorçage Twitter et de la façon dont elles vont ensemble.

Pour commencer, vous pouvez avoir un fixe ordinaire container, ou un container-fluid.

Ensuite, l'un ou l'autre peut inclure soit une ligne ordinaire row, soit une ligne fluide row-fluid. Autrement dit, vous pouvez avoir un conteneur fixe avec une ligne de fluide, ou un conteneur-fluide ... avec une ligne fixe?

En plus de cela, vous pouvez inclure ou non les requêtes multimédias «réactives».

Je suis confus quant à la façon dont ces choses interagissent. Mais commençons par un exemple évident.

Sur la page d'exemples elle-même, il y a ce qui est présenté comme un exemple à la fois d'une grille fixe et d'une grille fluide

Cependant, dans mon navigateur, sur cette page d'exemple elle-même - les deux grilles se comportent de manière identique. Peut-être parce que la page d'exemple utilise les requêtes multimédias réactives facultatives? Dans les deux exemples de grille, si je commence à rétrécir progressivement la fenêtre de mon navigateur, les éléments de la grille ne deviennent pas progressivement plus étroits - une fois qu'une certaine largeur de limite (réactive) est atteinte, ils s'alignent sur une taille plus petite, et à nouveau à d'autres largeurs de limite. Mais à la fois l'exemple «fixe» ordinaire et l'exemple «fluide» se comportent exactement de la même manière ici - alors quelle est la différence?

jrochkind
la source
6
C'est peut - être un meilleur exemple du style de mise en page fluide?
Cody Gray

Réponses:

442

Lorsque vous décidez entre largeur fixe et largeur fluide, vous devez penser en termes de votre page ENTIÈRE. Généralement, vous voulez choisir l'un ou l'autre, mais pas les deux. Les exemples que vous avez énumérés dans votre question se trouvent en fait dans la même page à largeur fixe. En d'autres termes, la page Échafaudage utilise une disposition à largeur fixe. La grille fixe et la grille fluide sur la page Échafaudage ne sont pas censées être des exemples, mais plutôt la documentation pour implémenter des dispositions de largeur fixe et fluide.

L'exemple de largeur fixe approprié est ici . Le bon exemple de largeur de fluide est ici .

Lorsque vous observez l'exemple à largeur fixe, vous ne devriez pas voir le contenu changer de taille lorsque votre navigateur est supérieur à 960 px. Il s'agit de la largeur maximale (fixe) de la page. Les requêtes multimédias dans une conception à largeur fixe désigneront les largeurs minimales pour des styles particuliers. Vous le verrez en action lorsque vous réduisez la fenêtre de votre navigateur et que la mise en page s'accroche à une taille différente.

Inversement, la disposition de largeur fluide s'étirera toujours pour s'adapter à la fenêtre de votre navigateur, quelle que soit sa largeur. Les requêtes multimédias indiquent quand les styles changent, mais la largeur des conteneurs est toujours un pourcentage de la fenêtre de votre navigateur (plutôt qu'un nombre fixe de pixels).

Les requêtes multimédias «réactives» sont toutes prêtes à l'emploi. Il vous suffit de décider si vous souhaitez utiliser une mise en page à largeur fixe ou à largeur fluide pour votre page.

Auparavant, dans bootstrap 2, vous deviez utiliser à l' row-fluidintérieur d'un conteneur de fluide et à l' rowintérieur d'un conteneur fixe. Avec l'introduction du bootstrap 3, a row-fluidété supprimé, ne l'utilisez plus .

EDIT : Selon les commentaires, certains jsFiddles pour:

Ces violons sont totalement sans Bootstrap, basés sur des requêtes média CSS pures, ce qui en fait un bon point de départ pour quiconque souhaite créer une solution similaire sans utiliser Twitter Bootstrap.

eterps
la source
1
hmm, d'accord, les documents m'ont semblé suggérer que vous pourriez mélanger et faire correspondre fluide et fixe, mais je suppose que c'est une utilisation avancée pour laquelle je ne suis pas prêt. :) Je ne comprends toujours pas comment les responsivechangements sont respectivement fixes et fluides - vous pouvez utiliser réactif (ou non) à la fois fixe et fluide, non? Pouvez-vous expliquer comment les effets réactifs les affectent chacun?
jrochkind
8
la chose déroutante pour moi reste que l'exemple de la «bonne largeur fixe» change la taille des colonnes à mesure que la fenêtre du navigateur change (parce que c'est réactif?) Et il en va de même de l'exemple de la bonne largeur de fluide. Mais je suppose que l'exemple de la largeur de fluide le fait en continu, et l'exemple réactif à largeur fixe le fait-il en sauts discrets, tout en atteignant une taille maximale? Est-ce que c'est ça? Que diriez-vous de réactif fluide vs non réactif?
jrochkind
16
Vous l'avez. Dans la disposition à largeur fixe, les colonnes changent lorsque la fenêtre du navigateur atteint une largeur définie dans une requête multimédia. Ainsi, lorsque votre fenêtre dépasse 960 pixels de large, elle restera à sa largeur maximale. Ensuite, lorsque vous réduisez votre navigateur à 959 pixels, il s'alignera sur une nouvelle disposition basée sur une requête multimédia d'une largeur maximale de 768 pixels. Donc, comme vous visualisez une mise en page à largeur fixe, les colonnes ne changeront pas lorsque la largeur de votre navigateur est comprise entre 768 et 960.
eterps
3
Et lorsque vous affichez une mise en page fluide, la taille des colonnes change toujours pour correspondre à la largeur de votre navigateur. La disposition elle-même changera également en fonction des requêtes multimédias, comme avec une disposition à largeur fixe.
eterps
12
La chose la plus importante à retenir est que largeur fixe = pixels et largeur fluide = pourcentage. La réactivité provient de toutes les règles CSS fantaisistes définies dans bootstrap-responsive.css, et ces règles s'appliquent aux deux dispositions.
eterps
21

Discussion intéressante. Je me posais aussi cette question. La principale différence entre fluide et fixe est simplement que la mise en page fixe a une largeur fixe en termes de mise en page complète du site Web (fenêtre d'affichage). Si vous avez une fenêtre d'affichage d'une largeur de 960 pixels, chaque colonne a une largeur fixe qui ne changera jamais.

La disposition fluide se comporte différemment. Imaginez que vous avez défini la largeur de votre mise en page principale à 100% de largeur. Désormais, chaque colonne ne sera calculée qu'à sa taille relative (c'est-à-dire 25%) et s'étire lorsque le navigateur sera redimensionné. Ainsi, en fonction de votre objectif de mise en page, vous pouvez sélectionner le comportement de votre mise en page.

Voici un bon article sur le fluide contre le flex .

Piscine
la source
7

Source - http://coding.smashingmagazine.com/2009/06/02/fixed-vs-fluid-vs-elastic-layout-whats-the-right-one-for-you/

Avantages

  • Les dispositions à largeur fixe sont beaucoup plus faciles à utiliser et à personnaliser en termes de conception.
  • Les largeurs sont les mêmes pour tous les navigateurs, il y a donc moins de soucis avec les images, les formulaires, les vidéos et autres contenus à largeur fixe.
  • Il n'y a pas besoin de largeur minimale ou maximale, ce qui n'est pas pris en charge par tous les navigateurs de toute façon.
  • Même si un site Web est conçu pour être compatible avec la plus petite résolution d'écran, 800 × 600, le contenu sera toujours assez large à une résolution plus grande pour être facilement lisible.

Les inconvénients

  • Une disposition à largeur fixe peut créer un espace blanc excessif pour les utilisateurs avec des résolutions d'écran plus grandes, bouleversant ainsi la «proportion divine», la «règle des tiers», l'équilibre général et d'autres principes de conception.
  • Les résolutions d'écran plus petites peuvent nécessiter une barre de défilement horizontale, selon la largeur de la disposition fixe.
  • Des textures, des motifs et une continuation d'image sans couture sont nécessaires pour s'adapter à ceux qui ont des résolutions plus grandes.
  • Les mises en page à largeur fixe ont généralement un score global inférieur en termes de convivialité.
Thilanka De Silva
la source
6

Disposition fluide dans Bootstrap 3.

Contrairement à Boostrap 2, Bootstrap 3 n'a pas de mixin .container-fluid pour faire un conteneur de fluide. Le .container est une disposition de grille sensible à largeur fixe. Sur un grand écran, il y a des espaces blancs excessifs des deux côtés du contenu de la page Web.

container-fluid est ajouté dans Bootstrap 3.1

Une disposition de grille fluide utilise toute la largeur de l'écran et fonctionne mieux sur grand écran. Il s'avère qu'il est facile de créer une disposition de grille fluide à l'aide de mixins Bootstrap 3. La ligne suivante crée une disposition de grille réactive fluide:

.container-fixed;

Le mixin fixé par .container place le contenu au centre de l'écran et ajoute des rembourrages. Il ne spécifie pas une largeur de page fixe.

Une autre approche consiste à utiliser le style CSS d'Eric Flowers

.my-fluid-container {
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
}
Ying
la source
2
Je ne comprends pas pourquoi les gens continuent de dire que le «conteneur-fluide» n'est pas pris en charge dans Bootstrap 3, alors qu'il l'est. Je viens de vérifier et dans Bootstrap 3.1.0, il est clairement défini.
Bart
10
C'est parce qu'il a été supprimé en 3 ajouté en 3.1 .
Steve Klösters
-2

vous pouvez utiliser ceci - https://github.com/chanakyachatterjee/JSLightGrid ..JSLightGrid. jetez un oeil .. J'ai trouvé celui-ci vraiment très utile. Bonnes performances, très léger, tous importants pour le navigateur et fluides en soi, vous n'avez donc pas vraiment besoin de bootstrap pour la grille.

passionné
la source
1
Bien que ce lien puisse répondre à la question, il est préférable d'inclure les parties essentielles de la réponse ici et de fournir le lien de référence. Les réponses de lien uniquement peuvent devenir invalides si la page liée change. - De l'avis
piet.t
Je suis d'accord .. mais ce n'est pas une référence à la réponse, c'est un lien vers le plugin, où les fichiers peuvent être téléchargés, je suppose que je ne peux pas joindre de fichiers avec la réponse ici ..
passionné