JSFiddle - React, Tailwind, and code Playground

HTML

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <link rel="stylesheet" href="style.css">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title></title>
  </head>
  <body>
        <script src="scrips.js"></script>
    <div class="wrapper">
      <header class="header">
        <head class="header_container">
          <a href="#"class="logo"></a>
          <div class="header_menu menu">
            <div class="menu_icon">
              <span></span>
            </div>
            <nav class="menu_body">
              <ul class="menu_list">
                <li><a href="#"class="menu_link">Раздел 1</a></li>
                <li><a href="#"class="menu_link">Раздел 2</a></li>
                <li><a href="#"class="menu_link">Раздел 2</a></li>
                <li><a href="#"class="menu_link">Страница 1</a>
                  <span class="menu_arrow"></span>
                  <ul class="menu_sub-list">
                    <li><a href="#"class="menu_sub-link">hi</a></li>
                    <li><a href="#"class="menu_sub-link">hello</a></li>
                    <li><a href="#"class="menu_sub-link">hey</a></li>
                  </ul>
                </li>
              </ul>
            </nav>
          </div>
        </head>

      </header>
      <main class="page">
        <section class="page_saction">
          <h1>qqqqqqqqqqqqqqqqqqqqqqq</h1>
        </section>

      </main>

    </div>




  </body>
</html>

CSS

body {
  padding: 0;
  margin: 0;
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  color: #000;
  -webkit-font-smoothing: antialiased;
  background-color: #F8F8F8;
}

*,
*:before,
*:after {
  box-sizing: border-box;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
}

p {
  margin: 0;
  padding: 0;
}

hr {
  margin: 0;
  padding: 0;
}

ul,
li {
  display: block;
  padding: 0;
  margin: 0;
}

a {
  text-decoration: none;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
  background-color: #246;
}
.header_container {
  max-width: 1200px;
  margin: 0px auto;
  display: flex;
  padding: 0px 30px;
  align-items: center;
  justify-content: space-between;
  min-height: 70px;
}
.logo {
  border-radius: 50%;
  background-color: #fff;
  position: relative;
  z-index: 5;
  width: 40px;
  height: 40px;
}
.header_menu {

}
.menu {

}
.menu_icon {

}
.menu_body {

}

.menu_list {

}
.menu_list > li {
  position: relative;
  margin: 0px 0px 0px 20px;
}

.menu_link {
  color: #fff;
  font-size: 18px;
}
.menu_link:hover{
  text-decoration: underline;
}

.menu_sub-list {
  position: absolute;
  top: 100%;
  right: 0;
  background-color: #000;
  padding: 15px;
  min-width: 200px;

}
.menu_sub-list li {
  margin: 0px 0px 10px 0px;
}
.menu_sub-list li:last-child {
  margin: 0;
}

.menu_sub-link {
  color: #fff;
}
.menu_sub-link:hover{
  text-decoration: underline;
}
.menu_arrow {
  display: none;;
}
/* --------------------------- */
body._pc .menu_list > li:hover .menu_sub-list {
  opacity: 1;
  visibility: visible;
  transform: translate(0px, 0px);
  pointer-events: all;
}

body._touch .menu_list > li {
  display: flex;
  align-items: center;
}
body._touch .menu_link {
  flex: 1 1 auto;
}
body._touch .menu_arrow {
  display: block;
  width: 0;
  height: 0;
  margin: 0px 0px 0px 5px;
  transition: transform 0.3s ease 0s;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 10px solid...

JavaScript

"use strict"

var isMobile = {
    Android: function () {
        return navigator.userAgent.match(/Android/i);
    },
    BlackBerry: function () {
        return navigator.userAgent.match(/BlackBerry/i);
    },
    iOS: function () {
        return navigator.userAgent.match(/iPhone|iPad|iPod/i);
    },
    Opera: function () {
        return navigator.userAgent.match(/Opera Mini/i);
    },
    Windows: function () {
        return navigator.userAgent.match(/IEMobile/i);
    },
    any: function () {
        return (
                isMobile.Android()
                || isMobile.BlackBerry()
                || isMobile.iOS()
                || isMobile.Opera()
                || isMobile.Windows()
                );
    }
};

if (isMobile.any()) {
  document.body.classList.add('_touch');

  let menuArrows = document.querySelectorAll('.menu_arrow');
  if (menuArrows.length > 0) {
    for (let index = 0; index < menuArrows.length; index++) {
      const menuArrow = menuArrows[index];
      menuArrow.addEventListener("click", function (e) {
        menuArrow.parentElement.classList.toggle('_active');
      });
    }
  }

} else {
  document.body.classList.add('_pc');
}