2017-01-23 2 views
0

Я искал несколько предложенных вопросов, которые возникли при вводе этого текста, но я не смог найти ответ на свою проблему.Откуда этот стиль?

Я использую Uikit V2, и у меня есть div с липким компонентом. Здесь:

<div class="uk-sticky" data-uk-sticky id="nvbr"> 
       <nav class="uk-navbar-center"> 
        <a class="uk-button" href="#pg5"><h3>Contact</h3></a> 
        <a class="uk-button" href="#pg6"><h3>AboutUs</h3></a> 
        <a class="uk-button" href="#pg3"<h3>Services</h3></a> 
       </nav> 
      </div> 

Это прекрасно работает на весь экран, но при изменении размера на маленьком экране, бар становится очень широким. Я открываю затем в инспекторе в Chrome, и я получаю эту строку:

<div class="uk-sticky-placeholder" style="height: 123px; margin:0px;"> 

Где это было бы в моем коде, и как я могу это исправить? Я посмотрел в Uikit и Uikit.js.

(я должен отметить, что, когда я в инспекторе, если я изменю, что 123px сказать 10px, она выглядит хорошо.)

Спасибо всем.

+3

Установить точку останова при изменении атрибута элемента. Затем измените размер экрана, и он должен вызвать точку останова. Затем вы сможете найти код, который делает изменение стиля в трассировке стека. – Barmar

+1

Мое предположение - это * Uikit * не предназначен для обработки динамического изменения размера экрана. Вероятно, он вычисляет измерения только один раз, при загрузке страницы. Попробуйте установить размер экрана и его перезагрузку. – Phil

+0

Это может быть несвязано, но ваша разметка имеет синтаксическую ошибку. ваш третий якорный тег отсутствует '' 'справа от' '# pg3" ' –

ответ

0

Я думаю, что он просто подсчитывает высоту на основе свернутых элементов в окне просмотра.

https://github.com/uikit/uikit/blob/v2/develop/src/js/components/sticky.js#L286

То, что я сделал бы, если бы я был на вашем месте, я бы скрыть NavBar элементы на небольших устройствах с условными классами и подготовить меню холста (смотрите внутри docs).

Или попробуйте взять контроль над своим собственным сценарием js.