2016-08-04 72 views
1

我有一個導航菜單,最多需要250px的頁面左側寬度和100%的高度。我添加了一個1.固定頂部標題列表項目在導航菜單的頂部,以及2.固定頁腳列表項目在導航菜單的最底部。我的想法是保持這兩項固定,並且當瀏覽器寬度達到一定大小時,這兩個項目也必須消失。但我有一個很大的問題:固定寬度列表項擴展頁面全長

問題1:當我固定寬度增加.topfilter和。 底部篩選器,列表項現在擴展了整個頁面的整個寬度,而不是導航菜單。

問題2:現在,當我調整瀏覽器的固定寬度的項目 不會消失

獎勵:我也不知道如何填充添加到.topfilter和.bottomfilter這樣他們就不會掩蓋前面的文字。 填充頂部和填充底部不起作用。

固定寬度的項目:https://jsfiddle.net/4fqapznu/1/

.topfilter {border-bottom:solid #333 2px; width:100%; height:40px; position:fixed; display:block; text-align:left; background-color:blue; -moz-box-sizing: border-box; 
    box-sizing: border-box;} 


.bottomfilter {border-top: solid #333 2px; width:100%; height:50px; position:fixed; display:block; text-align:left; background-color:red; -moz-box-sizing: border-box; box-sizing: border-box; bottom:0;} 

HTML:

  <!-- Sidebar --> 
    <div id="sidebar-wrapper"> 


    <ul class="sidebar-nav"> 
    <li class="topfilter"> 
    <a class="filtertitle">Title</a> 
    </li> 

     <li> 
     <a href="#/content"> 
     Content 
     </a> 
     </li> 
       <li> 
     <a href="#/topics"> 
     Topics 
     </a> 
     </li> 
       <li> 
     <a href="#"> 
     Groups 
     </a> 
     </li> 
       <li> 
     <a href="#"> 
     Premium 
     </a> 
     </li> 
     <li> 
     <a href="#">Dashboard</a> 
     </li> 
     <li> 
     <a href="#">Shortcuts</a> 
     </li> 
     <li> 
     <a href="#">Overview</a> 
     </li> 
     <li> 
     <a href="#">Events</a> 
     </li> 
     <li> 
     <a href="#">About</a> 
     </li> 
     <li> 
     <a href="#">Services</a> 
     </li> 
     <li> 
     <a href="#">Contact</a> 
     </li> 

     <li class="bottomfilter"> 
    <a class="filtertitle">Footer</a> 
    </li> 

    </ul> 
    </div> 
    <!-- /#sidebar-wrapper --> 



    <div class="content" style="min-height:90%; background:white;" > 



    </div> 
    <div class="push"></div> 

<footer class="footer"> 


     </footer> 

CSS:

a {outline:none !important;} 

html, 
body, 
.wrap { 
    height: 100%; 
} 

.wrap { 
    box-sizing: border-box; 
} 

form { 
    height: 100% 
} 

.wrap { 
    min-height: 100%; 
    height: auto !important; 
    height: 100%; 
    margin-bottom: -60px; 
    /* for sticky footer to not go below page */ 
    /* for sticky header to not overlap content */ 
} 

.push, 
.footer { 
    height: 60px; 
} 



.footer { 
    background-color: #ebebeb; 
    height: 60px; 
    width: 100%; 
    position: fixed; 
    bottom: 0; 
} 

.content { 
    position: absolute; 
    width: 100%; 
    top: 120px; 
    background-color: yellow; 
    z-index: 0; 
} 


#sidebar-wrapper { 
    z-index: 1000; 
    position: fixed; 
    left: 142px; 
    top: 0px; 
    margin-bottom: 60px; 
    width: 0; 
    height: 100%; 
    margin-left: -142px; 
    overflow-y: auto; overflow-x: hidden; 
    background: #eee; 
    -webkit-transition: all 0.5s ease; 
    -moz-transition: all 0.5s ease; 
    -o-transition: all 0.5s ease; 
    transition: all 0.5s ease; 
} 


.topfilter {border-bottom:solid #333 2px; width:100%; height:40px; position:fixed; display:block; text-align:left; background-color:blue; -moz-box-sizing: border-box: 
    box-sizing: border-box:} 

.filtertitle { position:relative; display:inline-block; color:#000; width:100%; } 

.topfilter {border-bottom:solid #333 2px; width:100%; height:40px; position:fixed; display:block; text-align:left; background-color:blue; -moz-box-sizing: border-box: 
    box-sizing: border-box:} 

.filtertitle { position:relative; display:inline-block; color:#000; width:100%; } 

.topfilter {border-bottom:solid #333 2px; width:100%; height:40px; position:fixed; display:block; text-align:left; background-color:blue; -moz-box-sizing: border-box; 
    box-sizing: border-box;} 


.bottomfilter {border-top: solid #333 2px; width:100%; height:50px; position:fixed; display:block; text-align:left; background-color:red; -moz-box-sizing: border-box; box-sizing: border-box; bottom:0;} 


#wrapper.toggled #sidebar-wrapper { 
    width: 200px; 
} 

#page-content-wrapper { 
    width: 100%; 
    position: absolute; 
    padding: 15px; 
} 

    #wrapper.toggled #page-content-wrapper { 
    position: absolute; 
    margin-right: -200px; 
} 


/* Sidebar Styles */ 

.sidebar-nav { 
    position: absolute; 
    top: 0px; 
    width: 100%; 
    margin: 0; 
    padding: 0; 
    list-style: none; 
} 

.sidebar-nav li { 
    text-indent: 20px; 
    line-height: 40px; 
} 

.sidebar-nav li a { 
    display: block; 
    text-decoration: none; 
    color: #999999; 
} 

.sidebar-nav li a:hover { 
    text-decoration: none; 
    color: #333; 
    background: rgba(255, 255, 255, 0.6); 
} 

.sidebar-nav li a:active, 
.sidebar-nav li a:focus { 
    text-decoration: none; 
} 

.sidebar-nav > .sidebar-brand { 
    height: 65px; 
    font-size: 18px; 
    line-height: 60px; 
} 

.sidebar-nav > .sidebar-brand a { 
    color: #999999; 
} 

.sidebar-nav > .sidebar-brand a:hover { 
    color: #fff; 
    background: none; 
} 

@media screen and (min-width:768px) { 
    #wrapper { 
    padding-left: 300px; 
    } 
    #wrapper.toggled { 
    padding-left: 0; 
    } 


    #wrapper.toggled #sidebar-wrapper { 
    width: 0; 
    } 
    #page-content-wrapper { 
    padding: 20px; 
    position: relative; 
    } 
    #wrapper.toggled #page-content-wrapper { 
    position: relative; 
    margin-right: 0; 
    } 
} 


@media screen and (max-width:1526px) { 

    .content, 
    .footer { 
    width: 82%; 
    right: 0; 
    } 
    .header {width:82%;} 

    #sidebar-wrapper { 
    width: 18%; 
    } 

} 


@media screen and (max-width:1059px) { 

    .content, 
    .footer { 
    width: 80%; 
    right: 0; 
    } 

    .header {width:80%;} 

    #sidebar-wrapper { 
    width: 20%; 
    } 
} 

    @media screen and (min-width:1527px) { 

    .content, 
    .footer { 
    width: 85%; 
    right: 0; 
    } 
    .header {width:85%;} 
    #sidebar-wrapper { 
    width: 15%; 
    } 


} 

     @media screen and (max-width:991px) { 
      .content, 
    .footer { 
    width: 100%; 
    right: 0; 
    } 

    #sidebar-wrapper { 
    width:0; 
    } 

回答

0

答案很簡單:https://jsfiddle.net/4fqapznu/3/

我所要做的就是:

  1. 添加最小寬度:100%,和替換寬度:100%寬度:在父容器上繼承.sidebar-NAV

  2. 然後加入寬度:和poorly RIT對2名兒童與位置固定的物品: .topfilter.bottomfilter

下面是固定它爲我的代碼:

.sidebar-nav { 

    width:inherit; min-width:100%; 

} 


.topfilter {width:inherit; position:fixed;} 


.bottomfilter { width:inherit; position:fixed; 

注:現在我固定項目與滾動條重疊有另一個問題,但我會在另一個線程上提出這個問題,除非有人對如何解決這個問題有一個快速的回答。