2017-11-11 12 views
0

私のウェブサイトは、互いに横に並んでいる3つのdivに分割され、画面が小さくなるにつれて彼らはそれを行いますが、左側のマージンは右側のマージンよりも小さくなります。私のdivがお互いに隣り合っているようにしたいが、画面が小さくなると、彼らはお互いの下に行かなければならない。

<div class="card-block"> 
    <div class="card-block-content" style="background-color: red;"> 
    <p> 1 </p> 
    </div> 
    <div class="card-block-content" style="background-color: green;"> 
    <p> 2 </p> 
    </div> 
    <div class="card-block-content" style="background-color: blue;"> 
    <p> 3 </p> 
    </div> 
</div> 

CSS:

.card-block { 
    width: 70%; 
    margin-left: 15%; 
    margin-right: 15%; 
    background-color: lightgrey; 
} 

.card-block .card-block-content { 
    display:inline; 
    margin: 0 auto; 
    float:left; 
    padding: 0px; 
    border-right: 1px solid black; 
    width: 33.2%; 
    min-width: 300px; 
} 

.card-block .card-block-content p { 
    padding: 10px; 
} 
+1

は、簡単な解決策のための_mediaのqueries_との組み合わせで_Flexbox_または_The Grid_に見てみましょう。 – VXp

+0

質問のステータスはどうですか?あなたはいくつかの答えを与えられていますが、解決されたと印を付けるために受け入れられた人はいません。 –

答えて

0

あなたはメディア画面のクエリを使用する必要があり、特定の幅ではfloatをnoneに、marginをautoに設定する必要があります。それはうまくいくはずです。

@media screen and (max-width:900px) { 
.card-block .card-block-content{float:none; margin: auto} 
} 
0

CSSフレックスボックスは、この種の動作を処理するのに適しています。

下記のコードをご覧ください。

.card-block { 
 
width: 70%; 
 
display: flex; 
 
flex-wrap: wrap; 
 
margin-left: 15%; 
 
margin-right: 15%; 
 
background-color: lightgrey; 
 
margin: auto; 
 
} 
 

 
.card-block .card-block-content { 
 
padding: 0px; 
 
border-right: 1px solid black; 
 
width: 33.2%; 
 
min-width: 300px; 
 
display: flex; 
 
flex: 1; 
 
} 
 

 
.card-block .card-block-content p { 
 
padding: 10px; 
 
}
<div class="card-block"> 
 
<div class="card-block-content" style="background-color: red;"> 
 
    <p> 1 </p> 
 
</div> 
 
<div class="card-block-content" style="background-color: green;"> 
 
    <p> 2 </p> 
 
</div> 
 
<div class="card-block-content" style="background-color: blue;"> 
 
    <p> 3 </p> 
 
</div>

希望はこのことができます:)ので `float`のだ

関連する問題