Toate 3?: Redimensionarea responsivă a imaginilor + lățimea imaginii reale pentru imagini mici + lățime maximă pentru toate imaginile mai mari
Ceea ce doresc să obțin este ca imaginile să se redimensioneze responsiv - și pentru asta trebuie să setez 'width: 100%' - și în același timp să setez o lățime maximă pentru a nu avea imaginea la fel de lată ca și conținutul
Pentru a face asta folosesc:
img {
max-width: 100%;
height: auto;
width: 100%; /* pentru a face imaginea responsivă */
}
#content img {
max-width: 690px;
}
Apoi imaginea este responsivă - dar problema este că în cazul în care lățimea imaginii este mai mică de 690px, lățimea imaginii este prea mare!
Dacă folosesc doar acest cod:
img {
max-width: 100%;
height: auto;
}
Dimensiunea imaginii (lățime și înălțime) este corectă, dar imaginea nu este responsivă.
Cum pot obține toate cele trei?
- Redimensionare responsivă a dimensiunii imaginii
- Lățimea imaginii să fie cea reală în cazul în care lățimea reală a imaginii este mai mică de 690px
- Lățimea imaginii de 690px pentru toate imaginile mai mari
Aceasta este o imagine a cărei lățime reală este mai mică de 690px și unde puteți vedea problema.
Am venit cu un fel de soluție, dar deoarece este mai mult o soluție temporară decât o soluție propriu-zisă pentru problema specifică, o adaug aici.
Soluția alternativă este să folosesc un CSS diferit pentru dimensiuni mai mici ale ferestrei. Pentru ferestre mai mari, acest cod:
img {
max-width: 100%;
height: auto;
width: auto; /* Imaginea este făcută responsivă mai jos pentru ferestre mai mici (@ 800px) */
}
#content img {
max-width: 690px;
}
Și apoi pentru ferestre mai mici:
@media only screen and (max-width: 890px) {
img {
width: 90%; /* pentru a face imaginea responsivă */
}
}

Din linkul pe care l-ai oferit, proprietățile CSS aplicate acestei imagini sunt
#content img{ max-width:690px;}
img { width:100%;height:auto;}
De aceea imaginile mai mici se întind. Actualizează răspunsul cu:
img {
max-width: 100%;
height: auto;
width: auto; /* pentru a face imaginea responsive */
}
#content { max-width:690px;}
Verifică acest fiddle

Mulțumesc pentru răspuns! Nu este exact ceea ce am menționat eu ca soluție unde "dimensiunea imaginii este corectă, dar imaginea nu este responsive"? De ce funcționează pentru tine dar nu și pentru mine – există vreun alt aspect în CSS-ul meu care creează problema..?

1) tu primești imaginile ca fiind responsive, 2) când imaginea reală este mai mare de 690px, aceasta se reduce la 690px. Dar problema ta este că imaginile mai mici sunt întinse până la 690px.. am dreptate?? corectează-mă dacă greșesc..

Exact! Când o imagine este mai mică de 690px, aceasta se întinde până la 690px. (Ca cea pe care am dat link.) Nu știu cum să opresc imaginile mai mici să se întindă până la 690px.

Din păcate, această soluție nu funcționează. Dacă setezi width: auto;
atunci imaginea nu se mai redimensionează.

CSS-ul
Adaugă următorul cod în fișierul tău CSS. Asta va face imaginile scalabile în funcție de dimensiunea ecranului.
Evident, schimbă clasa dacă vrei să aplici doar pentru o clasă specifică de imagini
img{ max-width: 100%; }
img{ -ms-interpolation-mode: bicubic; }
Apoi trebuie să rulezi un filtru pentru a opri WordPress să adauge automat dimensiunile imaginilor pe care vrei să fie responsive.
function remove_wp_width_height($string){
return preg_replace('/\/i', '',$string);
}
Când ai nevoie să apelezi thumbnail-ul, în template-ul tău în loc să folosești the_post_thumbnail();
folosește noua ta funcție astfel:
echo remove_wp_width_height(get_the_post_thumbnail(get_the_ID(),'large'));

Cea mai simplă metodă este să păstrezi stilurile așa cum sunt acum. Doar limitează containerul folosind pixeli sau procente.
De exemplu: Dacă limitezi containerul la dimensiunea imaginii - imaginea ta se va întinde până acolo și nu mai departe.
Dacă dimensiunea imaginii tale este de 200px - atunci, vezi mai jos setarea finală a stilului.
#content {
max-width: 200px;
width: 100%;
}
img {
max-width: 100%;
height: auto;
width: 100%; /* pentru a face imaginea responsivă */
}
Pentru mai multe detalii - Crearea de imagini responsive
Mulțumesc!
Sumesh M.S

Ei bine, voi adăuga și eu părerea mea spunând că sunt un începător în utilizarea WordPress, în special pentru portofoliul meu. Am întâmpinat aceeași problemă cu imaginile responsive, unde în prototipul HTML/CSS imaginile, să zicem pentru un proiect din portofoliu, aveau dimensiuni precum "1000x650" și se scalau corespunzător. Totuși, în WordPress acest lucru nu a funcționat.
Așa că am căutat pe Google și am descoperit că soluția propusă inițial în această discuție chiar a funcționat pentru mine.
img {
max-width: 100%;
height: auto;
width: 100%; /* pentru a face imaginea responsive */
}
#content img {
max-width: 690px;
}
