2016-03-03 54 views
1

我有這個問題,其中絕對定位元素在顯示時移動內容。看小提琴。 (點擊配置文件並觀看導航欄)。隱藏絕對定位元素在顯示時移動內容

這是什麼原因造成的?我該如何解決?

https://jsfiddle.net/jLgum2p8/1/

$(document).ready(function(){ 
 
    $(".navbar-profile").click(function(){ 
 
     $(".navbar-profile-content").slideToggle(80); 
 
    }); 
 
});
nav { 
 
    width: 100%; 
 
    background-color: #cecece; 
 
} 
 

 
li { 
 
    list-style: none; 
 
} 
 

 
nav { 
 
    display: table; 
 
    position: relative; 
 
} 
 

 
nav .navbar-title { 
 
    width: 10%; 
 
    display: table-cell; 
 
    text-align: left; 
 
} 
 

 
nav .navbar-site-content { 
 
    width: 80%; 
 
    display: table-cell; 
 
    text-align: center; 
 
} 
 

 
nav .navbar-site-content li { 
 
    display: inline-block; 
 
} 
 

 
nav .navbar-profile { 
 
    width: 10%; 
 
    display: table-cell; 
 
    color: #000; 
 
    cursor: pointer; 
 
    text-align: right; 
 
} 
 

 
nav .navbar-profile-content a { 
 
    display: block; 
 
    background-color: #000; 
 
    color: #fff; 
 
    cursor: pointer; 
 
} 
 

 
nav .navbar-profile-content { 
 
    display: none; 
 
    position: absolute; 
 
    right: 0; 
 
    top: 100%; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<nav> 
 
    <div class="navbar-title"> 
 
    <a href="">title</a> 
 
    </div> 
 
    <div class="navbar-site-content"> 
 
    <ul> 
 
     <li><a href="">Link1</a></li> 
 
     <li><a href="">Link2</a></li> 
 
     <li><a href="">Link3</a></li> 
 
     <li><a href="">Link4</a></li> 
 
     <li><a href="">Link5</a></li> 
 
     <li><a href="">Link6</a></li> 
 
    </ul> 
 
    </div> 
 
    <div class="navbar-profile"> 
 
    <span>Profile</span> 
 
    </div> 
 
    <div class="navbar-profile-content"> 
 
    <ul> 
 
     <li><a href="">Link7</a></li> 
 
     <li><a href="">Link8</a></li> 
 
     <li><a href="">Link9</a></li> 
 
     <li><a href="">Link10</a></li> 
 
    </ul> 
 
    </div> 
 
</nav>

+0

不是最effiecient解決方案,但它的工作原理https://jsfiddle.net/jLgum2p8/5/ – Shniper

回答

1

變化display: table-cellblock

nav .navbar-title { 
    width: 10%; 
    display: block; 
    text-align: left; 
}