2016-03-20 13 views
1

6 resim içeren bir div kabı oluşturmak istiyorum. Bu kapsayıcı içindediv container 6 satır öğesini sonraki satırda itti

enter image description here

daha sonra 6 resim olmalı, bu yüzden css içinde :nth-child() seçici kullandı: İşte bir görüntüdür. Benim problemim şu ki, 6. görüntü bir sonraki satırda zorlanıyor ve nedenini bilmiyorum.

*{ 
 
    margin: 0px; 
 
    padding: 0px; 
 
} 
 

 
div{ 
 
    width: 750px; 
 
    background-color: grey; 
 
} 
 

 
div > a{ 
 
    display: inline-block; 
 
    height: 120px; 
 
    width: 120px; 
 
    max-height: 120px; 
 
    max-width: 120px; 
 
    margin-right: 6px; 
 
} 
 

 
div > a:nth-child(6n){ 
 
    margin-right: 6px; 
 
} 
 

 
div > a > img{ 
 
    height: 120px; 
 
    width: 120px; 
 
    max-height: 120px; 
 
    max-width: 120px; 
 
}
<div> 
 
    <a> 
 
    <img src="http://lorempixel.com/120/120/"/> 
 
    </a> 
 
    <a> 
 
    <img src="http://lorempixel.com/120/120/"/> 
 
    </a> 
 
    <a> 
 
    <img src="http://lorempixel.com/120/120/"/> 
 
    </a> 
 
    <a> 
 
    <img src="http://lorempixel.com/120/120/"/> 
 
    </a> 
 
    <a> 
 
    <img src="http://lorempixel.com/120/120/"/> 
 
    </a> 
 
    <a> 
 
    <img src="http://lorempixel.com/120/120/"/> 
 
    </a> 
 
</div>
İşte

bir JSFiddle

cevap

2

Beyaz boşluk marjı sorunu + CSS kuraldır div > a:nth-child(6n)

Src'dir: https://davidwalsh.name/remove-whitespace-inline-block

İşte

kodudur

Ayrıca, div > a:last-child kullanarak, istediğiniz sayıda öğe olmasına ve her zaman en son hedefi kullanmanıza izin verir. Tüm büyük/yeni tarayıcılar bunu destekleyecek şekilde

flex

*{ 
 
    margin: 0px; 
 
    padding: 0px; 
 
} 
 

 
div{ 
 
    width: 750px; 
 
    background-color: grey; 
 
} 
 

 
div > a { 
 
    display: inline-block; 
 
    height: 120px; 
 
    width: 120px; 
 
    max-height: 120px; 
 
    max-width: 120px; 
 
    margin-right: 6px; 
 
} 
 

 
div > a:last-child { 
 
    margin-right: 0px; 
 
} 
 

 
div > a > img{ 
 
    height: 120px; 
 
    width: 120px; 
 
    max-height: 120px; 
 
    max-width: 120px; 
 
}
<div> 
 
    <a> 
 
    <img src="http://lorempixel.com/120/120/"/> 
 
    </a><a> 
 
    <img src="http://lorempixel.com/120/120/"/> 
 
    </a><a> 
 
    <img src="http://lorempixel.com/120/120/"/> 
 
    </a><a> 
 
    <img src="http://lorempixel.com/120/120/"/> 
 
    </a><a> 
 
    <img src="http://lorempixel.com/120/120/"/> 
 
    </a><a> 
 
    <img src="http://lorempixel.com/120/120/"/> 
 
    </a> 
 
</div>

, bugün bunu çözmek için önerilen bir yol olacaktır.

*{ 
 
    margin: 0px; 
 
    padding: 0px; 
 
} 
 

 
div{ 
 
    width: 750px; 
 
    background-color: grey; 
 
    display: flex; 
 
} 
 

 
div > a { 
 
    display: inline-block; 
 
    height: 120px; 
 
    width: 120px; 
 
    max-height: 120px; 
 
    max-width: 120px; 
 
    margin-right: 6px; 
 
} 
 

 
div > a:last-child { 
 
    margin-right: 0px; 
 
} 
 

 
div > a > img{ 
 
    height: 120px; 
 
    width: 120px; 
 
    max-height: 120px; 
 
    max-width: 120px; 
 
}
<div> 
 
    <a> 
 
    <img src="http://lorempixel.com/120/120/"/> 
 
    </a> 
 
    <a> 
 
    <img src="http://lorempixel.com/120/120/"/> 
 
    </a> 
 
    <a> 
 
    <img src="http://lorempixel.com/120/120/"/> 
 
    </a> 
 
    <a> 
 
    <img src="http://lorempixel.com/120/120/"/> 
 
    </a> 
 
    <a> 
 
    <img src="http://lorempixel.com/120/120/"/> 
 
    </a> 
 
    <a> 
 
    <img src="http://lorempixel.com/120/120/"/> 
 
    </a> 
 
</div>

+0

Teşekkür! Ve ben css kodumda bir sorun olduğunu düşündüm. – MyNewName

0

aşağıda div genişliğini değiştirmek edin: cevap için

div { 
    background-color: grey; 
    width: 782px; 
} 
İlgili konular