J'ai une idée géniale et puisque WordPress s'occupe déjà d'une partie du travail, j'ai juste besoin de trouver une bonne méthode pour que cela fonctionne.
Je travaille sur un projet qui doit être réactif à tous les appareils, qu'il s'agisse d'un PC de bureau ou d'un gadget mobile. Ainsi, je veux que les images soient également réactives, ce qui signifie que les appareils mobiles ne devraient pas charger des images de 50 Ko +.
Pour chaque page ou publication, je peux ajouter une image sélectionnée à l'aide de miniatures de publication qui, en taille réelle, l'image est d'environ 950 x 250 à ~ 60 Ko. Si je charge le site Web sur un iPhone / Android, je ne voudrais pas que l'image de ~ 60 Ko se charge, mais je voudrais plutôt que la petite vignette se charge à sa place.
La méthode par défaut pour les images réactives est de rendre la largeur de l'image à 100% du conteneur parent, ainsi elle se redimensionnera automatiquement si le conteneur parent est également redimensionné. Pas la meilleure méthode pour des images plus grandes.
J'ai pensé à essayer le script d'image réactif de Filament Group , mais je l'ai essayé et cela n'a pas fonctionné correctement. Un moyen d'y parvenir consiste à détecter les agents utilisateurs, mais je préfère ne pas utiliser cette méthode non plus, car les agents utilisateurs peuvent être usurpés.
Voici une autre méthode pour redimensionner des images à la volée , mais cela semble reproduire ce que WordPress a déjà fait.
S'il y a un moyen de le faire avec les images de la galerie multimédia que WordPress a par défaut, avec toutes les vignettes redimensionnées déjà créées, ce serait préférable.
la source
La meilleure façon est d'utiliser une grille fluide pour créer le thème WordPress et de supprimer les valeurs de largeur et de hauteur des images sélectionnées via une fonction de mise à l'échelle proportionnelle. Un tutoriel pour rendre les images WordPress réactives :
la source
Ce n'est pas une mauvaise méthode et est en fait la norme de l'industrie, un bon WURFL a une cote de très haute précision, ceux que j'ai utilisés et testés ont toujours donné des résultats solides et des tests indépendants (au-dessus de ce que je prendrais la peine de faire) semblent les avoir dans la gamme 98% +. Peu importe si un bot boiteux usurpe un agent utilisateur, il n'est de toute façon pas là pour une bonne raison.
Pour l'étape 2, je pense que l'une ou l'autre méthode se résume à laquelle est en fait plus rapide, une requête multimédia WURFL ou CSS soutenue par PHP.
la source
diplay:none;
. Les mises en page réactives efficaces ont tendance à être des conceptions minimales pour cette raison.Vous devez d'abord définir «le meilleur». Ma définition serait la suivante: restitue l'image avec l'effet prévu par le concepteur sur n'importe quel appareil ou écran restitue l'image avec la même qualité que l'original consomme le minimum absolu de ressources système et humaines (c.-à-d. Bande passante, CPU, temps concepteur / programmeur)
Voici les approches que j'ai vues jusqu'à présent:
Avantages: ne nécessite pratiquement aucun effort de mise en œuvre, compatible avec tous les navigateurs et pris en charge par les anciens navigateurs.
Inconvénients: télécharge souvent plus de données que nécessaire, puis passe des cycles CPU sur le client à les réduire (lent). Vous pouvez vous retrouver avec des images de très mauvaise qualité en fonction de l'algorithme de mise à l'échelle du navigateur. Aucune possibilité de direction artistique et impossible d'adapter l'image pour les affichages de type rétine.
Avantages: téléchargement plus rapide sur les appareils mobiles. Peut gérer les écrans de type rétine. Amélioration de la qualité de l'image car les images ont, espérons-le, été traitées à l'aide d'une méthode de haute qualité. La direction artistique devient possible.
Inconvénients: quelqu'un doit passer du temps à traiter, recadrer et gérer plusieurs versions de la même image. Plus de codage: vous devez maintenant épeler chaque version de l'image d'une certaine manière et créer des requêtes multimédias pour toutes les mises en page souhaitées. Répétez ce qui précède pour chaque image que vous servez. Ne fonctionnera que pour les navigateurs prenant en charge CSS3 Media Queries ou les nouvelles balises.
Avantages: Designer n'a pas à passer de temps à traiter des images et à gérer plusieurs versions. L'image à la taille optimale est envoyée à chaque fois. Peut gérer les affichages de type rétine et s'adapter dynamiquement à la direction artistique (bien qu'avec un effort supplémentaire - il faut savoir où se concentrer). Aucun balisage spécial ou supplémentaire requis (mise en garde ci-dessous). Compatible avec plusieurs navigateurs et fonctionnera pour les navigateurs plus anciens.
Inconvénients: devez capturer et transmettre des informations sur le navigateur du client et les propriétés de l'écran. La première fois qu'une image se charge peut être plus lente que dans toute autre approche car l'image doit être traitée (elle est généralement mise en cache pour les demandes ultérieures).
la source