html - Animated 'X' icon for bootstrap toggle -
i attempting animate horizontal lines in navbar 'x' when page reduced in size.
my navbar code follows:
<nav class="navbar navbar-default navbar-fixed-top" role="navigation"> <div class="container"> <!-- brand , toggle grouped better mobile display --> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"> <span class="sr-only">toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="index.html">company</a> </div> <!-- collect nav links, forms, , other content toggling --> <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> <ul class="nav navbar-nav navbar-right"> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">about<b class="caret"></b></a> <ul class="dropdown-menu"> <li> <a href="about.html">about us</a> </li> <li> <a href="certification.html">certification</a> </li> <li> <a href="downloads.html">download pdf</a> </li> </ul> </li> <li> <a href="products.html">products</a> </li> <li> <a href="inquiry.html">inquiry</a> </li> <li> <a href="events.html">events</a> </li> <li> <a href="contact.html">contact</a> </li> <li> <a href="#">login</a> </li> </ul> </div> <!-- /.navbar-collapse --> </div> <!-- /.container --> </nav>
when attempt use css shown here not work. there need modify navbar specifically? notice when add css, :
&:hover { background: transparent !important; }
the closing curly brace not recognize opening one. missing?
it's because tutorial using less, css pre-processor, extending css language.
however, have use compiled css, , make few changes.
in html, add classes bars in order distinguish each of them :
<span class="icon-bar top-bar"></span> <span class="icon-bar middle-bar"></span> <span class="icon-bar bottom-bar"></span>
also, init button class collapsed
, or first render 'x'.
then add css compiled :
.navbar-toggle { border: none; background: transparent !important; } .navbar-toggle:hover { background: transparent !important; } .navbar-toggle .icon-bar { width: 22px; transition: 0.2s; } .navbar-toggle .top-bar { transform: rotate(45deg); transform-origin: 10% 10%; } .navbar-toggle .middle-bar { opacity: 0; } .navbar-toggle .bottom-bar { transform: rotate(-45deg); transform-origin: 10% 90%; } .navbar-toggle.collapsed .top-bar { transform: rotate(0); } .navbar-toggle.collapsed .middle-bar { opacity: 1; } .navbar-toggle.collapsed .bottom-bar { transform: rotate(0); }
and should work charm.
here's jsfiddle : demo
Comments
Post a Comment