Jump to content
  • 0

Картинки под высоту экрана


avector
 Share

Question

Добрый день.

Для примера таблица с одной строкой и 2мя столбцами. В первом столбце текс, во втором - картинки одна под другой. Высота картинок 200px.

Как сделать так, чтобы картинки занимали ровно столько места по высоте на экране, сколько текст? Например, если текста немного, должно быть 4 картинки. Если текста много (высота таблицы увеличивается, появилась полоса прокрутки в браузере), картинок должно стать 5 или 6.

Пишу под PHP.

Link to comment
Share on other sites

16 answers to this question

Recommended Posts

  • 0
CSS:

background: url(..);

И что дальше? Картинок-то несколько, через background можно вывести только 1.

через PHP я могу выдать сколько угодно картинок. Проблема в том, что текст может быть на одну страницу, тогда достаточно 4, или текст может быть на 5 страниц, тогда картинок нужно 4x5=20.

Link to comment
Share on other sites

  • 0
Делаете из всех ваших картинок 1 - одна под одной. И ставите фоном.

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

А если еще нужно, чтобы картинки случайно менялись местами, тогда как?

Такое решение было в предыдущей версии сайта.

Link to comment
Share on other sites

  • 0
Можно мерять длину текста в PHP и делать пропорции.

Как это практически реализовать. То есть узнать, какая высотка у таблицы в данный момент. По-моему, это уже задача браузера сформировать высоту таблицы, через php это сделать нельзя.

Link to comment
Share on other sites

  • 0
Можно мерять длину текста в PHP и делать пропорции.

Как это практически реализовать. То есть узнать, какая высотка у таблицы в данный момент. По-моему, это уже задача браузера сформировать высоту таблицы, через php это сделать нельзя.

Узнать какая высота таблицы не получится.Я предлагаю узнавать длину самого текста.Если длина меньше 10000,выводить столько-то картинок,если больше,выводить больше картинок.Хотя высоту получится узнать,посчитав среднее количество знаков в строчке и зная расстояние между строками.Потом разделить длину текста на количество знаков в строке и умножить на расстояние между строками.

Link to comment
Share on other sites

  • 0
Можно мерять длину текста в PHP и делать пропорции.

Как это практически реализовать. То есть узнать, какая высотка у таблицы в данный момент. По-моему, это уже задача браузера сформировать высоту таблицы, через php это сделать нельзя.

Узнать какая высота таблицы не получится.Я предлагаю узнавать длину самого текста.Если длина меньше 10000,выводить столько-то картинок,если больше,выводить больше картинок.Хотя высоту получится узнать,посчитав среднее количество знаков в строчке и зная расстояние между строками.Потом разделить длину текста на количество знаков в строке и умножить на расстояние между строками.

Подошло бы решение, если текст действительно состоял из одних символов. Но в тексте будут картинки, таблицы, разметка, много еще всего, что увеличивает высоту таблицу.

Спасибо за совет, но я не могу его применить.

Link to comment
Share on other sites

  • 0
Предлагаю сделать таблицу с двумя столбцами.Один тянется на всю страницу,а другой разбит на части.Во втором используй background.Не тестировал,поэтому гарантии не даю.

такой вариант привел меня к печальным результатам. Действительно, это позволяет растягивать картинку по высоте страницы. Но! при этом также меняется высота картинок, она сужается так, чтобы вместиться по высоте. Если же задавать высоту руками, все картинки размещаются и вытягивают таблицу.

Link to comment
Share on other sites

  • 0
Как сделать так, чтобы картинки занимали ровно столько места по высоте на экране, сколько текст? Например, если текста немного, должно быть 4 картинки. Если текста много (высота таблицы увеличивается, появилась полоса прокрутки в браузере), картинок должно стать 5 или 6.

Интересно, как картинка может по высоте занимать ?ровно столько-же пикселей?, сколько текст, если заранее не известно, что высота картинки не является делителем высоты строчки шрифта (или является?)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy