JSFiddle - React, Tailwind, and code Playground

by isherwood

HTML

<nav class="navbar navbar-default navbar-static white">
  <div class="container">
    <div class="navbar-header">
      <button class="navbar-toggle" type="button" data-toggle="collapse" data-target=".js-navbar-collapse">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a href="" class="logo"> <img src="http://placehold.it/80x50" alt="10plus"> </a>
    </div>
    <div class="collapse navbar-collapse js-navbar-collapse">
      <div class="pull-right">
        <ul class="nav navbar-nav">
          <li class="dropdown dropdown-large">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Cursuri elevi <b class="caret"></b></a>
            <ul class="dropdown-menu dropdown-menu-large row">
              <li class="col-sm-4">
                <ul>
                  <li class="dropdown-header">Glyphicons</li>
                  <li><a href="#">Available glyphs</a></li>
                  <li class="disabled"><a href="#">How to use</a></li>
                  <li><a href="#">Examples</a></li>
                  <li class="divider"></li>
                  <li class="dropdown-header">Dropdowns</li>
                  <li><a href="#">Example</a></li>
                  <li><a href="#">Aligninment options</a></li>
                  <li><a href="#">Headers</a></li>
                  <li><a href="#">Disabled menu items</a></li>
                </ul>
              </li>
              <li class="col-sm-4">
                <ul>
                  <li class="dropdown-header">Button groups</li>
                  <li><a href="#">Basic example</a></li>
                  <li><a href="#">Button toolbar</a></li>
                  <li><a href="#">Sizing</a></li>
                  <li><a href="#">Nesting</a></li>
                  <li><a href="#">Vertical variation</a></li>
                  <li class="divider"></li>
                 ...

CSS

/* Optional theme */

@import url('//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css');
.dropdown-large {
  position: static !important;
}

.dropdown-menu-large {
  padding: 20px 0px;
  width: 500px;
}

.dropdown-menu-large > li > ul {
  padding: 0;
  margin: 0;
}

.dropdown-menu-large > li > ul > li {
  list-style: none;
}

.dropdown-menu-large > li > ul > li > a {
  display: block;
  padding: 3px 20px;
  clear: both;
  font-weight: normal;
  line-height: 1.428571429;
  color: #333333;
  white-space: normal;
}

.dropdown-menu-large > li ul > li > a:hover,
.dropdown-menu-large > li ul > li > a:focus {
  text-decoration: none;
  color: #262626;
  background-color: #f5f5f5;
}

.dropdown-menu-large .disabled > a,
.dropdown-menu-large .disabled > a:hover,
.dropdown-menu-large .disabled > a:focus {
  color: #999999;
}

.dropdown-menu-large .disabled > a:hover,
.dropdown-menu-large .disabled > a:focus {
  text-decoration: none;
  background-color: transparent;
  background-image: none;
  filter: progid: DXImageTransform.Microsoft.gradient(enabled=false);
  cursor: not-allowed;
}

.dropdown-menu-large .dropdown-header {
  color: #428bca;
  font-size: 18px;
}

@media (max-width: 768px) {
  .dropdown-menu-large {
    margin-left: 0;
    margin-right: 0;
  }
  .dropdown-menu-large > li {
    margin-bottom: 30px;
  }
  .dropdown-menu-large > li:last-child {
    margin-bottom: 0;
  }
  .dropdown-menu-large .dropdown-header {
    padding: 3px 15px !important;
  }
}

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0px;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 160px;
  padding: 5px 0px;
  margin: 0;
  font-size: 14px;
  text-align: left;
  list-style: outside none none;
  background-color: #FFF;
  background-clip: padding-box;
  border: none;
  border-radius: 0px;
  box-shadow: none;
  width: 100%;
}

.navbar-default .navbar-nav > li > a {
  color: #000;
  font-size: 18px;
  margin-right: 30px;
  margin-top: 2px;
}

.navbar-default...

JavaScript

/**
 * bootstrap.js v3.0.0 by @fat and @mdo
 * Copyright 2013 Twitter Inc.
 * http://www.apache.org/licenses/LICENSE-2.0
 */
if (!jQuery) throw new Error("Bootstrap requires jQuery"); + function(a) {
  "use strict";

  function b() {
    var a = document.createElement("bootstrap"),
      b = {
        WebkitTransition: "webkitTransitionEnd",
        MozTransition: "transitionend",
        OTransition: "oTransitionEnd otransitionend",
        transition: "transitionend"
      };
    for (var c in b)
      if (void 0 !== a.style[c]) return {
        end: b[c]
      }
  }
  a.fn.emulateTransitionEnd = function(b) {
    var c = !1,
      d = this;
    a(this).one(a.support.transition.end, function() {
      c = !0
    });
    var e = function() {
      c || a(d).trigger(a.support.transition.end)
    };
    return setTimeout(e, b), this
  }, a(function() {
    a.support.transition = b()
  })
}(window.jQuery), + function(a) {
  "use strict";
  var b = '[data-dismiss="alert"]',
    c = function(c) {
      a(c).on("click", b, this.close)
    };
  c.prototype.close = function(b) {
    function c() {
      f.trigger("closed.bs.alert").remove()
    }
    var d = a(this),
      e = d.attr("data-target");
    e || (e = d.attr("href"), e = e && e.replace(/.*(?=#[^\s]*$)/, ""));
    var f = a(e);
    b && b.preventDefault(), f.length || (f = d.hasClass("alert") ? d : d.parent()), f.trigger(b = a.Event("close.bs.alert")), b.isDefaultPrevented() || (f.removeClass("in"), a.support.transition && f.hasClass("fade") ? f.one(a.support.transition.end, c).emulateTransitionEnd(150) : c())
  };
  var d = a.fn.alert;
  a.fn.alert = function(b) {
    return this.each(function() {
      var d = a(this),
        e = d.data("bs.alert");
      e || d.data("bs.alert", e = new c(this)), "string" == typeof b && e[b].call(d)
    })
  }, a.fn.alert.Constructor = c, a.fn.alert.noConflict = function() {
    return a.fn.alert = d, this
  }, a(document).on("click.bs.alert.data-api", b,...