2015-05-22 3 views
3

У меня есть сайт с каруселью slick.js в нем. Я заметил белый промежуток на стороне страницы, когда веб-сайт просматривается на устройствах с экранами размером менее 770 пикселей.Белый зазор на стороне страницы в мобильном

The white gap is on the right side.

После некоторого тестирования я заметил, что если я удалю slick.js с веб-сайта, белый зазор исчезает.
Сначала я думал, что содержание слайдов вызывает его, но я уменьшил каждый слайд всего на пару слов, и есть еще белый пробел.

Вот HTML:

<div class="m-carousel" dir="rtl"> 
    <div class="slide">Test Slide</div> 
    <div class="slide">Test Slide</div> 
    <div class="slide">Test Slide</div> 
    <div class="slide">Test Slide</div> 
</div> 

И Javascript (после загрузки страницы):

$('.m-carousel').slick({ 
    dots: true, 
    rtl: true 
}); 

CSS-(относительно ползуна):

// slick slider styling 
.slick-dots li button:before { 
    font-size: 9px; 
} 

.slick-dots li.slick-active button:before { 
    color: accent; 
} 

На мобильных устройствах, то страница перемещается из стороны в сторону (когда это не так), раскрывая и скрывая этот пробел. Это очень раздражает.

Я попытался установить overflow-x: hidden на тело, но это вызывает множество проблем с навигацией и общей прокруткой веб-сайта.

+1

Не могли бы вы добавить свой css тоже? Или даже построить кодекс или скрипку? – NominalAeon

+0

@NominalAeon Я добавил CSS-стиль слайдера. Я не думаю, что скрипка хорошо покажет эту проблему, но я попробую. – Gofilord

+0

Нет, это нормально, я просто хотел, чтобы css, но я надеялся, что вы используете больше на вашем конце. У вас нет стилей, применяемых к контейнеру, который вы используете? – NominalAeon

ответ

3

Мне потребовалось много времени, чтобы понять это, но я, наконец, сделал.
Проблема была в стрелках. Кажется, что когда вы ставите бутстрап и slick.js вместе, на ширине экрана ниже 767 пикселей, нет стрелок, и есть белый необъяснимый пробел.

Чтобы решить эту проблему, все, что я должен был сделать отключить стрелки в JavaScript:

$('.m-carousel').slick({ 
    arrows: false 
}); 

Вы можете посмотреть демо, показывающее белый зазор here.

Большое спасибо NominalAeon за постоянную помощь и поддержку.

+0

ugh. Настолько рад, что ты это понял, так разочарован, что я об этом не думал. Спасибо за внимание! – NominalAeon

+0

@gofilord Спасибо за ответ, спас много часов, я полагаю. – nrvnm

0

Я думаю, что ваша проблема переполнена. Возможно, вы смогли сохранить свои стрелки и сменить переполнение на скрытое.