2017-04-12 18 views
1

私は完全にCSSで迷っています。誰でもCSSをハッキングせずにコンテンツエリアにセンタリングして反応性の高い写真を作ってくれますか?固定サイドバーは、サイドバーの下に隠されるので、正当化コンテンツと整列アイテムを使用することができないので、難しくなります。位置固定サイドバーとセンタリングコンテンツ

おかげ

<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をブロックし、それを右に浮きます。 Idは、コンテンツとサイドバーの両方にパーセンテージの幅を与えることを強く推奨しています。その後、通常の方法を引き続き使用することができます。 (コンテナの幅が100%であると仮定すると) – Lewis

答えて

0

あなただけの画像を中心にしようとしている場合は、あなただけのルールを追加することができます

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

コンテンツのdivは現在サイドバーと重複しています。画像は左に少しずれて見えます。 – Lewis

+0

@Lewisコンテナは、サイドバーの幅が200pxで、コンテナのパディングが左に200pxあるのでコンテンツがありません –

0

あなたはフレキシボックスを使用することができます。 flex: 0 0 200px;に移動してposition: fixed;を使用せずにサイドバーを維持し、高さを変えずにコンテナにalign-items: flex-start;を追加することができます。より具体的には.containeralign-self: flex-start;を入れてください。

チェックアウトフル例:

.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