2016-10-18 17 views
1

これは簡単な問題のようですが、私はそれを解読できません。私はW3Schoolsでデモンストレーションされたような反応的な画像ギャラリーを設定しようとしています。あなたがキャプションの長さを変えるまで、そのギャラリーはうまく見えます。その後、ボックスの高さが変わり始め、ギャラリーの配置がすべて壊れてしまいます。キャプションの長さが2〜4行の範囲であっても、それらのボックスの高さをきちんと整列させるにはどうしたらいいですか?CSS画像ギャラリーの均等ボックスの高さを設定する

+2

あなたはあなたのコードを投稿することができますか? – Tiffany

答えて

1

あなたができることの1つは、min-heightを与えて固定高さにすることです。

div.desc { 
    padding: 15px; 
    text-align: center; 
    min-height: 50px; 
} 

スニペット:

div.img { 
 
    border: 1px solid #ccc; 
 
} 
 

 
div.img:hover { 
 
    border: 1px solid #777; 
 
} 
 

 
div.img img { 
 
    width: 100%; 
 
    height: auto; 
 
} 
 

 
div.desc { 
 
    padding: 15px; 
 
    text-align: center; 
 
    min-height: 50px; 
 
} 
 

 
* { 
 
    box-sizing: border-box; 
 
} 
 

 
.responsive { 
 
    padding: 0 6px; 
 
    float: left; 
 
    width: 24.99999%; 
 
} 
 

 
@media only screen and (max-width: 700px){ 
 
    .responsive { 
 
    width: 49.99999%; 
 
    margin: 6px 0; 
 
    } 
 
} 
 

 
@media only screen and (max-width: 500px){ 
 
    .responsive { 
 
    width: 100%; 
 
    } 
 
} 
 

 
.clearfix:after { 
 
    content: ""; 
 
    display: table; 
 
    clear: both; 
 
}
<h2>Responsive Image Gallery</h2> 
 
<h4>Resize the browser window to see the effect.</h4> 
 

 
<div class="responsive"> 
 
    <div class="img"> 
 
    <a target="_blank" href="img_fjords.jpg"> 
 
     <img src="img_fjords.jpg" alt="Trolltunga Norway" width="300" height="200"> 
 
    </a> 
 
    <div class="desc">Add a description of the image here</div> 
 
    </div> 
 
</div> 
 

 

 
<div class="responsive"> 
 
    <div class="img"> 
 
    <a target="_blank" href="img_forest.jpg"> 
 
     <img src="img_forest.jpg" alt="Forest" width="600" height="400"> 
 
    </a> 
 
    <div class="desc">Add a description of the image here</div> 
 
    </div> 
 
</div> 
 

 
<div class="responsive"> 
 
    <div class="img"> 
 
    <a target="_blank" href="img_lights.jpg"> 
 
     <img src="img_lights.jpg" alt="Northern Lights" width="600" height="400"> 
 
    </a> 
 
    <div class="desc">Add a description of the image here</div> 
 
    </div> 
 
</div> 
 

 
<div class="responsive"> 
 
    <div class="img"> 
 
    <a target="_blank" href="img_mountains.jpg"> 
 
     <img src="img_mountains.jpg" alt="Mountains" width="600" height="400"> 
 
    </a> 
 
    <div class="desc">Add a description of the image here</div> 
 
    </div> 
 
</div> 
 

 
<div class="clearfix"></div> 
 

 
<div style="padding:6px;"> 
 
    <p>This example use media queries to re-arrange the images on different screen sizes: for screens larger than 700px wide, it will show four images side by side, for screens smaller than 700px, it will show two images side by side. For screens smaller than 500px, the images will stack vertically (100%).</p> 
 
    <p>You will learn more about media queries and responsive web design later in our CSS Tutorial.</p> 
 
</div>

0

あなたは2つのことができます。これらの両方を各ブロックに適用されるクラスに置きます。

overflow-y: hidden; //Or scroll if you want... 
max-height: 400px; 
関連する問題