Я создаю одностраничный веб-сайт в HTML5, используя Unsemantic framework, ссылаясь на скрытые divs, которые отображаются в Fancybox 2 и у меня возникли проблемы с правильной настройкой всех типов контента.
Существует три div - один из которых содержит текст внутри div, который завернут внутри скрытого div, поэтому я могу манипулировать соответствующим содержимым, содержащим галерею изображений, и один, содержащий ссылку на видео YouTube. Я создал скрытый класс, который я вызываю через CSS:
HTML для текстовой части:
<a class="fancybox" href="#bio">...blah blah blah...
...then later on...<article class="hidden" id="bio">
HTML для части видео:
<a class="fancybox fancybox.iframe" href="#" onclick="location.href='https://www.youtube.com/video'; return false;">Videos</a>
CSS
.hidden {
overflow:hidden;
display:none;
}
Fancybox вызывается внутри тегов <head>
:
<script type="text/javascript">
$(document).ready(function() {
$("#fancybox-gallery").click(function() {
$.fancybox.open([
{
href : "image_1.jpg",
}, {
href : "image_2.jpg",
}, {
href : "image_3.jpg"
}
], {
helpers : {
thumbs : {
width: 75,
height: 50
}
}
});
});
});
</script>
С настройками Fancybox 2 по умолчанию (autoSize:true
, autoWidth:false
и autoHeight:false
) размер изображений изменяется соответственно, соответственно изменяется размер видео, но текстовая ссылка по умолчанию имеет минимальную высоту и максимальную ширину:
Если я установил autoSize
и autoWidth
в значение False, то установите autoHeight
на значение True, изображения все равно изменяются таким же образом, текстовые поля изменяются до 50% окна браузера, а видео отображается с часть белого цвета с правой стороны:
Честно говоря, мне нравится размер текстовых полей в этом примере, и они действуют оперативно, но видео-бокс не так, так что это немного раздражает.
До сих пор я не пробовал следующее:
- Удаление
class="hidden"
и замена его встроенным"display:none"
script, а затемdisplay:inline-block
в CSS, по совету друга, но я понял, что это не сработает; - Предоставление скрытого текста div для настройки сетки в соответствии с остальной частью HTML, но это просто вызвало изменение размера div, а не Fancybox.
- Я могу установить статическую ширину, но она должна быть отзывчивой, поэтому это неприемлемо для моих нужд;
Итак, где я иду не так? Может ли ответ заключаться в установке autoSize:true
и добавлении em
или % width
в нужные ему div?
Я также думаю о вызове script при открытии, что влияет только на те div, которые мне нужны, но я не уверен, что это возможно. Я не являюсь пользователем JavaScript каждый день, поэтому мои знания плохие.