2014-02-03 3 views
2

У меня есть div с максимальной высотой и изображение внутри него, которое должно использовать max-width: 100% и max-height: 100%. В хроме это работает, но firefox использует только max-width и игнорирует max-heigth.firefox css max-width и max-height внутри max-height div

div#overlaycontent{ 
    position:relative; 
    overflow:hidden; 
    height:100%; 
    overflow-y:auto; 
} 

div#pic{ 
    overflow:hidden; 
    position:relative; 
    box-sizing:border-box; 
    float:right; 
    width: -moz-calc(100% - 250px); 
    width: -webkit-calc(100% - 250px); 
    width: -o-calc(100% - 250px); 
    width: calc(100% - 250px); 
    max-height:90%; 
} 

img#zoompic{ 
    max-width:100%; 
    max-height:100%; 
    display:block; 
} 

Как я могу достичь того, что firefox будет использовать оба? max-width и max-height?

+0

здесь скрипка: http://jsfiddle.net/qx75g/ – haheute

+0

Аааа .... теперь я вижу , '' 'max-height''' недостаточно для firefox. Установите '' 'height''' и работает как ожидалось. Это потому, что только '' 'height''' внутренней вычисляет реальную высоту для' '' max-height''' изображения. http://jsfiddle.net/wd9rP/ – Eich

+0

Проблема в том, что ниже оранжевого div у меня есть комментарии. Поэтому, если изображение маленькое или окно браузера узкое (отзывчивое css), между изображением и комментариями пустое пространство. Вот почему я хотел использовать max-height .. :( – haheute

ответ

5

mozilla developer network описывает max-height с процентом следующим образом:

Процент рассчитывается по отношению к высоте содержащего блока генерируемого бокса. Если высота содержащего блока явно не указана (т. Е. Зависит от высоты содержимого), и этот элемент не является абсолютно позиционированным, процентное значение считается равным нулю.

Это описание также используется с height и процентами. Поэтому, если вы хотите использовать свойство max-height, вам нужно установить изображение или родительский контейнер в определенный размер пикселя. Возможно, если вы создадите JSFiddle с вашей проблемой, мы сможем показать вам другие решения без max-height.


EDIT // Теперь с данной JSFiddle, это рабочий пример http://jsfiddle.net/wd9rP/

+0

это также зафиксировало мою «проблему» в хроме 38. так спасибо :) – pkyeck

Смежные вопросы