spamsink: (raytrace)
[personal profile] spamsink
Есть у меня маленькая картинка. Ее в HTML можно масштабировать до любого размера, хоть фиксированного в пикселах:
,
хоть в процентах от размера окна браузера:


А вот если у меня есть мозаика из разных картинок (<span style="white-space: nowrap;"><img ...><img ...><img ...><br>...</span>), например (здесь для простоты одинаковые),





Можно ли средствами HTML/CSS её масштабировать как единое целое, пусть даже с помощью iframe?
Дробные проценты у каждой картинки не предлагать - работает плохо.

Upd: Текущее решение (кто лучше?):
<div style="transform-origin: 0 0; white-space: nowrap;" 
    onmouseover="this.style.transform='scale('
        +(window.innerWidth-40)/наперед известная суммарная ширина картинок
        +')';"
>....

Caveats:

  • минус 40 (вроде хватает) - на случай наличия вертикального скроллбара; если его не учитывать, появляется горизонтальный скроллбар.
  • onload у меня в не очень новом файрфоксе почему-то не работает.

Date: 2014-05-08 10:25 pm (UTC)
From: [identity profile] maksa.livejournal.com
Обязательно задавать каждую картинку отдельно? background-image (с повторением одной и той же картинки) не подойдёт?

Date: 2014-05-08 10:58 pm (UTC)
From: [identity profile] maksa.livejournal.com
Картинки должны масштабироваться вместе с изменением размера окна? То есть, скажем, давать в сумме 60 % от ширины окна?

А что если загнать их в таблицу (каждая картинка — фон каждой ячейки)?

Date: 2014-05-08 11:29 pm (UTC)
From: [identity profile] maksa.livejournal.com



<table width="60%" cellpadding=0 cellspacing=0>
<tr>
<td width="25%"><img width="100%" src="http://l-userpic.livejournal.com/115509326/7162160"></td>
<td width="25%"><img width="100%" src="http://l-userpic.livejournal.com/115509326/7162160"></td>
<td width="25%"><img width="100%" src="http://l-userpic.livejournal.com/115509326/7162160"></td>
<td width="25%"><img width="100%" src="http://l-userpic.livejournal.com/115509326/7162160"></td>
</tr>
<tr>
<td width="25%"><img width="100%" src="http://l-userpic.livejournal.com/115509326/7162160"></td>
<td width="25%"><img width="100%" src="http://l-userpic.livejournal.com/115509326/7162160"></td>
<td width="25%"><img width="100%" src="http://l-userpic.livejournal.com/115509326/7162160"></td>
<td width="25%"><img width="100%" src="http://l-userpic.livejournal.com/115509326/7162160"></td>
</tr>
</table>
Edited Date: 2014-05-08 11:33 pm (UTC)

Date: 2014-05-08 11:43 pm (UTC)
From: [identity profile] b0p0h0k.livejournal.com
Понимаю. :)
Где-то на четверть больше.

Date: 2014-05-08 11:43 pm (UTC)
From: [identity profile] maksa.livejournal.com






Я спать; надеюсь, гуру вёрстки что-то подходящее всё-таки предложат.

Date: 2014-05-08 10:38 pm (UTC)
From: [identity profile] larisaka.livejournal.com
она перемасштабировала мне ленту, и следующий пост наложился прямо на нее. :)

Date: 2014-05-08 10:42 pm (UTC)

Date: 2014-05-08 10:45 pm (UTC)
From: [identity profile] larisaka.livejournal.com
ой, а если без ?style=mine, то все ок. что такое? так не может быть. я же в своем стиле in both cases

Date: 2014-05-08 11:26 pm (UTC)
From: [identity profile] sasha-gil.livejournal.com
Я бы попробовал на объемлющем элементе (сделав его DIV-ом, не SPAN-ом для упрощения ситуации) CSS-стиль transform. Для конкретного старого браузера может потребоваться конкретный префикс, см., например, https://developer.mozilla.org/en-US/docs/Web/CSS/transform?redirectlocale=en-US&redirectslug=CSS%2Ftransform
Page generated Mar. 9th, 2026 09:06 pm
Powered by Dreamwidth Studios