Разделение длинной страницы на несколько страниц - PullRequest
2 голосов
/ 31 октября 2010

Я хочу вытянуть динамический контент, который состоит из длинного текстового ввода с некоторыми изображениями, в div с фиксированной шириной (300 пикселей) и высотой (1000 пикселей), проблема в том, что я не могу использовать переполнение: auto в css длина контента превышает высоту div (1000 пикселей), вместо этого меня просят разбить длинный контент на страницы с нумерацией страниц.

Можно ли достичь с помощью PHP или мне нужно использовать javascript (jquery)?

Я думал подсчитать количество символов и разделить их, но это не совсем корректно, если содержимое содержит изображения разных размеров ...

Есть идеи ??

Ответы [ 3 ]

3 голосов
/ 31 октября 2010

Это может быть очень сложно (я бы хотел сказать «невозможно») сделать это на стороне сервера, потому что существует слишком много клиентских эффектов, которые невозможно рассчитать (настройки браузера по умолчанию для полей, отступов, Высота строки, размер шрифта и пользовательские настройки для увеличения), я бы предпочел сделать это на стороне клиента.

Я сделал небольшой пример, используя jQuery: http://jsfiddle.net/doktormolle/XwUuA/

Он берет дочерние узлы целевого элемента и упаковывает их в новые элементы, которые имеют те же размеры, что и целевой элемент (если высота обертки не превышает высоту целевого элемента) ,

Может быть, это полезно для вас (это черновик, конечно, над ним еще нужно поработать, чтобы он соответствовал вашим потребностям)

0 голосов
/ 31 октября 2010

Я хотел сделать что-то похожее с HTML, но в приложении C # Windows Forms. Я хотел сгенерировать некоторое содержимое на основе таблиц базы данных и отправить его на принтер. Содержимое должно было поместиться в документы формата А4.

После большого количества проб и ошибок я измерил максимальный размер содержимого на основе его размера, места и т. Д. И записал числа в CSS-часть моего HTML. С этим я мог получить хороший результат. Все еще некоторые небольшие ошибки на некоторых входах, но это работало для меня!

0 голосов
/ 31 октября 2010

Вы можете использовать PHP. Узнайте, сколько символов вы можете получить на строку, и сколько строк символов поместится в вашем div. Затем с помощью PHP подсчитайте символы, разделите их на символы / строки, и у вас будет количество строк, которые займет ваш текст. Затем вы можете использовать getimagesize (), чтобы получить размеры изображений, и перейти оттуда.

Подробнее см. PHP-функция .

...