Автоматическое изменение размера изображения в соответствии с Flex Slider
Я учусь, как использовать Flex Slider сделать слайдеры и карусели изображения. Однако Flex только кажется хорошим, когда все изображения имеют одинаковую ширину и высоту.
проблему можно увидеть на следующем веб-сайте:
https://dl.dropboxusercontent.com/u/785815/bastion/index.html
картинки довольно большие, поэтому, пожалуйста, будьте терпеливы во время загрузки.
мой тестовый сайт включает в себя несколько изображений, с различной шириной и высотой. Чтобы исправить это, я должен изменить их размер, чтобы иметь одинаковую ширину и высоту, а также центрировать их из-за соотношения ширины и высоты.
Итак, я хотел бы знать, если:
- есть ли способ для Flex Slider сделать это?
- есть ли способ сделать это без изменение кода библиотеки?
чтобы ответить на этот вопрос, я нашел следующее статьи:
- фиксированный размер Flexslider - это решение фактически обрезает все изображения до определенного размера, игнорирует соотношение ширины и высоты. Это также требует, чтобы я изменил саму библиотеку.
- сделайте гибкий трубопровод приспосабливать экран потребителей.. Независимо от того, какой размер экрана - Я действительно не понимаю, как это относится к Flex Slider: S
Я ценю любую помощь, Педро.
3 ответов
чтобы решить эту проблему, я использую CSS-самый быстрый и простой способ, который я думаю...
@media only screen and (max-width: 480px) {
#your_slider_id_or_image_id {width:000px;height:000px;}
}
@media only screen and (min-width: 480px) and (max-width: 768px) {
#your_slider_id_or_image_id {width:000px;height:000px;}
}
@media only screen and (min-width: 768px) and (max-width: 959px) {
#your_slider_id_or_image_id {width:000px;height:000px;}
}
@media only screen and (min-width: 959px) {
#your_slider_id_or_image_id {width:000px;height:000px;}
}
Ну, я потратил много времени на это, поэтому я мог бы попробовать в своем собственном вопросе. Я решаю эту проблему с css3:
@media only screen and (min-width: 959px) {
.img {
max-width: 50%;
max-height: 50%;
display: block;
margin-left: auto;
margin-right: auto;
}
}
в этом случае, если физический экран пользователя имел ширину > 959px (мой), это будет css, примененный ко всем изображениям. Следующий HTML иллюстрирует это:
<ul class="slides">
<li>
<img src="image/Bastion_Digital_Art_Pack_PNG/Bastion_0_Foreward.png" />
</li>
<li>
<img src="image/Bastion_Digital_Art_Pack_PNG/Bastion_1_Calamity.png" />
</li>
<li>
<img src="image/Bastion_Digital_Art_Pack_PNG/Bastion_1_CalamityKid.png" />
</li>
<li>
<img src="image/Bastion_Digital_Art_Pack_PNG/Bastion_1_ColdWarKid.png" />
</li>
<li>
<img src="image/Bastion_Digital_Art_Pack_PNG/Bastion_1_KidThinking.png" />
</li>
<li>
<img src="image/Bastion_Digital_Art_Pack_PNG/Bastion_1_KidVsScumbag.png" />
</li>
</ul>
</div>
это изменит размер всех изображений (игнорируя разницу в размере) до 50% от их исходного размера и будет центрироваться только по горизонтали. Оказывается, что центрировать их по вертикали и изменять их размер в зависимости от их t
в качестве альтернативы вы можете обрезать изображения, добавив следующие свойства существующие селекторы:
.flexslider .slides > li {
overflow:hidden;
position:relative;
height:400px; /* desired height here */
}
.flexslider .slides img {
height:auto;
}