Comment Doit-CSS3 Media Queries-elle être Gérée?
Car il existe de nombreuses façons de mettre en œuvre CSS3 Media Queries dans un site web, je voudrais savoir celui qui est recommandé par les plus expérimentés, concepteurs de sites web. Je peux penser à un couple:
1. Le tout dans une feuille de style
Il y a un style par défaut qui s'applique à toutes les largeurs d'écran, et les demandes des médias qui s'appliquent seulement à la diminution des largeurs d'écran et remplacer la valeur par défaut, tous dans un fichier. Par exemple:
HTML
<link rel="stylesheet" href="main.css">
principal.css
article
{
width: 1000px;
}
@media only screen and (max-width: 1000px)
{
article
{
width: 700px;
}
}
(veuillez garder à l'esprit que c'est juste un exemple)
Pour:
- Style par défaut s'applique pour les anciens navigateurs
- Une seule requête HTTP requis
Contre:
- Devient malpropre avec beaucoup de code
- Certains navigateurs devront code de téléchargement qu'ils ne s'appliquent pas
2. Séparer Les Feuilles De Style
Il existe des feuilles de style contenant le code complet sur mesure pour chaque largeur de l'écran. Les navigateurs ne charge que celui qui s'applique. Par exemple:
HTML
<link rel="stylesheet" href="large-screen.css" media="screen and (min-width: 1001px)"> /*Also older browsers*/
<link rel="stylesheet" href="small-screen.css" media="only screen and (max-width: 1000px)">
grand écran.css
article
{
width: 1000px;
}
le petit écran.css
article
{
width: 700px;
}
Pour:
- Propre et bien organisé
- Une seule requête HTTP requis
- Navigateurs charger uniquement ce dont ils ont besoin
Contre:
- (C'est pourquoi j'hésite à utiliser ce:) Quand on fait un changement qui s'applique à toutes les largeurs d'écran, le changement doit être copié et collé dans les points appropriés dans toutes les feuilles de style.
3. Séparer les feuilles de style, une feuille de style
Le même que le n ° 1, mais le style global et les media queries sont situés dans des feuilles de style. Par exemple:
HTML
<link rel="stylesheet" href="main.css">
<link rel="stylesheet" href="small-screen.css" media="only screen and (max-width: 1300px)">
principal.css
article
{
width: 1000px;
}
le petit écran.css
article
{
width: 700px;
}
Pour:
- Aussi soignée et gérable
- N'ont pas de problème de n ° 2 lors de la prise de changements globaux
- De style Global s'applique aux navigateurs plus anciens
Contre:
- Un écran de plus petite largeur de 2 requêtes HTTP
C'est tout ce que je peux penser. Comment devrait requêtes de média-elle être gérée?
Merci pour les réponses.
- Je suis partie à l' #3. Si vous utilisez les mêmes styles, il semble quelque peu redondant de les avoir énumérés quelques feuilles de style. Je pense que #1 peut être abandonné assez facilement, parce que l'un des principaux points d'écrans médiatiques est de permettre aux utilisateurs de charger uniquement ce dont ils ont besoin pour.
- Mais le numéro 1 serait encore de se charger plus vite que le #3 sur les petits écrans, et juste un peu plus lent sur de plus grands écrans...
- #2 "une Seule requête HTTP requis" "Navigateurs charger uniquement ce dont ils ont besoin", malheureusement ce n'est pas le cas, il va télécharger de toute façon.
- Est-ce vrai? Mais je comprends pourquoi ils le feraient: dans le cas où la fenêtre est redimensionnée.
Vous devez vous connecter pour publier un commentaire.
Bien, je ne peux certainement pas la prétention d'être une autorité en la matière (je suis encore à apprendre sur les conventions de codage de moi-même), mais je penche vers l'option #1 - une seule feuille de style. Je pense à une mise en œuvre spécifique de, bien que. Au lieu d'avoir un seul point de rupture pour chaque cas de la taille de l'écran vous avez besoin de nouveaux styles pour, je vous suggère de multiples points de rupture - un pour les styles CSS de chaque module où plusieurs tailles d'écran doivent être abordées.
Ah...qui aurait pu être un peu déroutant déclaration. Un exemple est en ordre...
Plutôt que quelque chose comme:
Je vous suggère de l'option n ° 1, juste en œuvre de la manière suivante:
(Toutes les classes sont des espaces réservés. Je ne suis pas très créative...)
Si cela signifie que vous allez faire la même requête de média déclaration à plusieurs reprises (conduisant à un peu plus de code), c'est beaucoup plus pratique pour l'expérimentation des modules simples, qui ensemble aider à la maintenance de votre site comme il est plus grand. Essayez d'ajouter plusieurs styles, plusieurs tags/classes/id est pour l'exemple que j'ai donné, et peut-être ajouter un peu plus d'espace à eux, et vous verrez bientôt voir comment beaucoup plus rapide, il est d'affiner et modifier/ajouter des styles (dans toutes les tailles d'écran) dans la mise en œuvre montré par la deuxième partie de l'exemple.
Et j'ai de crédit cette réponse tout à fait complètement à l'information à partir de Évolutive et Modulaire de l'Architecture pour CSS, par Jonathan Snook. (Après tout, il n'y a aucun moyen qu'un débutant comme moi serait d'être en mesure de comprendre et de raisonner une réponse comme ça par moi-même!) Comme la cité de l'une des nombreuses parties pertinentes de ce livre,
Si, par préférence personnelle ou autre, vous préférez ne pas utiliser cette approche, ensuite, vous êtes libre d'aller avec les autres options vous propose, après tout, Snook dit lui-même que son livre est plus un guide de style de cadre rigide", afin de ne pas se sentir comme ce est une norme de codage. (Bien que je sente qu'il devrait être. XD)
Je crois en "mettant le code là où vous l'attendez". Si un style de besoins à prendre en compte, je veux que mon code qui annule pour être au plus près le style par défaut, donc dans le même document. De cette façon, un an à partir de maintenant, je vais tout de même savoir ce qui se passe quand je regarde le code. Dans l'autre approche (fichier css séparé par un point d'arrêt), j'aurai besoin de rappeler à goo de regarder pour prendre en compte les styles de code dans un fichier séparé. Pas un problème, sauf si j'oublie, je l'ai fait de cette façon un an à partir de maintenant. Suppose que c'est à la préférence personnelle, et le navigateur ne prend pas soins de.
Si vous souhaitez utiliser la 2ème option, il y a un moyen d'éviter de "copier-coller" le mondial des styles que vous avez besoin pour votre mobile et desktop versions du site qui est veeeeeery à portée de main et vous aide à garder tout plus organisé, à mon avis, et c'est à l'aide de SASS.
Vous pourriez avoir quelque chose comme ça:
compiler en
Espère que vous la trouverez utile ^^