Почему второе изображение показывается прямо под первым?Для этого нет никаких оснований.
Второе изображение находится во втором ряду.
Второй ряд идет прямо под первым рядом.
Более конкретно, первый рядзанят двумя элементами: изображение # 1 и поле содержимого.Высота первого ряда определяется самым высоким элементом.В данном случае это будет поле содержимого.
Итак, поскольку изображение # 1 не расширяет всю высоту строки # 1, между изображениями будет промежуток.
Вотеще более подробное объяснение проблемы:
(Этосообщение, связанное с flexbox, но здесь также применима логика.)
Вместо inline-block
используйте свойства Grid, чтобы поле содержимого охватывало обе строки:
.PostContent {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: 60vh 60vh;
grid-gap: 1em;
grid-template-areas: " pic1 box1 "
" pic2 box1 ";
}
.box1 {
grid-area: box1;
}
.pic1 {
grid-area: pic1;
}
.pic2 {
grid-area: pic2;
}
.PostContent { background: #B8E986; }
.PicContent { background: blue; color: white; }
.Content { background: #000000; color: white; }
.cTextP { padding: 20px;}
<div class="GridCont">
<div class="PostContent">
<div class="PicContent pic1">
<div class="cTextP">Picture #1</div>
</div>
<div class="Content box1">
<div class="cTextP">Content #1</div>
</div>
<div class="PicContent pic2">
<div class="cTextP">Picture #2</div>
</div>
</div>
</div>
исправленный jsfiddle
Также обратите внимание, что свойства сетки работают только между родительскими и дочерними элементами.