Как отлаживать нежелательные отзывчивые точки останова?
в настоящее время я использую Bootstrap 4 alpha 4.
Я купил сайт, который я начал изучать и изменять. У меня особенно странная проблема, которая, как я предполагаю, должна быть связана с медиа-запросами. Первоначальные разработчики отказались исправить проблему.
когда я посещаю веб-сайт и изменяю ширину окна просмотра в любом месте между 992px и 1008px (оба inc.) части веб-сайта исчезают, потому что эта отзывчивая точка останова не определена в пределах установленного Классы начальной загрузки. Я протестировал это с помощью последних браузеров Chrome и FF.
кто-нибудь знает, как я мог бы отладить эту вещь?
Я пробовал искать значения 992
и 1008
а также +/- 1 в файлах CSS, но 1008
значение нигде не найдено (во всем проекте!) и 992
значение используется обычно в таблице стилей AFAIK.
вы можете увидеть этот вопрос видео здесь. При изменении размера браузера ширина между 992px и 1008px логотип исчезнет.
2 ответов
проблема заключается в полосе прокрутки.
1008px-992px=16px //the scrollbar dimension
на самом деле, если вы добавите overflow: hidden
свойства HTML
- тег, все будет правильно работать.
ваш медиа-запрос и javascript не рассчитывают одинаковую ширину (один с и другой без полосы прокрутки).
вот пример JSFiddle проблемы.
отладка сайта, JS (minified) и функция(часть ее):
/ prestashop/PRS01/PRS0100014/темы/cenzo/активы/js / тема.js
//.........FOLLOW THIS LINE............................................................................_____HERE______
u.default.responsive = u.default.responsive || {}, u.default.responsive.current_width = (0, s.default)(window).width(), u.default.responsive.min_width = 992, u.default.responsive.mobile = u.default.responsive.current_width < u.default.responsive.min_width, (0, s.default)(window).on("resize", function() {
var e = u.default.responsive.current_width,
t = u.default.responsive.min_width,
n = (0, s.default)(window).width(),
i = e >= t && n < t || e < t && n >= t;
u.default.responsive.current_width = n, u.default.responsive.mobile = u.default.responsive.current_width < u.default.responsive.min_width, i && o()
}), (0, s.default)(document).ready(function() {
u.default.responsive.mobile && o()
})
когда видовое окно 1007 в u.default.responsive.current_width
вы можете увидеть 991
u.default.responsive.min_width
составляет 992
условие u.default.responsive.current_width < u.default.responsive.min_width
true и
похоже, что контейнер, в котором находится логотип имеет max-width в размере меньше чем минимальная ширина, необходимая для его активности.
попробуйте изменить это (тема.css, строка 703-719):
@media (min-width: 768px) {
.container {
max-width: 720px;
}
}
@media (min-width: 992px) {
.container {
max-width: 940px;
}
}
@media (min-width: 1200px) {
.container {
max-width: 1024px;
padding-left:0;
padding-right:0;
}
}
для этого:
@media (min-width: 768px) {
.container {
max-width: 768px;
}
}
@media (min-width: 992px) {
.container {
max-width: 992px;
}
}
@media (min-width: 1200px) {
.container {
max-width: 1200px;
padding-left:0;
padding-right:0;
}
}
тогда логотип всегда виден.