Динамическое изменение размера изображения с помощью CSS "max-height:100%" не работает в Firefox и IE с фиксированным верхним / нижним колонтитулом

У меня куча проблем с изображениями, которые вообще не меняют размеры в Firefox или IE. Я создал портфолио фотографий с боковой прокруткой с фиксированным верхним и нижним колонтитулами и попытался заставить изображения занимать оставшуюся часть содержимого между ними. Я разместил их в виде встроенного списка, чтобы фотографии прокручивались вбок, и все это прекрасно работает в Chrome, но в Firefox или IE размеры изображений совсем не меняются. Я пробовал кучу разных вещей, ни одна из которых не сработала. Я попытался установить максимальную высоту, высоту:calc() и так далее.

Вот живая версия.

Я использую следующий код:

CSS

.header {
    position: fixed;
    top: 0;
    left: 0;
    height: 110px;
    width: 100%;
    background-color: #fff;
    z-index:9;
}
.photocontainer{
    position: relative;
    display:inline-block;
    float:left;
    top:110px;
    max-height:calc(100% - 155px);
    max-height:-webkit-calc(100% - 155px);
    max-height:-moz-calc(100% - 155px);
    max-height:-ms-calc(100% - 155px);
    max-height:-o-calc(100% - 155px);
    height:auto;
    margin:0px;
    padding:0px;
    left:0px;
    bottom:0px;
    white-space: nowrap;
}
ul.photolistul {
    display:inline-block;
    height:auto;
    max-height:calc(100% - 155px);
    list-style:none;
    /*overflow:scroll;
    overflow-x:hidden;
    overflow-y:hidden;*/
    white-space: nowrap;
    padding:0px;
    margin:0px;
}
li.photolistli { display:inline-block; margin:0px;}
img.photo {
    margin-top:0px;
    display:inline-block;
    height:auto;
    max-height:-webkit-calc(100% - 155px);
    max-height:-moz-calc(100% - 155px);
    max-height:-ms-calc(100% - 155px);
    max-height:-o-calc(100% - 155px);
    width:auto;
    max-width:100%;
    margin-left:110px;

}
.photocount {
    position:fixed;
    bottom:0px;
    left:0px;
    height:35px;
    width:100%;
    background-color:#FFFFFF;
}

HTML

<div style="max-height:100%">
<div class="header">
    <div class="header-navbar">
        TEXT GOES HERE
    </div>
</div>
<div class="photocontainer">
<ul class="photolistul">
    <li class="photolistli"><img class="photo" src="photo1.jpg" alt="" /></li>
    <li class="photolistli"><img class="photo" src="photo2.jpg" alt="" /></li>
    <li class="photolistli"><img class="photo" src="photo3.jpg" alt="" /></li>
    <li class="photolistli"><img class="photo" src="photo4.jpg" alt="" /></li>
    <li class="photolistli"><img class="photo" src="photo5.jpg" alt="" /></li>
    <li class="photolistli"><img class="photo" src="photo6.jpg" alt="" /></li>
    <li class="photolistli"><img class="photo" src="photo7.jpg" alt="" /></li>    
</ul>
</div>
<div class="photocount">
<p class="smalltype" style="margin-left:25px;">:: TEXT GOES HERE ::</p>
</div>

Моя цель состоит в том, чтобы уменьшить изображение до размеров окна браузера. Опять же, код отлично работает в Chrome, но внезапно перестает работать в IE и Firefox. Конечно, самое простое решение - установить все фотографии на одинаковую высоту (маленький экран ноутбука, примерно 500 пикселей в высоту?), Но я хочу, чтобы это было отзывчивым и показывать фотографии в максимально возможном формате, не разбивая экран по вертикали.

1 ответ

Просто добавь overflow-x:auto в

.photocontainer{
    position: relative;
    display:inline-block;
    float:left;
    top:110px;
    max-height:calc(100% - 155px);
    max-height:-webkit-calc(100% - 155px);
    max-height:-moz-calc(100% - 155px);
    max-height:-ms-calc(100% - 155px);
    max-height:-o-calc(100% - 155px);
    height:auto;
    margin:0px;
    padding:0px;
    left:0px;
    bottom:0px;
    white-space: nowrap;
    overflow-x:auto;
}

Я проверил ваш live version в inspect element и работает отлично

Другие вопросы по тегам