Допустим, он изначально представлен в виде BBCODE-разметки, допустимой на этом форуме + [H]Подзаголовок[/H]. Но при преобразовании в HTML должно выполняться условие: подзаголовки не должны обтекать картинки, даже если у картинок стоит обтекание (то есть если бы не было врезки, то 100% верным решением было бы просто clear:both у подзаглововков). Врезка все портит
вся сложность в том, чтобы разбить на блоки, т.к. html произвольный в самом общем случае. Блок собственно может и не быть оформлен в блок. Это может быть просто текст со вставленными подзаголовками. Ну и display:table не совсем гуд из-за эффекта вытянутого последнего блока.
dkameleon, уже что-то.. Но тоже косяки есть.
В первом варианте - последний из необтекающих абзацев не обтекает, а идет с фиксированной шириной вниз (из-за display:table)
Во втором варианте - первый абзац тянет за собой по высоте всю врезку, не обтекая ее.
Все-таки думаю в сторону яваскрипта, но пока толком не могу придумать алгоритм отрисовки
выбирайте:
1. <meta refresh>
2. file_put_contents
В этом случае (если я все правильно понял), достаточно принудительно сделать врезку чуть больше по высоте + прозрачный низ. Какова реализация?
сейчас как раз думаю именно над этим вариантом
щас пойду почитаю отличие display:block от display:table. Но что-то мне подсказывает, что в данном случае разницы не будет
увы :( картинки тоже произвольные...
Стоит увеличить ширину статьи, и получаем ошибку. То же самое, если увеличить объем первого абзаца - он не будет обтекать статью.
При уменьшении объема 2 абзаца получаем ошибку: подзаголовок не обтекает врезку.
Туго идет 🚬 я на эту задачу тоже немало времени потратил :)
Есть свежие идеи? Возможно, JS подключить? :)
psylosss добавил 05.07.2008 в 14:51
Не катит. Врезка динамическая, как и текст. Слишком серьезное ограничение. К тому же ширина экрана и т.п....
Вот ваш пример при высокой врезке. Ошибка: статья не обтекает врезку, начиная со второго абзаца.
Вот контрпример. Ошибка: заголовок обтекает вторую картинку, выровненную по правому краю, а не должен.
Не соответствует: если картинок в одном абзаце несколько и они выровнены как по левому, так и по правому краю?
см. п.1
Сейчас смастерю более наглядный пример.