2016-08-04 44 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; 

注:现在我固定项目与滚动条重叠有另一个问题,但我会在另一个线程上提出这个问题,除非有人对如何解决这个问题有一个快速的回答。