Испытание: котогалерея на inline-block [32/32]

`html, body{
margin:0;
padding:0;
}
body{
width:450px;
height:300px;
font-family:‘Arial’, sans-serif;
font-size:12px;
}
.gallery{
padding-top:10px;
font-size: 0;

}
.gallery .item{
display: inline-block;
width:125px;
margin:0 10px;
margin-bottom:10px;
margin-right: 10px;
font-size: 12px;
}
.gallery .title{
margin-bottom:5px;
line-height:14px;

}
.gallery .frame{
background:#ECF0F1;
border: 1px solid black;
padding-top: 10px;

}
.gallery .image{
height:70px;
background-position:50% 50%;
background-repeat:no-repeat;
border-top: 1px solid black;
border-bottom: 1px solid black;
}
.gallery .image-1{
background-color:#2ECC71;
background-image:url(’/assets/course13/cat_box.png’);
}
.gallery .image-2{
background-color:#3498DB;
background-image:url(’/assets/course13/cat_fish.png’);
}
.gallery .image-3{
background-color:#f1c40f;
background-image:url(’/assets/course13/cat_purr.png’);
}
.gallery .image-4{
background-color:#E67E22;
background-image:url(’/assets/course13/cat_walk.png’);
}
.gallery .image-5{
background-color:#E74C3C;
background-image:url(’/assets/course13/cat_drunk.png’);
}
.gallery .date{
color:#666;
font-style:italic;
font-size:11px;
padding: 5px;
}
.gallery .item:nth-child(4) {
margin-left: 90px;
}
.gallery .item:nth-child(1) {
margin-left: 18px;
}`

Посмотрите пожалуйста, правильно ли я сделала некоторые моменты.

  1. Рамки:
    пишем border: 1px solid black для .frame (внешняя рамка так сказать), и
    border-bottom: 1px solid black; border-top: 1px solid black; для - .image.
  2. Серый фон под картинкой:
    для .frame ставим серое пространство сверху padding: 10px 0 0 0
    для .date - padding: 5px.
    сделала на 100%, но хотелось бы знать, это идеальное решение, или можно более правильно сделать.

Правильно сделали)

Спасибо)

Подскажите пожалуйста, а что в этом варианте самом первом делает:

.gallery .item:nth-child(4) {
margin-left: 90px;
}

Просто не понимаю как тут действует nth.

А что конкретно не понятно? Это правило устанавливает размер отступа слева для четвертого элемента галереи… Не самый правильный пример выравнивания в данном случае, кстати. В этой теме есть варианты красивее.

Для того, чтобы убрать лишний отступ, выбрала вариант работы с маргинами для .item, а не изменения размера шрифта:

.gallery .item {
width: 125px;
margin: 0 8px;
margin-bottom: 10px;
display: inline-block;
}
.gallery .item:nth-child(3){
> margin-left: 9px;
> margin-right: 7px;
}

тоже 100% результат

1 лайк

Ты большой молодец, спасибо за разъяснение! :slight_smile:

Благодарю, обнуление маргинов у первой и четвертой картинок, а также уменьшение маргина снизу у картинки помогло.

Ничего не могу понять. Третья картинка не встает на место, находится левее, чем нужно. На margin-right никакой реакции.

`html,
body {
margin: 0;
padding: 0;
}

body {
width: 450px;
height: 300px;
font-family: “Arial”, sans-serif;
font-size: 12px;
}

.gallery {
padding-top: 10px;
text-align: center;
}

.gallery .item {
width: 125px;
margin: 0 8px;
margin-bottom: 10px;
display: inline-block;
}

.gallery .title {
margin-bottom: 5px;
line-height: 14px;
text-align: left;
}

.gallery .frame {
background: #ecf0f1;
border: solid 1px black;
padding-top: 10px;
}

.gallery .image {
height: 70px;
background-position: 50% 50%;
background-repeat: no-repeat;
border-top: solid 1px black;
border-bottom: solid 1px black;
}

.gallery .image-1 {
background-color: #2ecc71;
background-image: url("/assets/course13/cat_box.png");

}

.gallery .image-2 {
background-color: #3498db;
background-image: url("/assets/course13/cat_fish.png");
}

.gallery .image-3 {
background-color: #f1c40f;
background-image: url("/assets/course13/cat_purr.png");
margin-right: 0px;
}

.gallery .image-4 {
background-color: #e67e22;
background-image: url("/assets/course13/cat_walk.png");
}

.gallery .image-5 {
background-color: #e74c3c;
background-image: url("/assets/course13/cat_drunk.png");
}

.gallery .date {
font-style: italic;
font-size: 11px;
color: #666666;
padding: 5px;
text-align: left;
}`

перечитайте тему inline-block и пробелы в коде [31/32] - ответ там

2 лайка

Поняла в чем дело, я ранее меняла размер шрифта на 0 у .gallery .item, а не у родительского блока.
Спасибо.

html,
body {
margin: 0;
padding: 0;
}

body {
width: 450px;
height: 300px;
font-family: “Arial”, sans-serif;
font-size: 12px;
}

.gallery {
text-align:center;
font-size: 0;
padding-top: 10px;
}

.gallery .item {
font-size: 12px;
text-align:left;
display:inline-block;
width: 125px;
margin: 0 10px;
margin-bottom: 10px;
}

.gallery .title {

margin-bottom: 5px;
line-height: 14px;

}

.gallery .frame {padding-top:10px;
border:1px solid;
background: #ecf0f1;
}

.gallery .image {
border-top:1px solid;
border-bottom:1px solid;
height: 70px;
background-position: 50% 50%;
background-repeat: no-repeat;
}

.gallery .image-1 {
background-color: #2ecc71;
background-image: url("/assets/course13/cat_box.png");
}

.gallery .image-2 {
background-color: #3498db;
background-image: url("/assets/course13/cat_fish.png");
}

.gallery .image-3 {
background-color: #f1c40f;
background-image: url("/assets/course13/cat_purr.png");
}

.gallery .image-4 {
background-color: #e67e22;
background-image: url("/assets/course13/cat_walk.png");
}

.gallery .image-5 {
background-color: #e74c3c;
background-image: url("/assets/course13/cat_drunk.png");
}

.gallery .date {
padding:5px;
font-style: italic;
font-size: 11px;
color: #666666;
}

выводит 100% результат какие варианты еще есть

100%
html,
body {
margin: 0;
padding: 0;
}

body {
width: 450px;
height: 300px;
font-family: “Arial”, sans-serif;
font-size: 12px;
}

.gallery {
padding-top: 10px;
font-size: 0;
padding-left: 8px;

}
.gallery .item:nth-child(4n) {
margin-left: 82px;
}
.gallery .item {
font-size: 12px;
display: inline-block;
width: 125px;
margin: 0 10px;
margin-bottom: 10px;
}

.gallery .title {
margin-bottom: 5px;
line-height: 14px;
}

.gallery .frame {
background: #ecf0f1;
border: 1px solid black;
padding-top: 10px;
}

.gallery .image {
height: 70px;
background-position: 50% 50%;
background-repeat: no-repeat;
border-top: 1px solid black;
border-bottom: 1px solid black;
}

.gallery .image-1 {
background-color: #2ecc71;
background-image: url("/assets/course13/cat_box.png");
}

.gallery .image-2 {
background-color: #3498db;
background-image: url("/assets/course13/cat_fish.png");
}

.gallery .image-3 {
background-color: #f1c40f;
background-image: url("/assets/course13/cat_purr.png");
}

.gallery .image-4 {
background-color: #e67e22;
background-image: url("/assets/course13/cat_walk.png");
}

.gallery .image-5 {
background-color: #e74c3c;
background-image: url("/assets/course13/cat_drunk.png");
}

.gallery .date {
font-style: italic;
font-size: 11px;
color: #666666;
padding: 5px;
}

долго не мог разобраться с 3-ей картинкой - одна из всех не сходилась. просмотрел ваш код и обнулил у себя пробелы… и все сошлось) спасибо!

Ineska, посмотрите, плиз, опытным взглядом: борьба с первым блоком, пришлось вручную “допиливать” отступы слева и справа, это правильный ход или варварский?

html,
body {
margin: 0;
padding: 0;
}

body {
width: 450px;
height: 300px;
font-family: “Arial”, sans-serif;
font-size: 12px;
}

.gallery {
padding-top: 10px;
padding-left: 17px;
text-align: center;

}

.gallery .item {
width: 125px;
margin-right: 17px;
margin-bottom: 10px;
display: inline-block;
text-align: left;

}

.gallery .item:nth-child(1) {
margin-left: 1px;
margin-right: 16px;
}

.gallery .title {
margin-bottom: 5px;
line-height: 14px;
}

.gallery .frame {
background: #ecf0f1;
border: 1px solid black;
height: 95px;
padding-top: 10px;

}

.gallery .image {
height: 70px;
background-position: 50% 50%;
background-repeat: no-repeat;
border-top: 1px solid black;
border-bottom: 1px solid black;

}

.gallery .image-1 {
background-color: #2ecc71;
background-image: url("/assets/course13/cat_box.png");

}

.gallery .image-2 {
background-color: #3498db;
background-image: url("/assets/course13/cat_fish.png");
}

.gallery .image-3 {
background-color: #f1c40f;
background-image: url("/assets/course13/cat_purr.png");
}

.gallery .image-4 {
background-color: #e67e22;
background-image: url("/assets/course13/cat_walk.png");
}

.gallery .image-5 {
background-color: #e74c3c;
background-image: url("/assets/course13/cat_drunk.png");
}

.gallery .date {
font-style: italic;
font-size: 11px;
padding: 5px;
color: #666666;
}

Варварский. Забыли о том, что между блочно-строчными элементами есть пробелы.

А вот так???)))

html,
body {
margin: 0;
padding: 0;
}

body {
width: 450px;
height: 300px;
font-family: “Arial”, sans-serif;
font-size: 12px;
}

.gallery {
padding-top: 10px;
text-align: center;
font-size: 0;
}

.gallery .item {
width: 125px;
margin-right: 20px;
margin-bottom: 10px;
display: inline-block;
text-align: left;
font-size: 12px;
}

.item:nth-child(2n+3) {
margin-right: 0;
}

Почему такая формула?

Для 3-го и 5-го блоков убрал маргин

1 лайк