[32/32]100% Можно как то улучшить?

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 {
display: inline-block;
width: 125px;
margin: 0 10px;
margin-bottom: 10px;
}

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

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

.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;
text-align: left;
padding: 5px;
}

1 лайк

У вас и так хороший код для этого задания.

Спасибо)

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;
    text-align: left;
}

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

.gallery .frame {
    background: #ecf0f1;
    border: 1px solid black;
}

.gallery .image {
    height: 70px;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    margin-top: 10px;
    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;
}

Крайний правый блок (“Кот, который мурлыкал”) не совпадает с образцом? margin справа уменьшил на 2px, но он так и не совпадает.

Вы не убрали пробелы между блочно-строчными элементами.

Так ведь пробелы можно убрать нулевым шрифтом или уменьшенным маргином справа. Я как раз хотел пойти по второму пути. С нулевыми шрифтами ведь мы маргин не трогали вообще. Вторым способом сделать здесь не выходит.

Этой записью вы уменьшаете отступ с двух сторон.

Я уже попробовал так “margin: 0 8px 10px 9px;” в этом случае не сходится последний кот. А если уменьшить отступ с 8 до 7 или с 9 до 8 не сходятся и остальные.

Вы не можете использовать этот метод в данном случае, потому что кроме прописанных вами отступов еще действует выравнивание по центру.

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

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

.gallery {
padding-top: 10px;
}

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

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

.gallery .item:nth-child(2n) {
margin-left: 17px; 
}

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

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

.gallery .item:nth-child(5n) {
margin-left: 17px; 
}

.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: inherit;
border-bottom: inherit;
}

.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;
}

По-моему код слишком большой/сложный/не правильный??

Так не делают. А если 30 .item будет? В этом задании элементы выравниваются с помощью text-align.

Можно юзать формулы (7n+1) / (2n-1/n) и т.д. Просто не понимаю как можно ровнять алиГном если у каждого инлайн блока (даже сетки из 30 блоков) разные отступы? нужно будет для каждого прописывать или так как я?

Смотри у меня например разные отступы были и задание не защитывалось когда пиксель в пиксель точно не попал.

Можно было чуть укоротить конечно, типа там где совпадение по пикселях:

.gallery .item:nth-child(2n),
.gallery .item:nth-child(5n){
margin-left: 17px;
}

Text-align прописывается родительскому блоку.
А на счёт формул вы правы, ими можно пользоваться. Только код получается большой/сложный/неправильный. В этом и состоял ваш вопрос - как сделать проще и короче, если я верно поняла.

Спасибо. Буду, пробовать / экспериментировать. Хотел услышать человека, более шарищего чем я).

Почему (зачем) мы сначала центруем весь текст в gallery а потом в следующим правилом пишем выравнивание слева?

я так понимаю, что центруются блоки c классом “item” и, следовательно, все их содержание. А затем текст “title” выравнивается по левому краю, как в образце

1 лайк