html - Bootstrap Navheader Safari Weird Layout on First Load -


i'm seeing odd layout in safari using bootstrap nav header. shows on first page load sometimes. refreshing page gives correct layout (opening fresh window , pasting in url triggers incorrect layout consistently.)

here picture of current layout:

correct

and here's layout when reopen page sometimes:

incorrect

i want have links section on same line brand, positioned right.

here's relevant html (i've tried cut down as possible):

<header>     <nav class="navbar navbar-default navbar-fixed-top">         <div class="container-fluid">             <div class="navbar-header">                 <button class="navbar-toggle" data-target=         "#collapser" data-toggle="collapse"         type="button">                 <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="/" id="brand">                 <img src=     "http://upload.wikimedia.org/wikipedia/commons/f/f1/android_sample.svg"     style="height: 40px">                 </a>                 <ul class="navbar-nav pull-left" id="path">                     <li>                         <a href="link">a link</a>                     </li>                 </ul>             </div>             <div id="collapser" class="collapse navbar-collapse">                 <a class="navbar-right btn btn-default" id="navbar-login">login</a>             </div>         </div>     </nav> </header> 

and styling:

#brand {     line-height: 50px;     padding: 0 1.2rem;     padding-right: 0;     width: 120px; }  #path {     list-style: none;     margin: 0;     padding-top: 16px;     padding-left: 0; }  #path li {     float: left; }  #path  li:before {     content: "/";     padding: 0 0.6rem; } 

any thoughts on working around odd behavior?

this seems safari bug.

i solved following:

  • absolute position real logo.
  • add 120px (width of logo) left margin #path

this complicated navbar collapse section, shift on #path logo when collapsed. easiest solution wrap #path in .navbar-brand class, #path-nav here. finally, firefox needs path-nav use float: none.

here's revised working example:

<header>     <nav class="navbar navbar-default navbar-fixed-top">         <div class="container-fluid">             <div class="navbar-header">                 <button class="navbar-toggle" data-target=         "#collapser" data-toggle="collapse"         type="button">                 <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="/" id="brand">                 <img src=     "http://upload.wikimedia.org/wikipedia/commons/f/f1/android_sample.svg"     style="height: 40px">                 </a>                 <div id="path-nav" class="navbar-brand">                     <u id="path">                         <li>                             <a href="link">a link</a>                         </li>                     </ul>                 </div>             </div>             <div id="collapser" class="collapse navbar-collapse">                 <a class="navbar-right btn btn-default" id="navbar-login">login</a>             </div>         </div>     </nav> </header> 

.

#brand {     line-height: 50px;     padding: 0 1.2rem;     padding-right: 0;     width: 120px;     position: absolute; }  #path {     list-style: none;     margin: 0;     margin-left: 120px;     padding-top: 4px;     padding-left: 0; }  #path li {     float: left; }  #path li:before {     content: "/";     padding: 0 0.6rem; }  /* firefox */  #path-nav {     float: none; } 

Comments

Popular posts from this blog

node.js - Mongoose: Cast to ObjectId failed for value on newly created object after setting the value -

gradle error "Cannot convert the provided notation to a File or URI" -

python - NameError: name 'subprocess' is not defined -