2017-04-12 87 views
1

我完全失去了CSS,任何人都可以帮助我与中心和响应图片在内容区域没有黑客入侵的CSS?该固定的侧边栏使它很难,因为我不能使用justify-content和align-items,因为它会隐藏在侧边栏下。位置固定侧边栏和居中内容

感谢

<div class="container"> 
     <div class="sidebar"> 
     <ul> 
     <li> 
      <span>Home</span> 
     </li> 
     <li> 
      <span>Home</span> 
     </li> 
     </ul> 
     </div> 
     <div class="content"> 
     <img src="http://placehold.it/350x150" /> 
     <img src="http://placehold.it/350x150" /> 
     <img src="http://placehold.it/350x150" /> 
     </div> 
    </div> 

    .container { 
     padding-left:200px 
    } 

    .sidebar { 
     position:fixed; 
     height:100%; 
     width:200px; 
     top:0; 
     left:0; 
     background:#fff; 
     border-right:2px solid; 
    } 

JSFIDDLE

+0

显示:块内容的div和浮动是正确的。同样强烈建议同时提供内容和边栏的百分比宽度。然后你可以继续使用普通的方法。 (假设您的容器具有任何宽度,例如100%) – Lewis

回答

0

如果你只是试图使图像居中,你可以添加规则

.content { 
    text-align: center; 
} 
+0

请注意内容div目前与侧边栏重叠。图像仍然看起来稍微向左偏移。 – Lewis

+0

@Lewis容器是,内容不是因为侧边栏宽度为200px,容器有一个200px的左侧填充 –

0

您可以使用Flexbox的。您仍然可以保留边栏而不使用position: fixed;,只需沿着flex: 0 0 200px;并保持高度不同,然后将align-items: flex-start;添加到容器。更好的做法是将align-self: flex-start;放在.container上更具体。

退房完整的例子:

.container { 
 
    display: flex; 
 
} 
 

 
.sidebar { 
 
    flex: 0 0 200px; 
 
    height:100vh; 
 
    width:200px; 
 
    background:#fff; 
 
    border-right:2px solid; 
 
} 
 

 
.content { 
 
    width: 100%; 
 
    display: flex; 
 
    flex-wrap: wrap; 
 
    justify-content: space-around; 
 
    align-self: flex-start; 
 
}
<div class="container"> 
 
    <div class="sidebar"> 
 
    <ul> 
 
     <li><span>Home</span></li> 
 
     <li><span>Home</span></li> 
 
    </ul> 
 
    </div> 
 
    <div class="content"> 
 
    <img src="http://placehold.it/350x150" /> 
 
    <img src="http://placehold.it/350x150" /> 
 
    <img src="http://placehold.it/350x150" /> 
 
    </div> 
 
</div>

+0

感谢您的尝试,但是然后我的边栏边框高度与内容对齐,我想边界是最大高度;/ – Polisas

+0

嘿现在给它一个镜头。如果你想要不同的高度,只需添加align-items:flex-start;到柔性容器。我也把侧边栏的高度设置为100vh – StefanBob