Панель навигации CSS Tailwind

Несмотря ни на что, я не могу заставить эту навигационную панель правильно свернуться. Мне нужно изменить навигационную панель с гибкости в адаптивном режиме, но в настоящее время она не работает.

HTML:

 <nav class = "flex items-center justify-between flex-wrap bg-blue-darkest p-6 z-10">
    <div class = "flex items-center flex-no-shrink text-white mr-6">
      <svg class = "fill-current h-8 w-8 mr-2" width = "54" height = "54" viewBox = "0 0 54 54" xmlns = "http://www.w3.org/2000/svg">
        <path d = "M13.5 22.1c1.8-7.2 6.3-10.8 13.5-10.8 10.8 0 12.15 8.1 17.55 9.45 3.6.9 6.75-.45 9.45-4.05-1.8 7.2-6.3 10.8-13.5 10.8-10.8 0-12.15-8.1-17.55-9.45-3.6-.9-6.75.45-9.45 4.05zM0 38.3c1.8-7.2 6.3-10.8 13.5-10.8 10.8 0 12.15 8.1 17.55 9.45 3.6.9 6.75-.45 9.45-4.05-1.8 7.2-6.3 10.8-13.5 10.8-10.8 0-12.15-8.1-17.55-9.45-3.6-.9-6.75.45-9.45 4.05z"
        />
      </svg>
      <span class = "font-semibold text-xl tracking-tight">Tailwind CSS</span>
    </div>
    <div class = "block lg:hidden">
      <button class = "flex items-center px-3 py-2 border rounded text-white border-white hover:text-blue-darkest hover:bg-white"
        onclick = "myFunction()">
        <svg class = "fill-current h-3 w-3" viewBox = "0 0 20 20" xmlns = "http://www.w3.org/2000/svg">
          <title>Menu</title>
          <path d = "M0 3h20v2H0V3zm0 6h20v2H0V9zm0 6h20v2H0v-2z" />
        </svg>
      </button>
    </div>
    <div class = "w-full hidden lg:block flex-grow lg:flex lg:items-center lg:w-auto" id = "nav">
      <div class = "text-sm lg:flex-grow">
        <a href = "#responsive-header" class = "block mt-4 lg:inline-block lg:mt-0 text-teal-lighter hover:text-white mr-4">
          Docs
        </a>
        <a href = "#responsive-header" class = "block mt-4 lg:inline-block lg:mt-0 text-teal-lighter hover:text-white mr-4">
          Examples
        </a>
        <a href = "#responsive-header" class = "block mt-4 lg:inline-block lg:mt-0 text-teal-lighter hover:text-white">
          Blog
        </a>
      </div>
      <div>
        <a href = "#" class = "inline-block text-sm px-4 py-2 leading-none border rounded text-white border-white hover:border-transparent hover:text-teal hover:bg-white mt-4 lg:mt-0">Download</a>
      </div>
    </div>
  </nav>

Код JavaScript:

function myFunction() {
    var x = document.getElementById("nav");
    if (x.className === "hidden") {
        x.classList.toggle("hidden");
    } else {
        console.info("nav");
        x.className = "hidden";
    }
}

Как я могу исправить эту проблему?

Не могли бы вы предоставить сообщение об ошибке?

Shihe Zhang 03.07.2018 03:15
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
1
3 016
1

Ответы 1

Также вполне возможно использовать адаптивные модификаторы Tailwind CSS для отображаемых элементов.

Вы можете изменить классы элемента nav вместо просто flex на что-то вроде md:flex block или подобное. Правильное отображаемое значение и адаптивная утилита, которую вам нужно будет настроить на реальном сайте, конечно же, немного поэкспериментировать.

Цитата из вики Tailwind CSS гласит:

To control the display property of an element at a specific breakpoint, add a {screen}: prefix to any existing display utility class. For example, use md:inline-flex to apply the inline-flex utility at only medium screen sizes and above.

Вы можете прочитать больше в вики-странице Tailwind CSS.

В дополнение к этому, вот предложение: вы можете уменьшить свой myFunction до четырех строк кода. В настоящее время ваш оператор if-else просто выполняет то, что уже делает classList.toggle, но вручную. Если проверка была здесь, потому что вы хотели проверить, что вы получили правильный элемент, имейте в виду, что вам следует никогда, никогда не иметь несколько элементов с одним и тем же идентификатором на одной странице.

function myFunction() {
    var x = document.getElementById("nav");
    x.classList.toggle("hidden");
}

Другие вопросы по теме