Гуру CSS помогите обрезать картинку

HL
На сайте с 12.12.2012
Offline
118
2695

Всем привет. Поставил на WP плагин Contextual Related Posts для вывода похожих постов. Проблема заключается в том, что в данный момент выводится первое изображение поста, подгоняя его по ширине под 180px, а высоту подгоняет пропорционально. Из-за чего блоки с изображениями имеют разную высоту, что смотрится не презентабельно. Необходимо окультурить, чтобы высота изображения была 125px, а ширина 180px.

В голове родилась мысль подгонялось по высоте под 125px, а ширину пропорционально. Если ширина на выходе больше 180px, то часть картинки обрезается (скрывается). Ширина блока должна быть строго 180px.

Но с другой стороны, если первое изображение поста вертикальное, что подогнав его по высоте в 125px мы получим большие отступы по краям. Что так же не презентабельно будет смотреться.

Прошу помощи в окультуривании всего этого хозяйства, чтобы картинка помещалась в размеры 180х125, а все, что не поместилось - обрезалось стилями.

В CSS не силен, моих познаний не хватило, чтобы это реализовать :(

Вот сам стиль:

.crp_related {

clear: both;
margin: 10px 0;
}
.crp_related h3 {
margin: 0 !important;
}
.crp_related ul {
list-style: none;
float: left;
margin: 0 !important;
padding: 0 !important;
}
.crp_related li, .crp_related a {
float: left;
overflow: hidden;
position: relative;
text-align: center;
}
.crp_related li {
margin: 5px !important;
border: 1px solid #ddd;
padding: 6px;
}
.crp_related li:hover {
background: #eee;
border-color: #bbb;
}
.crp_related a {
-webkit-box-shadow: none !important;
-moz-box-shadow: none !important;
box-shadow: none !important;
text-decoration: none !important;
}
.crp_related a:hover {
text-decoration: none;
}
.crp_related .crp_title {
color: #fff !important;
position: absolute;
bottom: 0;
padding: 3px;
color: #fff;
font-size: .9em;
text-shadow: 1000 .1em .1em .2em;
background: rgb(0.5, 0.5, 0.5);
background: rgba(0, 0, 0, 0.5);
-webkit-border-radius: 7px;
-moz-border-radius: 7px;
border-radius: 7px;
}
.crp_related li:hover .crp_title {
background: rgb(0.2, 0.2, 0.2);
background: rgba(0, 0, 0, 0.8);
}
.crp_related li {
vertical-align: bottom;
-webkit-box-shadow: 0 1px 2px rgba(0,0,0,.4);
-moz-box-shadow: 0 1px 2px rgba(0,0,0,.4);
box-shadow: 0 1px 2px rgba(0,0,0,.4);
-webkit-border-radius: 7px;
-moz-border-radius: 7px;
border-radius: 7px;
}
.crp_clear {
clear: both;
}
.crp_title:visited {
color: #fff !important;
}

Спасибо всем, кто откликнулся и пришел на помощь ;)

- Дорогой выкуп баннерных показов (https://goo.gl/Haxr87). Советую! - СеоПульт (https://seopult.ru/ref/0c1642776e7e1b04) + крауд-ссылки (https://goo.gl/3eXcqn) = успех - Проверенный CashBack сервис (https://goo.gl/mAIbxw). До 30%
I2
На сайте с 07.03.2015
Offline
38
#1

Погуглите по запросу "object-fit:cover"

Качественная верстка PSD макетов (/ru/forum/974524)
tommy-gung
На сайте с 22.11.2006
Offline
304
#2

и html-код тоже не помешал бы

Здесь не могла быть ваша реклама
HL
На сайте с 12.12.2012
Offline
118
#3

indenger20, так судя по инфе на htmlbook.ru дружит только с оперой (((

I2
На сайте с 07.03.2015
Offline
38
#4

HotLab, не только в опере работает, посмотрите вот здесь.

HL
На сайте с 12.12.2012
Offline
118
#5

tommy-gung, в коде это выглядит примерно вот так, только в 1 строчку

<div class="crp_related ">
<h4>Похожие записи:</h4>
<ul>
<li><a href="http://www.site.ru/post-1/" rel="nofollow" target="_blank"><img src="http://www.site.ru/img/1.jpg" alt="Заголовок 1" title="Заголовок 1" style="max-width:180px;max-height:180px;" class="crp_thumb crp_correctfirst"><div class="crp_title">Заголовок 1</div></a></li>
<li><a href="http://www.site.ru/post-2/" rel="nofollow" target="_blank"><img src="http://www.site.ru/img/2.jpg" alt="Заголовок 2" title="Заголовок 2" style="max-width:180px;max-height:180px;" class="crp_thumb crp_correctfirst"><div class="crp_title">Заголовок 2</div></a></li>
<li><a href="http://www.site.ru/post-3/" rel="nofollow" target="_blank"><img src="http://www.site.ru/img/3.jpg" alt="Заголовок 3" title="Заголовок 3" style="max-width:180px;max-height:180px;" class="crp_thumb crp_correctfirst"><div class="crp_title">Заголовок 3</div></a></li>
</ul>
<div class="crp_clear"></div>
</div>
tommy-gung
На сайте с 22.11.2006
Offline
304
#6

я бы так сделал, но нужно смотреть какие картинки используются:


.crp_related li {
width: 180px;
height: 180px;
}
.crp_related li img {
display: block;
width: 100%;
height: auto;
}
HL
На сайте с 12.12.2012
Offline
118
#7

tommy-gung, не, немного не то ((( Получается 3 слипшихся квадрата в ряд ...

S
На сайте с 30.09.2016
Offline
469
#8

HotLab, а Вам что не нравится: то, что квадраты, или то, что в ряд?

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
HL
На сайте с 12.12.2012
Offline
118
#9

Sitealert, нет. То, что они в ряд - это отлично, так и надо. А вот отступов между ними нет и картинка прижата к верхнему краю. Сейчас пытаюсь своими силами подшаманить, пока не особо получается ...

Вот как это выглядит с теми стилями, что я выложил в первом посте. Там, где размозня - названия постов, которые берутся из заголовка записи

С твоими стилями вывод приобретает вот такой вид:

S
На сайте с 30.09.2016
Offline
469
#10

Прижаты - это в стилях (изменить то, что было вначале)

.crp_related li {
margin: 5px !important;
border: 1px solid #ddd;
padding: 6px;
}
Ставьте вместо 5px столько, сколько надо - хоть 10, хоть 20.

Уменьшить высоту рамки - это 100px здесь

.crp_related a {
box-shadow: none !important;
text-decoration: none !important;
height: 100px;
}

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий