"Bootstrap 4 accordion dropdown menu snippets"
Bootstrap 4.1.1 Snippet by techadmin

<link href="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css"> <script src="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <!------ Include the above in your HEAD tag ----------> <div class="container"> <ul id="accordion" class="accordion"> <li> <div class="link"><i class="fa fa-laptop"></i>Laptops<i class="fa fa-chevron-down"></i></div> <ul class="submenu"> <li><a href="#">Dell Acron</a></li> <li><a href="#">HP Envy</a></li> <li><a href="#">Macbook Air</a></li> </ul> </li> <li> <div class="link"><i class="fa fa-tv"></i>Smart TV<i class="fa fa-chevron-down"></i></div> <ul class="submenu"> <li><a href="#">Sony Bravia</a></li> <li><a href="#">Samsung</a></li> <li><a href="#">MI</a></li> </ul> </li> <li> <div class="link"><i class="fa fa-mobile"></i>Mobiles<i class="fa fa-chevron-down"></i></div> <ul class="submenu"> <li><a href="#">Samsung S9</a></li> <li><a href="#">Apple X</a></li> <li><a href="#">Honor Play</a></li> </ul> </li> <li> <div class="link"><i class="fa fa-globe"></i>Search Engines<i class="fa fa-chevron-down"></i></div> <ul class="submenu"> <li><a href="#">Google</a></li> <li><a href="#">Bing</a></li> <li><a href="#">Yahoo</a></li> </ul> </li> </ul> </div> <a target="_blank" href="https://gosnippets.com" class="white-mode">MORE</a>
* { margin: 0; padding: 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box } .container { margin-top: 150px } body { background: #005C97; background: -webkit-linear-gradient(left, #363795, #005C97); background: -moz-linear-gradient(left, #363795, #005C97); background: -o-linear-gradient(left, #363795, #005C97); background: linear-gradient(to right, #363795, #005C97); font-family: 'Open Sans', Arial, Helvetica, Sans-serif, Verdana, Tahoma } ul { list-style-type: none } a { color: #b63b4d; text-decoration: none } .accordion { width: 100%; max-width: 584px; margin: 30px auto 20px; background: #FFF; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 5px } .accordion .link { cursor: pointer; display: block; padding: 15px 15px 15px 42px; color: #4D4D4D; font-size: 14px; font-weight: 700; border-bottom: 1px solid #CCC; position: relative; -webkit-transition: all 0.4s ease; -o-transition: all 0.4s ease; transition: all 0.4s ease } .accordion li:last-child .link { border-bottom: 0 } .accordion li i { position: absolute; top: 16px; left: 12px; font-size: 18px; color: #595959; -webkit-transition: all 0.4s ease; -o-transition: all 0.4s ease; transition: all 0.4s ease } .accordion li i.fa-chevron-down { right: 12px; left: auto; font-size: 16px } .accordion li.open .link { color: #AA00FF } .accordion li.open i { color: #AA00FF } .accordion li.open i.fa-chevron-down { -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); -o-transform: rotate(180deg); transform: rotate(180deg) } .submenu { display: none; background: #444359; font-size: 14px } .submenu li { border-bottom: 1px solid #4b4a5e } .submenu a { display: block; text-decoration: none; color: #d9d9d9; padding: 12px; padding-left: 42px; -webkit-transition: all 0.25s ease; -o-transition: all 0.25s ease; transition: all 0.25s ease } .submenu a:hover { background: #b63b4d; color: #FFF } .white-mode { text-decoration: none; padding: 17px 40px; background-color: yellow; border-radius: 3px; color: black; transition: .35s ease-in-out; position: absolute; left: 15px; bottom: 15px }
$(function() { var Accordion = function(el, multiple) { this.el = el || {}; this.multiple = multiple || false; var links = this.el.find('.link'); links.on('click', {el: this.el, multiple: this.multiple}, this.dropdown) } Accordion.prototype.dropdown = function(e) { var $el = e.data.el; $this = $(this), $next = $this.next(); $next.slideToggle(); $this.parent().toggleClass('open'); if (!e.data.multiple) { $el.find('.submenu').not($next).slideUp().parent().removeClass('open'); }; } var accordion = new Accordion($('#accordion'), false); });

Related: See More


Questions / Comments: