Tous les 3 ?: Redimensionnement réactif des images + largeur d'image de l'image réelle pour les petites images + largeur maximale pour toutes les images plus grandes
-
-
`.container {largeurmax: 900px;} img {largeurmax: 100%;largeurmin: 100%;largeur: auto;} ``.container { max-width: 900px; } img { max-width: 100%; min-width: 100%; width: auto; }`
- 0
- 2014-07-17
- gmazzap
-
4 réponses
- votes
-
- 2014-07-18
Le CSS
Ajoutez le code suivant à votrefichier CSS.Cela rendra lesimages évolutivesen fonction de lataille de l'écran.
Changez évidemment labalise de classe si vous souhaitez configurer uniquementpour une classe d'image spécifique
img{ max-width: 100%; }
img{ -ms-interpolation-mode: bicubic; }
Ensuite,vous devezexécuter unfiltrepourempêcher que wordpress ajoute automatiquement des dimensions d'image auximages que vous souhaitez réactives.
function remove_wp_width_height($string){ return preg_replace('/\/i', '',$string); }
Ensuite,lorsque vous avezbesoin d'appeler la vignette dans votremodèle au lieu d'utiliser
the_post_thumbnail();
utilisez votrenouvellefonction comme ceciecho remove_wp_width_height(get_the_post_thumbnail(get_the_ID(),'large'));
The CSS
Add the following code to your CSS file. That will make the images scalable according to screen size.
Obviously change the class tag if you want to set up just for a specific image class
img{ max-width: 100%; }
img{ -ms-interpolation-mode: bicubic; }
Then you need to run a filter to stop wordpress automatically adding image dimensions to the images you want responsive.
function remove_wp_width_height($string){ return preg_replace('/\/i', '',$string); }
Then when you need to call the thumbnail so in your template instead of using
the_post_thumbnail();
use your new function like thisecho remove_wp_width_height(get_the_post_thumbnail(get_the_ID(),'large'));
-
Certains des commentaires sous l'article semblent suggérer que si lesimages sonttroppetites,ellesne s'ajusterontpas,nousespérons donc résoudre votreproblème degarder lesimagespluspetitesnon étirées.Some of the comments below the article seem to suggest that if the images are too small it won't adjust so will hopefully solve your issue of keeping smaller images unstretched
- 0
- 2014-07-18
- Bysander
-
- 2014-07-17
Àpartir du lien que vous avez donné lespropriétés css s'appliquant à cetteimageest
#content img{ max-width:690px;} img { width:100%;height:auto;}
C'estpourquoi lesimagespluspetites s'étirent également.mettez àjour votre réponse comme suit:
img { max-width: 100%; height: auto; width: auto; /* to make the image responsive */ } #content { max-width:690px;}
vérifiez ce violon
From the link that you given the css properties applying to that image is
#content img{ max-width:690px;} img { width:100%;height:auto;}
Thats why it smaller images are also stretching. update your answer as:
img { max-width: 100%; height: auto; width: auto; /* to make the image responsive */ } #content { max-width:690px;}
check this fiddle
-
Mercipour votre réponse!N'est-cepasexactement ce quej'aimentionné commema solution où "lataille de l'imageest correcte,mais l'imagen'estpas réactive"?Pourquoi celafonctionne-t-ilpour vousmaispaspourmoi alors - y a-t-il un autre aspect demon css qui legâche ..?Thanks for your reply! Isn't this exactly what I mentioned as my solution where "the image size are right, but the image is not responsive"? Why is it working for you but not for me then – is there some other aspect of my css that messes it up..?
- 0
- 2014-07-17
- user2656065
-
1) vous obtenez lesimages comme réactives,2) lorsque l'image réelleest supérieure à 690,elle se réduit à 690px.mais votreproblèmeest que vosimagespluspetites sont également étirées à 690px .. ai-je raison??Corrigemoi sije metrompe..1) you are getting the images as responsive,2) when actual image is greater than 690 it reduces to 690px. but your problem is your smaller images are also streches to 690px.. am i right?? correct me if i'm wrong..
- 0
- 2014-07-17
- Zammuuz
-
Exactement!Lorsqu'uneimageestinférieure à 690px,elle s'étendjusqu'à 690px.(Comme celui auquelj'ai lié.) Jene saispas commentempêcher lespetitesimages de s'étirer à 690px.Exactly! When an image is smaller than 690px it streches to 690px. (Like the one that I linked to.) I don't know how to stop the smaller images from stretching to 690px.
- 0
- 2014-07-17
- user2656065
-
ok .. regardema réponsemise àjourok..look my updated answer
- 0
- 2014-07-17
- Zammuuz
-
Malheureusement çane fonctionnepas.Si vous définissez `width: auto;` alors l'imagene se redimensionneraplus.Unfortunately this does not work. If you set `width: auto;` then the image does not resize anymore.
- 0
- 2014-07-17
- user2656065
-
@ user2656065: vous devez supprimer cetteimage de #content@user2656065: u need to remove that img from #content
- 0
- 2014-07-17
- Zammuuz
-
- 2014-08-18
Lemoyen leplus simpleest de conserver vos stylestels qu'ils sont actuellement.Limitez simplement votre conteneuren utilisant unpixel ou unpourcentage.
Parexemple: Si vous limitez votretaille à votreimage,votreimage s'étirerajusque làjusque làet pasplus loin.
Si lataille de votreimageest de 200pixels,voyez ci-dessous votreensemble de stylesfinal.
#content { largeurmaximale: 200px; largeur: 100%; } img { largeurmax: 100%; hauteur: auto; largeur: 100%;/*pour rendre l'image responsive */ }
Voirpourplus de détails - Créer desimages responsives
Merci!
Sumesh M.SThe simplest way is to keep you styles as it is now. Just limit your container using pixel or percentage.
For example: If you limit your to your image size - your image will stretch until there until there and not further.
If you image size is 200px - then, see below for your final style set.
#content { max-width: 200px; width: 100%; } img { max-width: 100%; height: auto; width: 100%; /* to make the image responsive */ }
See for more details - Making responsive images
Thanks!
Sumesh M.S -
- 2015-01-12
Etbien j'ajoutemapièceen disant queje suis un utilisateur débutant de wordpress,et enparticulierpourmonportfolio.J'ai lemêmeproblème d'image responsive,où dans leprototype HTML/CSS lesimages disent que lemorceau deportfolio était comme "1000x650"et il a étémis à l'échelle.Cependant,dans wordpress celan'apasfonctionné.
J'ai donc cherché sur Googleet j'aitrouvé que l'affiche originale de cenuméro fonctionnait pourmoi.
img { max-width: 100%; height: auto; width: 100%; /* to make the image responsive */ } #content img { max-width: 690px; }
Well I add my piece by saying that I'm a beginning wordpress user, and for particularly my portfolio. I have the same responsive image issue, where in the HTML/CSS prototype images say like portfolio piece was like "1000x650" and it scaled. However, in wordpress that didn't work.
So I googled and found the original poster of this issue actually worked for me.
img { max-width: 100%; height: auto; width: 100%; /* to make the image responsive */ } #content img { max-width: 690px; }
-
Avez-vous vu (etessayé) le commentaire de @ G.M.sur la questioninitiale?Have you seen (and tried) the comment by @G.M. on the original question?
- 0
- 2015-01-12
- kaiser
Ce queje souhaite,c'est que lesimages soient redimensionnées demanière réactive -et pour cela,je dois définir «largeur: 100%» -et enmêmetemps définir une largeurmaximalepourne pas avoir l'image aussi large que le contenu
Pour cefaire,j'utilise:
Ensuite,l'imageest réactive -mais leproblèmeest que si la largeur de l'imageestinférieure à 690px,la largeur de l'imageesttropgrande!
Sije n'utilise que ceci:
Lataille de l'image (largeuret hauteur)est correcte,mais l'imagene répondpas.
Comment atteindre lestrois?
Ceciest uneimage dont la largeur réelle de l'imageestinférieure à 690pxet où vouspouvez voir leproblème .
J'aitrouvé une sorte de solution,mais commeil s'agitplus de contournement que de solution appropriée auproblème spécifique,je l'ajouteici.
La solution de contournement consiste à utiliser un css différentpour lesfenêtres depluspetite taille. Pour lesfenêtresplusgrandes:
Etpuispour lespetitesfenêtres: