Вырезание
Буквицы, которые мы обсуждали ранее как часть иллюстрируют очень распространенный — как для НТМ, так и для ХМ — сценарий вывода: есть некий блок текста, и нужно; чтобы другой блок текста его обтекал. Это понятие может оказаться знакомым тому, кто сталкивался в НТМ с атрибутом (выравнивание) свойства, который не только позволяет задавать выравнивание образа, но и устанавливать, как другой текст будет его обтекать. Чтобы получить такой эффект, необходимо использовать СЗЗ, в частности свойство
может принимать одно их трех допустимых значений —или попе — и работает, заставляя элемент, который обладает этим С88-свойст-вом, "течь" в указанном направлении — слева или справа (если есть такая возможность). Текст, внешний по отношению к "текущему" тексту, будет, в свою очередь, пытаться "течь" по противоположной стороне. Таким образом, если для некоторого блочного элемента задано значение СЗЗ-свойства то он будет двигаться слева от контейнера объекта, т.е. справа по отношению к остальному содержанию.
Обтекающий текст заканчивается вне нормального потока и с успехом может быть последним элементом, содержащимся в блоке, но если значением является , то он перейдет в начало. Если только элемент объявлен обтекающим,- он автоматически переходит в верхний левый угол ближайшего блочного элемента (во всяком случае, в западных сценариях). В этом случае при определении высоты строки обтекаемый элемент не учитывается.
Обтекание можно также использовать для создания рамок. Рамка — это термин, используемый в книгах и журналах для обозначения части текста, отделенной от основного текста, которая часто содержит информацию, дополняющую основной текст.
Рамки полезно использовать для выделения дополнительной информации, не отвлекая от хода основного текста, но они не так распространены в НТМ-выводе, как могли бы, потому что в обычном НТМ их довольно трудно создавать. Однако мы можем воспользоваться С88 для создания соответствующих рамок в НТМ (в данном случае — в ХМ), сделав прямоугольник рамки "обтекающим".
Рамка имеет свои собственные внутренние характеристики стиля. Она предшествует основному тексту — обтекание происходит относительно текущего потока, поэтому размещение ее после основного текста приведет к обтеканию рамки под основным текстом, что, вероятно, вовсе не тот результат, который нужен.
Вывод, приведенный выше, демонстрирует как можно выполнять слож-1 ное форматирование с помощью обтекающего объекта. Способность обтекать оказывается полезной в ситуациях, когда нужно что-либо упаковать. Но | хотелось бы иметь больше возможностей для определения границ обтекающего объекта (например, чтобы они повторяли контуры частично прозрачного ).
Меню
- XML в браузере: каскадные таблицы стилей
- XML-декларация
- XPath
- XSLT и XPath
- Анализ XML
- Атрибуты
- Внутреннее устройство XSLT
- Внутреннее устройство XSLT
- Зачем нам нужны таблицы стилей
- Императивное программирование против декларативного программирования
- Инструкции обработки
- Интерфейсы DOM
- Каскадные таблицы стилей и XML
- Комментарии
- Недопустимые символы в PCDATA
- Правильно оформленный XML
- Пустые элементы
- Совместное использование XSLT и CSS
- Таблицы стилей для звукового вывода
- Таблицы стилей и HTML
- Теги, текст и элементы
- Что такое DOM
- Что такое XSL
- Элементы XSLT и их использование
- Ядро DOM в деталях
