我想爲投資組合創建佈局。在大屏幕上,它有三列,包含均勻分佈的圖像。這裏是我的意思的例子:爲要顯示的圖像創建流體3列布局
http://www.yourinspirationweb.com/wp-content/uploads/2012/09/portfolio-3-colonne.png
我創建了一個粗略的jsfiddle這裏:http://jsfiddle.net/3h2fm6pb/1/
下面是HTML:
<div id="container">
<div class="imgContainer">
<div class="image">
<img src="http://www.joomlaworks.net/images/demos/galleries/abstract/7.jpg">
</div>
<div class="image">
<img src="https://photographylife.com/wp-content/uploads/2014/06/Nikon-D810-Image-Sample-6.jpg">
</div>
<div class="image">
<img src="http://www.keenthemes.com/preview/conquer/assets/plugins/jcrop/demos/demo_files/image1.jpg">
</div>
<div class="image">
<img src="http://www.joomlaworks.net/images/demos/galleries/abstract/7.jpg">
</div>
<div class="image">
<img src="https://photographylife.com/wp-content/uploads/2014/06/Nikon-D810-Image-Sample-6.jpg">
</div>
<div class="image">
<img src="http://www.keenthemes.com/preview/conquer/assets/plugins/jcrop/demos/demo_files/image1.jpg">
</div>
</div>
</div>
這裏是SCSS:
#container {
max-width: 600px;
margin: 0 auto;
.imgContainer{
width: 100%;
}
}
.image {
float: left;
width: 33%;
img {
width: 100%;
display: block;
}
}
我掙扎得到空白我n之間的圖像,所以無論圖像在哪裏,他們總是看起來均勻間隔。
將padding: 5px;
添加到.image
類,不起作用,因爲它使它只有兩個圖像可以放入該行。爲什麼是這樣?
我知道這個jsfiddle在調整視口尺寸時縮小了整個容器,但是我要實現媒體查詢,以便圖像的尺寸達到50%等等。因此,兩個圖像將在行而不是三個。
因此,考慮到這一點,創建此佈局的最有效方法是什麼,以便圖像在它們之間具有很好的填充效果,無論視口大小如何。到目前爲止,我嘗試過的方法效果不佳......在一個屏幕尺寸上它看起來不錯,但是當它們重新安排另一個視口尺寸時,空白看起來不均勻。
這裏是什麼,我與視尺寸意味着故障:
大屏幕:每行三個圖像...有中央和側面圖像之間的差距......之間有差距每一行。這些差距是相同的數額。
較小的屏幕:在每一行上的兩個圖像...有兩個圖像之間的間隙...有
移動屏幕的每一行之間的間隙:每行一個圖像....有隻有每個圖像的下方和上方有間隙
希望這是有道理的。
在此先感謝。
非常感謝這個例子!我甚至都沒有意識到你可以像使用scss一樣使用媒體查詢......我一直在使用他們很長的路我猜...通過說@ @media only screen和(min-width:48em){} '等等...我可以問你在'html {}'語句中做了什麼嗎?你有沒有設置HTML邊框,然後它內的一切繼承?我對邊框和scss很陌生。另外,是否有任何特定的原因,爲什麼你在'.image'類中使用'display:inline-block'而不是'float:left'?再次感謝! – Forrest 2014-11-14 13:15:40
1)''inline-block'不像'float'允許使用不同高度的圖像(只是試試)。 2)關於'html {}'和'border-box'你明白一切正確。它只是一個切換css box模型的更方便的方法。歡迎 – sgromskiy 2014-11-14 14:51:46