Я рассматриваю использование Flexslider на своем веб-сайте и видел реализацию на другом сайте, которая, на мой взгляд, невероятно интересна. Он изменяет размеры div пропорционально изображениям в качестве фоновых изображений (устанавливаемых с помощью встроенных стилей CSS), а также подписи и ссылки на соответствующий пост внутри div-контейнера. Что-то типа:
<ul class="flexslider">
<li class="slide" style="background-image: url(MY_IMAGE);">
<h1>Post heading</h1>
<p>Post extract</p>
<a href="#">Link</a>
</li>
<li class="slide" style="background-image: url(MY_IMAGE);">
<h1>Post heading</h1>
<p>Post extract</p>
<a href="#">Link</a>
</li>
<li class="slide" style="background-image: url(MY_IMAGE);">
<h1>Post heading</h1>
<p>Post extract</p>
<a href="#">Link</a>
</li>
<li class="slide" style="background-image: url(MY_IMAGE);">
<h1>Post heading</h1>
<p>Post extract</p>
<a href="#">Link</a>
</li>
<li class="slide" style="background-image: url(MY_IMAGE);">
<h1>Post heading</h1>
<p>Post extract</p>
<a href="#">Link</a>
</li>
</ul>
ПРИМЕЧАНИЕ. Не точный код.
Каждый <li>
имеет максимальную высоту 600 пикселей и устанавливается с помощью атрибута max-height
CSS. Ширина каждого <li>
составляет 100%, и при изменении размера окна слайд остается пропорциональным. Однако к тому времени, когда контейнер достигает ширины примерно 1100 пикселей, он достигает максимальной высоты 600 пикселей, а затем, поскольку ширина продолжает увеличиваться, чтобы заполнить окно, высота контейнера остается сильный> на 600px. Как только ширина станет меньше 1100 пикселей, высота изменится пропорционально, как и раньше.
Я знаю, как заставить слайды изменяться пропорционально (однако, используя padding-bottom), но я не могу найти способ поставить этот колпачок на место по высоте (очевидно, потому что я использую отступы, а не размеры ). Может ли кто-нибудь посоветовать? Это возможно только в JavaScript или это можно сделать и в чистом CSS?