(Эта страничка использует каскадные таблицы стилей CSS)
Данный документ является переводом статьи "Web Style Sheets CSS tips & tricks".
Оригинальная версия документа существует только на сайте W3C https://www.w3.org/Style/Examples/007/figures.html
Данный перевод НЕ является официальным документом W3C.
Все Авторские Права Принадлежат W3C.
Данный документ может содержать ошибки перевода и опечатки.
Автор перевода: Евгений Скрипец - вдохновитель Speed Lab. Все переводы автора: en, ru, uk
Локальная версия: https://www.indeep76.com/Style/Example007/figures.html
Масштабированная модель Эйфелевой башни в Парке Мини-Франция
HTML не имеет элементов, которые бы позволили вставить в документ изображение с подписью. Есть возможность сделать это в HTML3, но только не в HTML4. В HTML4 только одна возможность сделать это:
<div class="figure"> <p><img src="eiffel.jpg" width="136" height="200" alt="Eiffel tower"> <p>Масштабированная модель Эйфелевой башни в Парке Мини-Франция </div>
Затем в таблице стилей используйте класс "figure" для форматирования фигуры, так как вам необходимо. К примеру, для смещения фигуры вправо на расстояние равное 25% от ширины параграфа, в котором находится данная фигура вам необходимо выполнить следующее:
div.figure { float: right; width: 25%; border: thin silver solid; margin: 0.5em; padding: 0.5em; } div.figure p { text-align: center; font-style: italic; font-size: smaller; text-indent: 0; }
Фактически, только первые два определения (float и width) необходимы, остальные только для декоративного оформления.
Здесь только одна проблема, и она заключается в том, что изображение может быть слишком широким. В этом случае, изображение всегда 136 пикселей ширины и DIV - 25% от окружающего текста. И если вы сделаете окошко меньше, то изображение может не поместиться и вылезти за рамку DIV (попробуйте это!).
Если вы знаете ширину всех изображений в документе, то вы можете добавить минимальную ширину DIV, вот так:
DIV.figure { min-width: 150px; }
Другой способ это масштабировать само изображение. Это то, что мы сделали с изображением справа. Как вы может быть видели, если вы сделаете окно браузера слишком широким - изображение JPEG масштабируется не очень хорошо. Но если это изображение диаграмма или график в SVG формате, то масштабирование работает просто великолепно. Здесь разметка, которую мы использовали:
<div class="figure"> <p><img class="scaled" src="st-tropez.jpg" alt="St. Tropez"> <p>Saint Tropez и его форт в вечернем солнце </div>
А это таблица стилей для этого изображения:
div.figure { float: right; width: 25%; border: thin silver solid; margin: 0.5em; padding: 0.5em; } div.figure p { text-align: center; font-style: italic; font-size: smaller; text-indent: 0; } img.scaled { width: 100%; }
Одно дополнение: этот приём делает изображение настолько широким, насколько позволяет DIV (площадь внутри border и padding).
Текущие (Январь 2003) предложения для XHTML2 имеют CAPTION элемент, который может быть использован с OBJECT. Если это предложение будет принято, то не будет необходимости использовать DIV и CLASS, и, наконец, в XHTML2, вы сможете писать:
<object data="eiffel.jpg"> <caption>Масштабированная модель Эйфелевой башни в Парке Мини-Франция</caption> </object>