Na mojej stronie chciałbym wyświetlić zdjęcia przesłane przez użytkownika w nowym oknie o określonym rozmiarze ( width: 600px
). Problem w tym, że obrazy mogą być duże. Więc jeśli są większe niż te 600px
, chciałbym zmienić ich rozmiar, zachowując proporcje.
Wypróbowałem max-width
właściwość CSS, ale to nie działa: rozmiar obrazu się nie zmienia.
Czy jest jakiś sposób na rozwiązanie tego problemu?
HTML :
<div id="ImageContainerr">
<img src="DisplayImage.do?ad_id=${requestScope.advert.id}" class="Image" />
</div>
CSS :
img.Image { max-width: 100%;}
div#ImageContainer { width: 600px; }
Próbowałem też ustawić max-width: 600px
obraz, ale nie działa. Obraz jest przesyłany strumieniowo z serwletu (jest przechowywany poza folderem webapps serwera Tomcat).
html
css
image
image-resizing
user1315305
źródło
źródło
max-width
, nie ustawiajmax-height
i powinno działać. Jeśli nie, opublikuj swój kod, aby inni mogli Ci pomóc w wykryciu problemu.id
tutaj nie pasuje do CSS. Jak napisano (20151201), pytanie to sprowadza się do „selektorów CSS, które nie pasują do żadnego obiektu DOM, nie wpływają na wygląd”. ; ^) (Nie mogę się domyślić, czy lepiej byłoby edytować pytanie, aby zapytać, co sugeruje jego tytuł, czy nie ...)Odpowiedzi:
Możesz napisać tak:
img{ width:100%; max-width:600px; }
Sprawdź to http://jsfiddle.net/ErNeT/
źródło
Widzę, że to nie zostało odebrane jako ostateczne.
Widzę, że maksymalna szerokość wynosi 100%, a szerokość 600. Odwróć te.
Prosty sposób to również:
<img src="image.png" style="max-width:600px;width:100%">
Używam tego często, a wtedy możesz kontrolować również poszczególne obrazy i nie mieć tego na wszystkich tagach img. Możesz CSS to również jak poniżej.
.image600{ width:100%; max-width:600px; } <img src="image.png" class="image600">
źródło
Problem polega na tym, że tag img jest elementem wbudowanym i nie można ograniczyć szerokości elementu śródliniowego.
Aby ograniczyć szerokość znacznika img, najpierw musisz przekonwertować go na element inline-block
img.Image{ display: inline-block; }
źródło
Biorąc pod uwagę szerokość twojego kontenera 600px.
Jeśli chcesz, aby zmieściły się tylko większe obrazy, dodaj: CSS:
#ImageContainer img { max-width: 600px; }
Jeśli chcesz, aby WSZYSTKIE obrazy zajmowały dostępne (600 pikseli) miejsce:
#ImageContainer img { width: 600px; }
źródło
Spróbuj tego
div#ImageContainer { width: 600px; } #ImageContainer img{ max-width: 600px}
źródło
Twój css jest prawie poprawny. Po prostu brakuje ci
display: block;
w obrazie css. Również jedna literówka w Twoim identyfikatorze. Powinno być<div id="ImageContainer">
img.Image { max-width: 100%; display: block; } div#ImageContainer { width: 600px; }
<div id="ImageContainer"> <img src="http://placehold.it/1000x600" class="Image"> </div>
źródło