2012-06-18 14 views
13

muszę to zrobić:Jak ukryć część obrazu?

jeśli obraz ma wysokość wyższy od 100px następnie ukryć resztę Obraz (przykład: zdjęcie z wysokości 80px -> pokazuje pełny obraz, obraz z wysokości 150px -> Pokaż tylko pierwsze 100px).

Czy można to zrobić za pomocą CSS?

Odpowiedz

17

Możesz użyć właściwości max-height, aby określić maksymalną wysokość obrazu, a następnie użyj overflow: hidden;, aby ukryć cokolwiek innego.

np.

HTML:

<div class="image-container"> 
    <img src="some-image.jpg" /> 
</div> 

CSS:

.image-container { 
    max-height:100px; 
    overflow:hidden; 
} 

JSFiddle Próbka: http://jsfiddle.net/3jA9q/

EDIT

dla programu Internet Explorer 6, można użyć CSS expressions naśladować someth podobne:

.image-container { 
    height:expression(this.scrollHeight<100?"auto":"100px"); 
    overflow:hidden; 
} 

Należy jednak pamiętać, że wymaga to włączenia w przeglądarce obsługi JavaScript. Moje doświadczenia z wyrażeń CSS były jednak dość słabe i najlepiej ich unikać.

+0

Maksymalna wysokość nie działa w przeglądarce Internet Explorer :( – xRobot

+2

@xRobot Zaczyna się od IE7 https: // programista .mozilla.org/pl/CSS/max-height # Kompatybilność z przeglądarkami –

+0

Jesteś jedyną alternatywą dla przeglądarki Internet Explorer 6 i wcześniejszą wersją byłoby użycie 'wysokości' jako @Jcubed .. –

3

Umieścić go w div o wysokości 100px i ustawić overflow: hidden;

6

Można to zrobić za pomocą combnation z max-height i overflow.

HTML:

<div> 
    <img> 
</div> 

CSS:

div{ 
    max-height:100px; 
    overflow:hidden; 
} 

Należy również pamiętać, że max-height nie działa w starszych przeglądarkach, ale jeśli stosowane normalne height następnie obrazy nigdy nie mógł być krótszy niż 100px albo.

+0

ale jeśli używam wysokości, obrazy o wysokości 50 pikseli będą zniekształcone. – xRobot

+0

Mówiłem o użyciu wysokości na div, a nie img. Obraz o wielkości 50 pikseli w dziale o wielkości 100 pikseli nie będzie zniekształcony, ale będzie miał po nim lukę 50 pikseli. –

+0

@xRobot - Powinny być w porządku, ponieważ ustawiasz rozmiar opakowania, a nie sam obraz. Będziesz jednak miał duże luki pod obrazem, co jest niepożądane, ale prawdopodobnie niepożądane w przypadku ... starszych przeglądarek. –

Powiązane problemy