Comment organioser les fichiers CSS pour le responsive

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Comment organioser les fichiers CSS pour le responsive

    Salut

    Je doit améliorer l'affichage responsive pour le site de notre asso et j'aimerais avoir votre avis pour comment organiser les fichiers LESS et CSS pour le responsive (j'utilise Helix3). J'ai commencé et j'ai créé un fichier responsive-perso.less (j'ai, en plus, bien sur, le fichier custom.less). Dans ce fichier responsive-perso.less j'ai mis les media pour chacun des écrans :
    Code:
    @media (max-width:980px) {}
    
    @media (max-width:800px) {}
    
    @media (max-width:768px) {}
    
    @media (max-width:360px) {}
    
    @media (max-width:320px) {}
    Mais je me suis demandé si ça serait pas mieux de mettre chacun des medias dans un seul fichier. Par exemple, faire un fichier responsive-980.less avec uniquement le media @media (max-width:980px) {}.

    Merci pour vos retours.

  • #2
    Re : Comment organioser les fichiers CSS pour le responsive

    Bonjour,


    Envoyé par itsas-arima Voir le message
    [...] je me suis demandé si ça serait pas mieux de mettre chacun des medias dans un seul fichier. Par exemple, faire un fichier responsive-980.less avec uniquement le media @media (max-width:980px) {}.
    Si je comprends bien, il s'agirait d'utiliser des fichiers destinés à contrôler l'affichage selon les différentes largeurs d'écran. A mon avis, ce n'est pas du tout une bonne idée, car chaque page devrait alors charger de nombreuses feuilles de style, ce qui aura surtout pour effet de ralentir le site.

    NB : votre exemple est encore assez simple, avec « seulement » 5 feuilles de style :

    @media (max-width:980px) {}

    @media (max-width:800px) {}

    @media (max-width:768px) {}

    @media (max-width:360px) {}

    @media (max-width:320px) {}
    ...mais il est assez probable que vous aurez aussi besoin d'autres styles pour, par exemple :

    @media (min-width:1280px) {}
    @media (min-width:1025px) {}
    @media screen and (min-width: 980px) and (max-width: 1024px) {}
    @media screen and (min-width: 768px) and (max-width: 979px) {}
    @media screen and (min-width: 768px) {}
    @media screen and (max-width: 639px) {}
    @media screen and (min-width: 360px) and (max-width: 767px) {}

    etc.

    Chaque page devra donc charger non plus 1 feuille de style, non plus 5, mais 10 ou 15 mini feuilles de style .


    => A votre place, je n'appliquerais pas cette méthode.
    Créateur de sites internet — Agence web indépendante http://www.e-33.fr | http://www.quali-site.fr (région de Bordeaux)

    Commentaire


    • #3
      Re : Comment organioser les fichiers CSS pour le responsive

      Envoyé par PhilJ Voir le message
      Bonjour,
      A mon avis, ce n'est pas du tout une bonne idée, car chaque page devrait alors charger de nombreuses feuilles de style, ce qui aura surtout pour effet de ralentir le site.
      Envoyé par PhilJ Voir le message
      Bonjour,
      ...mais il est assez probable que vous aurez aussi besoin d'autres styles pour, par exemple :

      @media (min-width:1280px) {}
      @media (min-width:1025px) {}
      @media screen and (min-width: 980px) and (max-width: 1024px) {}
      @media screen and (min-width: 768px) and (max-width: 979px) {}
      @media screen and (min-width: 768px) {}
      @media screen and (max-width: 639px) {}
      @media screen and (min-width: 360px) and (max-width: 767px) {}

      etc.

      Chaque page devra donc charger non plus 1 feuille de style, non plus 5, mais 10 ou 15 mini feuilles de style .
      C'est vrais qu'il y a de grande chance, qu'avec le temps, je rajoute des medias. Je vais plutôt utiliser la méthode de départ et régler de manière a ce qu'il soit inséré dans la fichier custom.css (avec le code du fichier custom.less).

      Merci pour ton éclaircissement

      Commentaire


      • #4
        Re : Comment organioser les fichiers CSS pour le responsive

        Bonjour,


        Une confirmation de l'inadaptation de la méthode évoquée : il est possible d'indiquer une largeur (minimum et / ou maximum) dans une instruction link dans l'en-tête (= entre <head> et </head>) du document, comme : <link rel="stylesheet" media="screen and (max-width: 640px)" href="smallscreen.css" />.

        Cela paraît une bonne idée... SAUF QUE :

        1 – Ce procédé implique de modifier le template, ce qui n'est pas vraiment souhaitable, ou alors de mettre en œuvre un plugin injectant lesdites instructions à la volée.

        2 – Le procédé n'empêchera probablement pas d'utiliser une feuille de style de surcharge pour les styles communs aux différentes largeurs (= styles applicables quelle que soit la largeur d'écran).

        3 – Et surtout : « Les feuilles de styles ayant des media queries dans leur balisage <link> seront téléchargées, même si leur media query est fausse [...]. » (https://developer.mozilla.org/fr/doc..._Media_queries). Autrement dit, de telles instructions link, bien que ciblant des propriétés spécifiques des périphériques d'affichage, seront toutes chargées même si elles ne sont pas appliquées :-\

        Donc : morceler les media queries en plusieurs feuilles de style CSS n'est définitivement pas une idée à retenir.



        Bonne fin de we,
        Créateur de sites internet — Agence web indépendante http://www.e-33.fr | http://www.quali-site.fr (région de Bordeaux)

        Commentaire


        • #5
          Re : Comment organioser les fichiers CSS pour le responsive

          Bonsoir,

          Vous pouvez aussi profiter d'une évolution de LESS depuis la version 1.4.0

          Au lieu de coder :
          Code:
          .foo { color: red; }
            @media (max-width:960px) {.foo {color: blue;} }
            @media (max-width:640px) {.foo {color: green;} }
          }
          Vous pouvez mettre
          Code:
          .foo {
            color: red;
            @media (max-width:960px) {color: blue;}
            @media (max-width:640px) {color: green;}
          }
          Cela permet de coder toutes les variantes d'un cas au même endroit. Il est beaucoup plus facile de se relire.

          Vous pouvez même définir des variables pour les différents cas, ce qui donne :
          Code:
          @mobile: ~"only screen and (max-width: 640px)";
          @tablet: ~"only screen and (max-width: 960px)";
          .foo {
            color: red;
            @media @mobile{color: green;}
            @media @tablet{color: blue;}
          }
          Beaucoup plus facile à relire et cela permet d'adapter facilement les breakpoints
          UP, le plugin universel à découvrir sur https//up.lomart.fr
          bgMax
          , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

          Commentaire

          Annonce

          Réduire
          Aucune annonce pour le moment.

          Partenaire de l'association

          Réduire

          Hébergeur Web PlanetHoster
          Travaille ...
          X