2016-05-01 12 views
0

私はレイアウトを持っていて、「ちょうど到着しました」セクションの下に座る画像の行を追加しようとしています。レスポンシブな画像が正しく流れない

誰かが間違っているのを見ることができますか?ありがとう!

+0

私のコードはhttps://jsfiddle.net/5cripted/9qyjhjto/2/です。 私はレイアウトをhttps://jsfiddle.net/5cripted/sz4k9pv5/にしようとしていますが、動作させることができません。 – 5cripted

答えて

0

<li>の要素はデフォルトでdisplay: blockです。それらにはfloat: leftを渡してください。あなたはすべて設定されています。各画像は、この場合<div>において、ブロック要素でラップされているので

.wrap { 
    float: left; 
} 
+0

こんにちは、あなたの提案に感謝します。私はフロートを左にしようとしましたが、画面が小さくなると画像が大きなボックスに入りません。ページ上の他の画像と同様です。他の誰かがいくつかのdivを使用するように提案しましたが、試しましたが、余白はすべてオフです:https://jsfiddle.net/5cripted/v2qfsnqz/私はちょうど到着し、下のイメージが適切に整列するように見える。 – 5cripted

0

彼らは互いに下に流れています。 divを削除するか、表示値をinline-blockに設定してください。

小さい画像の表示値はそれぞれlist-itemで、垂直リストのように項目を配置します。

インラインブロック

.wrapper { 
 
    text-align: left; 
 
} 
 

 
.wrapper a { 
 
    display: inline-block; 
 
}
<div class="wrapper"> 
 
    <a href="#"> 
 
     <img src="http://placehold.it/300x200" alt=""> 
 
    </a> 
 
    <a href="#"> 
 
     <img src="http://placehold.it/300x200" alt=""> 
 
    </a> 
 
    <a href="#"> 
 
     <img src="http://placehold.it/300x200" alt=""> 
 
    </a> 
 
    <a href="#"> 
 
     <img src="http://placehold.it/300x200" alt=""> 
 
    </a> 
 
</div>

表示ブロックと

/* Clearfix */ 
 
.wrapper::after { 
 
    content: '' 
 
    clear: both; 
 
    display: table; 
 
} 
 

 
.wrapper a { 
 
    display: block; 
 
    float: left; 
 
} 
 

 
img { 
 
    /* Fixes whitespace below each image */ 
 
    display: block; 
 
}
<div class="wrapper"> 
 
    <a href="#"> 
 
     <img src="http://placehold.it/300x200" alt=""> 
 
    </a> 
 
    <a href="#"> 
 
     <img src="http://placehold.it/300x200" alt=""> 
 
    </a> 
 
    <a href="#"> 
 
     <img src="http://placehold.it/300x200" alt=""> 
 
    </a> 
 
    <a href="#"> 
 
     <img src="http://placehold.it/300x200" alt=""> 
 
    </a> 
 
</div>

に浮かびます

フレキシボックス

あなたは、Internet Explorer(< 11)の古いバージョンをサポートする必要がない場合は、これを使用してください。

/* Clearfix */ 
 
.wrapper { 
 
    display: flex; 
 
    flex-wrap: wrap; 
 
} 
 

 
.wrapper a { 
 
    width: 50%; 
 
} 
 

 
img { 
 
    /* Stretch the image for demo purposes */ 
 
    width: 100%; 
 
    /* Fixes whitespace below each image */ 
 
    display: block; 
 
}
<div class="wrapper"> 
 
    <a href="#"> 
 
     <img src="http://placehold.it/300x200" alt=""> 
 
    </a> 
 
    <a href="#"> 
 
     <img src="http://placehold.it/300x200" alt=""> 
 
    </a> 
 
    <a href="#"> 
 
     <img src="http://placehold.it/300x200" alt=""> 
 
    </a> 
 
    <a href="#"> 
 
     <img src="http://placehold.it/300x200" alt=""> 
 
    </a> 
 
</div>

+0

こんにちは、あなたの提案に感謝します。私はフロートを左にしようとしましたが、画面が小さくなると画像が大きなボックスに入りません。ページ上の他の画像と同様です。他の誰かがいくつかのdivを使用するように提案しましたが、試しましたが、余白はすべてオフです:https://jsfiddle.net/5cripted/v2qfsnqz/私はちょうど到着し、下のイメージが適切に整列するように見える。 – 5cripted

+0

@ 5cripted:いくつかのコードサンプルを追加しました – marvinhagemeister

0

私はあなたのための小さなコードを書かれています。これをチェックして。

<!DOCTYPE html> 
 
<html xmlns="http://www.w3.org/1999/xhtml"> 
 
<head> 
 
<title>Test</title> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script> 
 
</head> 
 
<style type="text/css"> 
 
body{ 
 
    margin: 0; 
 
    padding: 0; 
 
    height: auto; 
 
} 
 

 
div.imagecontainer 
 
{ 
 
\t width: 100%; 
 
\t height: auto; 
 
\t 
 
} 
 

 
div.imagecontainer ul { 
 
\t width: 100%; 
 
\t height: 100%; 
 
\t padding:0; 
 
} 
 

 
div.imagecontainer ul li{ 
 
\t list-style-type: none; 
 
\t width: 20%; 
 
\t height: 200px; 
 
\t float: left; 
 
} 
 

 
div.imagecontainer ul li img 
 
{ 
 
\t width: 100%; 
 
\t height: 100%; 
 
} 
 

 
</style> 
 
<body> 
 

 
<div class="imagecontainer"> 
 
<ul> 
 
    \t <li><img src="https://cdn.shopify.com/s/files/1/1006/9816/files/Home-LisaKay.jpg?13639724066688423445"></li> 
 
    \t <li><img src="https://cdn.shopify.com/s/files/1/1006/9816/files/Home-LisaKay.jpg?13639724066688423445"></li> 
 
    \t <li><img src="https://cdn.shopify.com/s/files/1/1006/9816/files/Home-Blaithin_f3f568d3-849a-4271-a640-b2517965adda.jpg?16480572688008041262"></li> 
 
    \t <li><img src="https://cdn.shopify.com/s/files/1/1006/9816/files/Home-LisaKay.jpg?13639724066688423445"></li> 
 
    \t <li><img src="https://cdn.shopify.com/s/files/1/1006/9816/files/Home-LisaKay.jpg?13639724066688423445"></li> 
 
    \t 
 
</ul> 
 
</div> 
 

 
<script type="text/javascript"> 
 
$(window).resize(function(){ 
 
    \t //alert("resizing"); 
 
    var windowWidth = $(window).width(); 
 

 
    if(windowWidth < 600) 
 
    { 
 
    \t $("div.imagecontainer ul li").css({"width":"100%","height":"400px"}); 
 
    } 
 
    else 
 
    { 
 
    \t $("div.imagecontainer ul li").css({"width":"20%","height":"200px"}); 
 
    } 
 
    
 
}); 
 
</script> 
 

 

 
</body> 
 
</html>

が、私は小さなjqueryのを使用。条件を変更することができ、私はすべてcss ans jsを内部で使用しました。

他のものはwidthheidhtであり、必要に応じて変更する必要があります(写真の枚数を変更する必要があります)。

これはあなたのニーズに100%合わないと思います。私はブートストラップを使用することをお勧めします。 過去をコピーしてthis.hopeを試してください。これが役に立ちます。

+0

画像がアスペクト比を保持していないようです。彼らは私のために押しつぶされているようです。 – marvinhagemeister

関連する問題