Как разместить картинку справа от текста в html
Как сделать обтекание картинки текстом в HTML и CSS
Сегодня изображения используются в интернете практически повсеместно. Невозможно себе представить веб страницу на которой нет изображения. Картинки привлекают внимание, улучшают внешний вид и восприятие текста. Поэтому в данном уроке мы научимся позиционировать изображения по отношению к тексту и рассмотрим как сделать обтекание картинки текстом в HTML, а так же при помощи CSS свойств и значений.
Обтекание картинки текстом при помощи HTML
Наиболее простой, способ позиционирования картинки на странице это воспользоваться средствами HTML. Но у данного способа, по сравнению с возможностями CSS есть недостаток, в нем нет возможности установить отступ между картинкой и текстом, а лишь можно сделать так, чтобы текст обтекал изображение.
Рассмотрим все по порядку. Для вставки картинки в HTML страницу используется тег img, подробнее смотрите урок, как вставлять картинки в HTML: http://webmastermix. ru/lessons-html/14-how-inser-a-picture-in-html.html. Поэтому, чтобы вставить картинку в текст HTML страницы, достаточно в коде прописать следующее:
— где foto.jpg — это относительный путь к картинке. Можно задать и абсолютный путь, тогда нужно прописать URL вида: http://webmastermix.ru/foto.jpg
У тега img имеется атрибут align, который и определяет по какому краю будет расположена картинка и с какого края ее будет обтекать текст (например align=»left» по левому краю). Атрибут align имеет следующие значения:
- left — изображение будет расположено по левому краю, а текст будет обтекать его справа;
- right — изображение расположится справа, а текст будет обтекать его слева;
- bottom — отвечает за вертикальное выравнивание, при этом картинка будет находится слева, а нижняя часть изображения на против первой строки текста, это значение задано по умолчанию;
- top — тоже, что и предыдущее значение, только строчка текста будет располагаться по верхней границе изображения;
- middle — при данном значении происходит выравнивание середины изображения по базовой линии строки.
Теперь рассмотрим каждый элемент на практике.
1. Как я уже упоминал, по умолчанию картинке заданно значение bootom, т. е. не зависимо от того, пропишем мы его или нет наша картинка по отношению к тексту будет позиционирована так:
2. Чтобы выровнять изображение по левому краю, а текст его обтекал справа нужно прописать следующее:
3. Для выравнивания изображения по правому краю нужно соответственно прописать:
4. Теперь рассмотрим вертикальное выравнивание. Если применить значение top, то первая строчка текста будет расположена на против верхней границы изображения.
5. Выравнивание текста по центру картинки. Данный прием очень хорошо применять если вам нужно небольшую картинку расположить по центру строки.
Обтекание картинки текстом при помощи свойств CSS
Как вы могли заметить на вышеприведенных примерах наша картинка и текст не совсем красиво располагаются по отношению друг к другу. Расположить их красиво на помогут CSS стили, которые можно добавить к картинке задав ей определенный класс и применив нужные свойства. Если вы не знаете, что такое CSS смотрите урок Основы CSS и важные понятия: http://webmastermix.ru/lessons-css/17-bases-css.html.
На самом деле, те примеры создающей обтекание текста и позиционирование картинки, которые мы рассмотрели выше являются немного устаревшими, сейчас принято все элементы отвечающие за внешний вид страницы делать при помощи свойств и значений CSS.
Разберем простой пример, как сделать обтекание картинки текстом, когда картинка расположена по левому краю, а текст обтекает ее справа. При этом между текстом и картинкой зададим определенные отступы.
В начале нужно присвоить нашей картинке определенный класс, тут можете использовать любое слово главное чтобы патом вы поняли за, что именно этот класс отвечает, в дизайне вашей страницы. Делается это так:
Теперь классу leftfoto нужно присвоить определенные CSS стили.
Данный код располагают между тегами <head>. </head>, заключив в теги <style>. </style> или помещают во внешний файл стилей CSS.
Разберем те элементы, которые мы здесь задали:
- float:left; — мы позиционировали картинку по левому краю и заставили обтекать текст вокруг картинки справа, это по сути то же самое, что и атрибут align=»left».
- margin: 4px 10px 2px 0px; — мы задали внешние отступы, 4px — от верха, 10px — справа, 2px снизу и 0px слева от изображения.
Добавив к данным стилям рамку и внутренний отступ можно придать изображению некий эффект фотографии с белыми краями:
Изображения в HTML — Как вставить изображение на страницу — Оформление изображений
Графика является важной составляющей Интернет. Без графических изображений не обходится ни один сайт. Различные фотографии, иконки, значки, кнопки, рекламные баннеры и т.д. и т.п. являются неотъемлемыми элементами современных веб-страниц.
Как вставить изображение?
В основном на страницах размещают изображения в одном из трех графических форматов: gif , jpg/jpeg или png (подробнее здесь. ).
Для вставки изображения на веб-страницу предназначен тег <img> и его обязательный атрибут src , который указывает адрес файла с изображением — абсолютный или относительный путь к файлу (подробнее здесь. ).
Атрибут align тега <img> позволяет разместить изображение справа или слева относительно текста и других элементов страницы, либо расположить его определенным образом относительно базовой линии текущей строки.
Выравниваем изображение по базовой линии текущей строки.
Рамка вокруг изображения
Атрибут border тега <img> позволяет заключить изображение в рамку, цвет которой совпадает с цветом текста на странице, а толщина задается в пикселях. По умолчанию рамка отсутствует.
Изображение заключено в рамку, толщиной 2 пикселя.
Размер изображения
Размеры графического изображения желательно всегда указывать явно с помощью атрибутов height и width , задающих соответственно высоту и ширину изображения.
В противном случае браузеру требуется дополнительное время для самостоятельного вычисления размеров изображения, что влияет на скорость загрузки страницы.
Размер изображения задается в пикселях и на скорость его загрузки не влияет.
Отступы от изображения
Отступы от изображения (или поля вокруг изображения) до других элементов страницы задаются с помощью атрибутов hspace и vspace — отступы по горизонтали и вертикали соответственно.
Отступы задаются в пикселях.
В данном случае отступы от изображения по горизонтали, с одной стороны до текста, а с другой — до края родительского элемента, составляют 50 пикселей.
Альтернативный текст и всплывающая подсказка
При помощи атрибута alt тега <img> к изображению добавляют альтернативный текст.
Альтернативный текст используют для краткого описания содержимого картинки, когда само изображение по какой-либо причине недоступно (например, если в Вашем браузере отключена автоматическая загрузка изображений).
Таким образом альтернативный текст Вы увидите, если браузер не загрузил или еще не загрузил изображение.
Всплывающая подсказка к картинке добавляется при помощи атрибута title . Она появляется при наведении на изображение курсора.
Попробуйте отключить автоматическую загрузку изображений в Вашем браузере, и вместо пингвина в рамке Вы увидите «Альтернативный текст».
Выравнивание картинок
В зависимости от положения изображения различают разные способы их выравнивания. Так, рисунок может выравниваться по правому или левому краю окна браузера или, если он встраивается непосредственно в текстовую строку, по базовой линии текста.
Обтекание изображения текстом
Выравнивание изображения с одновременным обтеканием его текстом — один из популярных приёмов вёрстки веб-страниц, когда изображение располагается по краю окна браузера, а текст обходит его с разных сторон. Для создания обтекания изображения текстом существует несколько способов, самый удобный, конечно же, связан с применением стилей.
Для обтекания картинки текстом применяется стилевое свойство float . Значение right будет выравнивать изображение по правому краю родительского элемента или окна браузера, а текст размещать слева от рисунка. Значение left , наоборот, выравнивает изображение по левому краю, а текст — справа от рисунка (пример 1). Элемент, для которого установлено значение float , обычно называется плавающим. Это название, конечно же, условное и говорит лишь о том, что текст или другие объекты будут обходить его с разных сторон, создавая обтекание.
Пример 1. Применение float
В данном примере вводится два класса с именами left и right , добавление которых к элементу <img> или <figure> выравнивает их по соответствующему краю. Чтобы текст немного отступал от картинки добавляется универсальное свойство margin . На рис. 1 показано выравнивание по левому краю.
Рис. 1. Выравнивание фотографии по левому краю
Выравнивание рисунка относительно текста
Картинки можно добавлять непосредственно в текст и управлять их положением относительно текста с помощью свойства vertical-align . По умолчанию картинка выравнивается по базовой линии — это невидимая горизонтальная линия, проходящая по нижнему краю символов. Некоторые буквы (д, р, у, ф, ц, щ) содержат нижний выносной элемент, выходящий за базовую линию (рис. 2).
Рис. 2. Базовая линия
Если просто вставить рисунок посередине строки, то он будет выглядеть следующим образом (рис. 3).
Рис. 3. Картинка, выровненная по базовой линии текста
В примере 2 все изображения внутри абзаца <p> выравниваются посередине текста, для этого в качестве значения применяется middle .
Пример 2. Выравнивание картинки относительно текста
<!DOCTYPE html> <html> <head> <meta charset=»utf-8″> <title>Изображения</title> <style> p img < vertical-align: middle; ></style> </head> <body> <p>Вид самой кривой изменяется с помощью инструмента карандаш <img src=»image/pen.png» alt=»»>. Для создания прямых отрезков устанавливайте точки удерживая клавишу Shift. </p> </body> </html>
Результат данного примера показан на рис. 4. Заметьте, как изменилось положение верхней строки с картинкой.
Как расположить картинку справа в html
Тут я приведу два способа как расположить картинку справа или слева от текста ПО УГЛАМ. Выбирайте кому какой будет удобнее.
В HTML формате после адреса картинки нужно добавить align=»left» и картинка будет слева от текста или align=»right»
и картинка будет справа от текста.
А если вам надо просто вставить по углам картинки (без текста, или с другой картинкой), то используйте вот такие формулы. Вот пример:
— картинка слева
— картинка справа
Код нужно ставить ПЕРЕД текстом и тогда всё получится.
URL адрес картинки — это код с радикала №1.
Способ 2
Если слева или справа должно находиться несколько картинок в столбик, то лучше построить таблицу.
вот этот код.
Здесь будет ваш текст. текст
Когда будете выстраивать картинки в столбик, то Здесь (вместо слов правая (если каритнка слева и наоборот) ставится код радикала №6, а можно и обычный код HTML. И еще, кто будет брать код №6, что бы картинка или разделитель не были в синей рамочке, в конце кода вот такие значки «> (кавычка и угловая скобка) и вставьте между ними border=»0»
Все это вы делаете в формате HTML, в простой формат не переходите, так как формулы сбиваются,
Но вам не всегда бывает нужна картинка, которая располагается по углам. иногда нодо что бы она встала рядом с текстом, или на каком то расстоянии от него. Тогда делаем так
Картинка справа или слева от текста
Если вы хотите разместить в своём посте картинку слева или справа от текста, то
1. Загрузите картинку на сайт Фоторадикал — http://www.radikal.ru/
2. Из предложенных НTML-кодов скопируйте код №6. (перед копированием необходимо в правом столбце «Полноразмерное изображение» выбрать вариант «не кликабельное»). Теперь выделить мышью код №6 и копировать.
3. Вставьте код картинки в НTML-режиме в ту часть текста, где вы хотите видеть свою картинку.
4. В самом конце кода найдите вот такие значки «> (кавычка и угловая скобка) и вставьте между ними align=»left» или align=»right»
5. Чтобы картинка не слиплась с текстом, добавьте «hspace=. «
align=»left»hspace=20 — картинка слева с отступом от края и от текста в 20 пикселов
align=»right»hspace=30 — картинка справа с отступом от края и от текста в 30 пикселов
6. Если вам нужно увеличить или уменьшить картинку то ставите коды width=»130″ height=»190″- ‘mj ширина и высота картинки в пикселях. Они ставятся сразу после адреса картинки (после .gif») , затем стоит border=»0″ и уже после ставится код справа или слева будет картинка. Но пока ве не научились хорошо орентироватся в кодах, ограничьтесь адресом, border=»0″ и кодом-право- лево
6. Жмите кнопку «Предпросмотр». Если всё устраивает — жмите «Сохранить».
Если рисунок следует расположить справа от текста, то значение float меняем на right, а свойство margin-left на margin-right.
Как расположить картинки HTML?
Расположение картинки в HTML
Как и ко многим тегам HTML, к применим атрибут align, который выполняет выравнивание изображения: <img src=”example. png” align=”top”> — картинка располагается выше текста; <img src=”example.
Как сделать текст в HTML справа?
Выравнивание текста в HTML по центру, текст справа:
- align=»left» – определяет выравнивание текста слева (по умолчанию).
- align=»center» – выравнивает текст по центру.
- align=»right» – выравнивает текст справа.
Как поменять расположение текста в CSS?
CSS: Выравнивание текста
- left — выравнивает текст по левому краю.
- right — выравнивает текст по правому краю.
- center — выравнивает текст по центру.
- justify — выравнивает текст по ширине, в таком тексте оба конца строки размещаются вплотную к внутренним краям элемента.
Как переместить картинку в центр CSS?
Вначале рассмотрим выравнивание изображения по центру. Для этого к селектору P следует добавить стилевое свойство text-align со значением center. При этом тег <img> должен располагаться внутри абзаца (тег <p>).
Как написать текст рядом с картинкой в HTML?
Посмотрим, как разместить текст слева или справа изображения.
…
Текст вверху, внизу, по центру изображения
- align=»top» – выравнивает изображение и текст по верху.
- align=»middle» – выравнивает изображение и текст по центру, по вертикали.
- align=»bottom» – выравнивает изображение и текст по низу.
Как уменьшить размер картинки в HTML?
Для изменения размеров рисунка средствами HTML у тега <img> предусмотрены атрибуты width (ширина) и height (высота). В качестве значения используются пикселы, при этом аргументы должны совпадать с физическими размерами картинки.
Как изменить стиль шрифта в HTML?
Чтобы изменить шрифт на всей странице — достаточно указать атрибут style в теге <BODY>. А если необходимо изменить шрифт для отдельной части текста, то заключите его в тег <SPAN> и примените атрибут к нему. Это шрифт Arial, если его нет, то Verdana, а если и его нет, то любой другой из sans-serif.
Как вставить картинку в html в блокноте?
Для добавления картинки на HTML-страницу используется тег IMG. Поддерживаются форматы изображений: PNG, GIF и JPEG. К обязательным атрибутам тега относится атрибут src, в котором указывается адрес файла с изображением.
Как вставить картинку в html пример?
поэтому просто подведу итоги :
- для вставки изображений на html страницу пользуемся одиночным тегом img и указываем адрес файла с картинкой в атрибуте src;
- с помощью атрибута alt тега img можно задавать текст замены на случай если изображение не загрузится;
Как разместить логотип на сайте html?
Чтобы задать логотип в виде ссылки, воспользуйтесь тегом <a> и закрывающим его </a>. Если сайт оснащен панелью управления, то для вставки изображений используйте файл-менеджером. В принципе, логотип можно опубликовать через внесение изменений в html-код.
Как выровнять текст по правому краю Ровно?
Изменение выравнивания текста
- Чтобы выровнять текст по левую кнопку, нажмите CTRL+L.
- Чтобы выровнять текст по правому кнопке, нажмите CTRL+R.
- Чтобы выцентрить текст, нажмите CTRL+E.
Как выровнять текст по правому краю CSS?
Применив значение start к тексту, который идет слева направо (LTR – left-to-right), выравнивание будет по левому краю (соответственно, для текста, идущего справа налево (RTL – right-to-left), выравнивание будет по правому краю).
Как разделить текст на абзацы в HTML?
Синтаксис создания абзацев следующий. Каждый абзац начинается с тега <p> и заканчивается необязательным закрывающим тегом </p>. В любой книге для выделения следующего абзаца используется отступ первой строки, еще называемый «красная строка».
Выравнивание изображения по левому краю страницы, в то время как текст обтекает его, является довольно распространенным решением. В веб этот эффект известен как « смещение » изображения. Подобный стиль реализуется с помощью CSS-свойства float left , которое задает обтекание текстом выровненного по левому краю изображения.
Начинаем с HTML
Для нашего примера мы создадим абзац текста и добавим в начале изображение ( перед текстом, но после открывающегося тега <p>). Вот как выглядит HTML-разметка :
По умолчанию веб-страница будет отображаться с изображением над текстом. Это связано с тем, что в HTML изображения являются блочными элементами. Это значит, что браузер отображает разрывы строки до и после изображения. Мы изменим это поведение по умолчанию с помощью CSS . Но сначала добавим к нашему элементу изображения значение класса:
Стили CSS
Включив в HTML-код атрибут класса « left », можно перейти к vertical align central float left . Мы добавим в таблицу стилей правило, которое задаст смещение изображения. А также несколько дополнительных правил, которые обеспечат, чтобы текст не прилегал к изображению вплотную, обтекая его.
Этот код смещает изображение влево и добавляет небольшие отступы справа и снизу от изображения.
Если просмотреть в браузере страницу, то изображение в ней будет выровнено по левому краю, а текст абзаца будет отображаться справа от него с соответствующим отступом. Одно замечание относительно значения класса « left «, которое мы использовали. Имейте в виду, что это значение является произвольным. Мы могли бы назвать класс как угодно, а термин « left » сам по себе ничего не делает.
Нам просто нужно задать атрибут класса в HTML , который связан с фактическим стилем CSS float left , а он уже определяет визуальные изменения, которые необходимо произвести.
Альтернативные способы
Подход, при котором мы задаем для изображения атрибут класса, а затем используем общий стиль CSS , который смещает элемент, это только один способ « выравнивания по левому краю ». Также можно убрать значение класса и создать эффект, написав более конкретный селектор. Рассмотрим пример, в котором изображение находится внутри раздела со значением класса « main-content «:
Задать стили для изображения можно с помощью следующего кода CSS :
Изображение будет выровнено по левому краю, текст будет обтекать его, как и раньше, но нам не нужно добавлять дополнительное значение класса в разметку. Этот способ выравнивания float left по центру позволит создать меньший HTML-файл , что повысит производительность.
Также можно добавить стили непосредственно в HTML-разметку , например:
Этот метод style float left не является рекомендованным, так как при его использовании стили смешиваются с разметкой, то есть со структурой.
Предпочтительной практикой считается, когда стили и структура страницы разделены. Это особенно полезно, когда нужно быстро изменять макет страницы, подстраиваясь под различные размеры экрана и устройства на адаптивном сайте. Наличие стиля страницы, смешанного с HTML , значительно усложнит создание медиа-запросов, которые могут корректировать внешний вид сайта по мере необходимости.
Дайте знать, что вы думаете по данной теме статьи в комментариях. Мы крайне благодарны вам за ваши комментарии, дизлайки, лайки, подписки, отклики!
Дайте знать, что вы думаете по этой теме материала в комментариях. За комментарии, лайки, отклики, подписки, дизлайки огромное вам спасибо!
Как сделать текст справа от картинки?
Современные текстовые редакторы предоставляют очень широкие возможности для подготовки документов в самых разнообразных форматах. Такие документы могут включать в себя не только текст, но и разные картинки, таблицы, схемы, диаграммы и другие элементы. Гибкость, простота и удобство текстовых редакторов хорошо проявляется в таких вещах, как, для примера, возможность создать текст с правой стороны от картинки. Это можно сделать несколькими способами.
В документе текстового процессора Microsoft Office Word поместить текст справа от картинки можно при помощи изменения свойств в формате ее изображения. Для этого кликните правой кнопкой мыши по изображению. Теперь выберите пункт «Формат рисунка…». После чего откроется диалог с таким же названием. Переключитесь на пункт «Положение». Нажмите мышкой по квадрату, который изображает схему для выравнивания и под ним написано «Вокруг рамки». Выберите опцию с названием «По левому краю». Нажмите «Ок». Теперь ваша картинка будет выровнена по левому краю страницы. Нажмите справа от нее, там вы можете писать нужный текст.
В документе Microsoft Office Word можно ввести текст справа от картинки, поместив их в ячейку таблицы. Для этого установите текстовый курсор сверху над изображением. В главном меню выберите пункт «Таблица», потом «Вставить» и снова «Таблица». На экране появится диалог, где в поле «Число столбцов» укажите «2», а в поле «Число строк» напишите «1». Подтвердите операцию. Теперь перетащите мышкой картинку в левую ячейку таблицы. А текст пишите в правой ячейке. Если есть необходимость, то измените ширину столбцов, перемещая разделительную линию мышкой. После окончания сделайте границы таблицы невидимыми. Для этого нажмите правой кнопкой мыши по ее заголовку. В меню выберите «Свойства таблицы». Нажмите теперь «Границы и заливки». На вкладке «Граница» в группе элементов управления «Тип» укажите «Нет». Подтвердите действия в двух открытых диалогах.
Можно также разместить текст справа от картинки в Microsoft Office Word в качестве содержимого текстового блока. Для этого в главном меню программы выберите «Вставка» и «Надпись». Нажав левую кнопку мыши, очертите курсором прямоугольную область справа от изображения. Так в документе и будет создан текстовый блок. Скорректируйте его размеры до необходимых, просто перетаскивая мышью. Нажмите на блок. Теперь можно писать там текст.
CSS: иллюстрации & подписи
CSS: иллюстрации & подписиЯзыки
Это перевод. Здесь могут содержаться ошибки или страница может быть устаревшей по отношению к Английской версии. Переводчик: Eugene Skrypets (Neighbor Report)
Смотрите также указатель всех приёмов работы.
На этой странице:
- Добавление подписей
- Масштабирование изображения
- Подписи сверху
- Иллюстрации в HTML4
Иллюстрации & подписи
Масштабированная модель Эйфелевой башни в Парке Мини-Франция
В HTML5 включен новый элемент для вставки иллюстрации с подписью. (Мы покажем, как сделать тоже самое в HTML4 ниже.)
<figure> <p><img src="eiffel.jpg" alt="Эйфелева башня"> <figcaption>Масштабированная модель Эйфелевой башни в Парке Мини-Франция</figcaption> </figure>
Например, чтобы сместить изображение вправо на расстояние, равное 30% от ширины окружающих абзацев, используйте следующие правила:
figure { float: right; width: 30%; text-align: center; font-style: italic; font-size: smaller; text-indent: 0; border: thin silver solid; margin: 0. 5em; padding: 0.5em; }
На самом деле, действительно необходимы только две первые декларации (float и width), а остальные использованы исключительно для оформления.
Масштабирование изображения
Здесь только одна проблема, и она заключается в том, что изображение может быть слишком широким. В этом случае, ширина изображения всегда будет составлять 136 px и иллюстрация будет занимать 30% от окружающего текста. И если вы сузите окно, то изображение может не поместиться и вылезти за рамку (попробуйте!).
Если вы знаете ширину всех изображений в документе, вы можете указать минимальную ширину иллюстрации следующим образом:
figure { min-width: 150px; }
Сен-Тропе и его форт в вечернем солнце
Другой способ — это задать масштаб самого изображения. Именно это мы и сделали с изображением справа. Как вы, возможно, видете, если вы сделаете окно браузера слишком широким, изображения в формате JPEG масштабируются не очень хорошо. Но если это изображение — диаграмма или график в формате SVG, то масштабирование работает просто великолепно. Вот разметка, которую мы использовали:
<figure> <p><img class=scaled src="st-tropez.jpg" alt="Сен-Тропе"> <figcaption>Сен-Тропе и его форт в вечернем солнце</figcaption> </figure>
А вот таблица стилей:
figure { float: right; width: 30%; text-align: center; font-style: italic; font-size: smaller; text-indent: 0; border: thin silver solid; margin: 0.5em; padding: 0.5em; }img.scaled { width: 100%; }
И в дополнение последнее правило: этот приём делает изображение настолько широким, насколько позволяет пространство внутри иллюстрации (область внутри рамок и отступов — border и padding).
Размещение подписи сверху
Средиземное море около Кап Ферра
HTML позволяет элементу figcaption быть либо первым, либо последним элементом внутри иллюстрации. Если не применять каких-либо правил CSS, это приведёт к тому, что подпись будет размещена либо над иллюстрацией, либо под ней соответственно.
Однако, независимо от разметки текста, вы можете указать в CSS, чтобы подпись появилась либо над изображением, либо под ним. Этого можно достичь, указав браузеру, что изображение должно быть отформатировано как таблица, в которой картинка является единственной ячейкой, а подпись становится заголовком таблицы. Просто добавьте эти правила в таблицу стилей из предыдущей секции:
figure { display: table; } figcaption { display: table-caption; caption-side: top; }
Стиль, который мы использовали на этой странице, содержит рамку серого цвета. Она обрамляет иллюстрацию. К сожалению, когда мы используем табличную разметку, чтобы поместить подпись сверху или снизу, мы должны указать рамку другим способом, потому что подпись размещена за пределами границы таблицы. Мы можем исправить это, поместив часть границы на саму подпись:
figure { border-top: none; padding-top: 0; } figcaption { padding: 0. 5em; border: thin silver solid; border-bottom: none; }
Иллюстрации & подписи в HTML4
Масштабированная модель Эйфелевой башни в Парке Мини-Франция
HTML4, в отличие от HTML5, не имеет элементов, которые бы позволили вставить в документ изображение с подписью. Это предлагалось сделать (см HTML3), но в итоге в HTML4 предложение не вошло. Вот единственная возможность воспроизвести элемент figure:
<div class=figure> <p><img src="eiffel.jpg" alt="Эйфелева башня"> <p>Масштабированная модель Эйфелевой башни в Парке Мини-Франция </div>
Затем в таблице стилей вы используете класс «figure» для форматирования иллюстрации так, как вам необходимо. Например, чтобы сместить иллюстрацию вправо на расстояние, равное 30% от ширины окружающих абзацев, необходимо применить следующие правила:
div.figure { float: right; width: 30%; text-align: center; font-style: italic; font-size: smaller; text-indent: 0; border: thin silver solid; margin: 0. 5em; padding: 0.5em; }
Как и ранее, необходимы только две первые декларации (float и width), а остальные использованы исключительно для оформления.
Масштабирование изображения в HTML4
Чтобы избежать выхода изображения за рамки иллюстрации и при условии, что вы знаете ширину всех изображений в документе, вы можете добавить минимальную ширину DIV следующим образом:
div.figure { min-width: 150px; }
Сен-Тропе и его форт в вечернем солнце
Чтобы смасштабировать изображение на всю ширину иллюстрации (как мы сделали с изображением справа), вы можете добавить атрибут КЛАССА и соответствующее правило CSS, очень похожее на пример с HTML5 выше. Вот разметка, которую мы использовали:
<div class=figure> <p><img class=scaled src="st-tropez.jpg" alt="Сен-Тропе"> <p>Сен-Тропе и его форт в вечернем солнце </div>
А вот таблица стилей:
div.figure { float: right; width: 30%; border: thin silver solid; margin: 0. 5em; padding: 0.5em; text-align: center; font-style: italic; font-size: smaller; text-indent: 0; } img.scaled { width: 100%; }
Одно дополнение: этот приём делает изображение настолько широким, насколько позволяет DIV (площадь внутри border и padding).
Размещение описания сверху в HTML4
Средиземное море около Кап Ферра
Чтобы разместить подпись сверху, добавьте эти правила в таблицу стилей из предыдущих секций:
div.figure { display: table; } div.figure p + p { display: table-caption; caption-side: top; }
‘+’ приводит к тому, что правило действует на элемент P, который следует за другим P. Что означает, что условие действует на второй элемент P иллюстрации, который содержит описание картинки.
(Эта техника может привести к ошибкам в некоторых браузерах, разработанных ранее 2003, особенно в комбинации с масштабированием изображений, как в примере выше)
Как и прежде, серая рамка, которую мы выбрали для обрамления иллюстраций на этой странице, будет обрамлять только само изображение. Чтобы рамка была вокруг изображения и подписи, добавьте эти правила:
div.figure { border-top: none; padding-top: 0; } div.figure p + p { padding: 0.5em; border: thin silver solid; border-bottom: none; }Bert Bos, style activity lead
Copyright © 1994–2021 W3C® Privacy policy
Created 17 January 2001;
Last updated Ср 06 янв 2021 05:40:49
Языки
- Azərbaycan
- Български
- Deutsch
- Ελληνικά
- English
- Español
- Français
- हिन्दी
- Hrvatski
- Bahasa Indonesia
- Norsk
- Nederlands
- Polski
- Português
- Português brasileiro
- Русский
- ไทย
- Tagalog
- Українська
- Tiếng Việt
- 简体中文
- 繁體中文
О переводах
Как сделать обтекание картинки текстом в HTML и CSS
org/» typeof=»BreadcrumbList»> Главная › НовостиОпубликовано: 01.09.2018
Как выровнять картинку по центру div с помощью CSS?
Сегодня изображения используются в интернете практически повсеместно. Невозможно себе представить веб страницу на которой нет изображения. Картинки привлекают внимание, улучшают внешний вид и восприятие текста. Поэтому в данном уроке мы научимся позиционировать изображения по отношению к тексту и рассмотрим как сделать обтекание картинки текстом в HTML, а так же при помощи CSS свойств и значений.
Обтекание картинки текстом при помощи HTML
Наиболее простой, способ позиционирования картинки на странице это воспользоваться средствами HTML. Но у данного способа, по сравнению с возможностями CSS есть недостаток, в нем нет возможности установить отступ между картинкой и текстом, а лишь можно сделать так, чтобы текст обтекал изображение.
как сделать отступ текста и картинки margin, padding в html документе
Рассмотрим все по порядку. Для вставки картинки в HTML страницу используется тег img, подробнее смотрите урок, как вставлять картинки в HTML: http://webmastermix.ru/lessons-html/14-how-inser-a-picture-in-html.html . Поэтому, чтобы вставить картинку в текст HTML страницы, достаточно в коде прописать следующее:
— где foto.jpg — это относительный путь к картинке. Можно задать и абсолютный путь, тогда нужно прописать URL вида: http://webmastermix.ru/foto.jpg
У тега img имеется атрибут align, который и определяет по какому краю будет расположена картинка и с какого края ее будет обтекать текст (например align=»left» по левому краю). Атрибут align имеет следующие значения:
left — изображение будет расположено по левому краю, а текст будет обтекать его справа; right — изображение расположится справа, а текст будет обтекать его слева; bottom — отвечает за вертикальное выравнивание, при этом картинка будет находится слева, а нижняя часть изображения на против первой строки текста, это значение задано по умолчанию; top — тоже, что и предыдущее значение, только строчка текста будет располагаться по верхней границе изображения; middle — при данном значении происходит выравнивание середины изображения по базовой линии строки.
Теперь рассмотрим каждый элемент на практике.
1. Как я уже упоминал, по умолчанию картинке заданно значение bootom, т. е. не зависимо от того, пропишем мы его или нет наша картинка по отношению к тексту будет позиционирована так:
2. Чтобы выровнять изображение по левому краю, а текст его обтекал справа нужно прописать следующее:
<img src= «foto.jpg» align=»left»>
Пример:
3. Для выравнивания изображения по правому краю нужно соответственно прописать:
<img src= «foto.jpg» align=»right»>
Пример:
4. Теперь рассмотрим вертикальное выравнивание. Если применить значение top, то первая строчка текста будет расположена на против верхней границы изображения.
<img src= «foto.jpg» align=»top»>
Пример:
5. Выравнивание текста по центру картинки. Данный прием очень хорошо применять если вам нужно небольшую картинку расположить по центру строки.
<img src= «foto.jpg» align=»middle»>
Пример:
Обтекание картинки текстом при помощи свойств CSS
Как вы могли заметить на вышеприведенных примерах наша картинка и текст не совсем красиво располагаются по отношению друг к другу. Расположить их красиво на помогут CSS стили, которые можно добавить к картинке задав ей определенный класс и применив нужные свойства. Если вы не знаете, что такое CSS смотрите урок Основы CSS и важные понятия: http://webmastermix.ru/lessons-css/17-bases-css.html .
На самом деле, те примеры создающей обтекание текста и позиционирование картинки, которые мы рассмотрели выше являются немного устаревшими, сейчас принято все элементы отвечающие за внешний вид страницы делать при помощи свойств и значений CSS.
Разберем простой пример, как сделать обтекание картинки текстом, когда картинка расположена по левому краю, а текст обтекает ее справа. При этом между текстом и картинкой зададим определенные отступы.
В начале нужно присвоить нашей картинке определенный класс, тут можете использовать любое слово главное чтобы патом вы поняли за, что именно этот класс отвечает, в дизайне вашей страницы. Делается это так:
<img src= «foto.jpg»>
Теперь классу leftfoto нужно присвоить определенные CSS стили.
.leftfoto{ float:left; margin: 4px 10px 2px 0px; }
Данный код располагают между тегами <head>…</head>, заключив в теги <style>…</style> или помещают во внешний файл стилей CSS.
Разберем те элементы, которые мы здесь задали:
float:left; — мы позиционировали картинку по левому краю и заставили обтекать текст вокруг картинки справа, это по сути то же самое, что и атрибут align=»left». margin: 4px 10px 2px 0px; — мы задали внешние отступы, 4px — от верха, 10px — справа, 2px снизу и 0px слева от изображения.
Пример :
Добавив к данным стилям рамку и внутренний отступ можно придать изображению некий эффект фотографии с белыми краями:
. leftfoto{ float:left; margin: 4px 10px 2px 0px; border:1px solid #CCC; padding:6px; }
Здесь мы добавили следующие элементы:
border:1px solid #CCC; — задали сплошную линию размером 1 пиксель и светло серым цветом; padding:6px; — задали внутренний отступ между изображением и рамкой, равный 6 пикселям.
Пример:
Материал подготовлен проектом: WebMasterMix.ru
Рекомендуем ознакомиться:
Подробности
Обновлено: 14 Декабрь 2013
Создано: 14 Декабрь 2013
Просмотров: 122859
Варианты горизонтального выравнивания блоков и картинок по центру справа слева
Часто головной болью начинающих веб-мастеров является корректное выравнивание картинок или блоков по горизонтали и их адаптивное поведение при разных расширениях экрана.
Коротко.
Из указанной ниже информации следует вывод: чтобы выровнять картинку справа, слева, по центру, её необходимо поместить в блок DIV, а затем продолжать работу с этим блоком. Это современный подход к проблеме, когда набрал обороты блочный вид вёрстки контента.
Проблема выравнивания и адаптивности изображения к любому разрешению экрана пропадает сама по себе, когда вы используете фреймворки типа Bootstrap.
В обычной практике используется несколько вариантов выравнивания элементов в один ряд по горизонтали. Наиболее часто используются методы:
— Float;
— Inline-block;
— Table-cell (устаревший после выхода HTML5).
Каждый из них имеет свои недостатки и преимущества. Рассмотрим 2 варианта: Float и Inline-block.
Вариант с использованием Float
Стиль Float используется при блочной вёрстке.
Любой блочный элемент будет размещаться с новой строки не зависимо от присвоенной ему ширины. Даже если уменьшать размер блока div по ширине блоки в один ряд не встанут.
Здесь на помощь придёт Float: left или right.
Он делает блочный элемент плавающим и выравнивает его по левому или правому краю основного блока. Также Float способствует обтеканию элемента текстом.
Для примера, создадим четыре блока, которые нужно разместить в ряд:
<div>Выравниваем</div> <div>блоки</div> <div>в один ряд</div> <div>по горизонтали</div>
Значения стиля в файле CSS:
.block { float: left; /* обтекание */ line-height: 60px; /* Высота строки и центровка по вертикали */ width: 180px; /* ширина блока */ text-align: center; /* текст по центру */ font-size: 22px; background: #5F4BE3; color: white; margin-top: 60px; margin-right: 10px; }
Получает результат, который вы видите на картинках ниже.
При отсутствии float: left;
С размещенным float: left;
При уменьшении экрана, когда блоки благодаря своему размеру width: 180px; перестанут умещаться в одну линию, они начнут складываться друг под друга.
Этот же пример с использованием float: right;
Как видите блоки (судя по тексту в них) поменяли порядок размещения. Браузер обработал их сверху вниз и выровнял по правому краю, соблюдая очерёдность — сначала выравнял первый, потом второй и т.д. При работе со свойством float: right; имейте это ввиду.
Для прерывания действия свойства обтекания элементов используется конструкция:
<div></div>
без содержимого.
В примерах выше расстояния между блоками задаются при помощи отступа margin-right.
Допустим нам необходимо разместить блоки в один ряд по центру и задать отступы между ними.
В этом случае поступаем так:
HTML код:
<div> <!-- Создаем дополнительный родительский блок --> <div>Выравниваем</div> <div>блоки</div> <div>в один ряд</div> <div>по горизонтали</div> </div>
CSS код:
. content { width: 750px; /* фиксируем ширину родительского блока */ margin: 0 auto; /* центрируем родительский блок */ background: #FFFFCC; height: 60px; /* Высота родителя */ } .block { float: left; /* Задаем обтекание */ line-height: 60px;/* Высота строки и центровка по вертикали */ width: 180px; /* ширина блока */ text-align: center; /* текст по центру */ font-size: 22px; background: #5F4BE3; color: white; margin-right: 10px; } .content :last-child { margin-right: 0px; /* Убираем последнее правое поле* / }
Результат:
На практике могут встретиться различные ситуации, но всех особенностей в одной статье не рассмотреть.
Метод «Inline-block»
Как уже говорилось, блочные и строчные элементы имеют свои недостатки и преимущества в зависимости от поставленной задачи. Возьмём только преимущества и попробуем их объединить. Для этого знакомимся со свойством display: inline-block.
Свойство display: inline-block создаёт блочно-строчный элемент, который можно расценивать как строчный, с сохранением блочных свойств. Он позволяет изменять линейные параметры, задавая отступы, поля и т.п.
Свойства блочно-строчного элемента:
— ширина и высота блока определяется автоматически, в зависимости от содержимого и присутствия отступов padding.
— ширину и высоту блока можно задать фиксировано.
— эффект свёртывания границ отсутствует.
Приведу пример простого меню с картинкой и текстовой ссылкой с использованием блочно-строчного элемента.
HTML:
<div> <div> <p><img src="img/menu1.png" alt="" /></p> <p><a href="#">Ссылка меню 1 длиннее обычного</a></p> </div> <div> <p><img src="img/menu2. png" alt="" /></p> <p><a href="#">Ссылка меню 2</a></p> </div> <div> <p><img src="img/menu1.png" alt="" /></p> <p><a href="#">Ссылка меню 3</a></p> </div> <div> <p><img src="img/menu2.png" alt="" /></p> <p><a href="#">Ссылка меню 4</a></p> </div> </div>
CSS:
.content2 { width: 750px; /* фиксируем ширину родительского блока. Если задать 100%, то будут складываться при сужении экрана */ margin: 0 auto; /* центрируем родительский блок */ height: 60px; /* Высота родителя */ } .menu { display: inline-block; /* блочно-строчное отображение */ width: 120px; /* ширина отдельного блока */ vertical-align: top; /* текст меню выравниваем по верху */ } . string a{ text-align: center; /* текст по гориз. центру */ background: #5F4BE3; color: white; text-decoration: none; padding: 3px; }
В результате получили следующее:
Напоминаю: перед тем как работать с выравниваем картинки по горизонтали, её необходимо поместить в блок DIV.
Скачайте пример страницы с указанными выше HTML CSS кодами для практических экспериментов — скачать: Example_Horizontal_Alignment.rar [15,36 Kb] (cкачиваний: 36)
Свойство float
Свойство float
в CSS занимает особенное место. До его появления расположить два блока один слева от другого можно было лишь при помощи таблиц. Но в его работе есть ряд особенностей. Поэтому его иногда не любят, но при их понимании float
станет вашим верным другом и помощником.
Далее мы рассмотрим, как работает float
, разберём решения сопутствующих проблем, а также ряд полезных рецептов.
Синтаксис:
float: left | right | none | inherit;
При применении этого свойства происходит следующее:
- Элемент позиционируется как обычно, а затем вынимается из документа потока и сдвигается влево (для
left
) или вправо (дляright
) до того как коснётся либо границы родителя, либо другого элемента сfloat
. - Если пространства по горизонтали не хватает для того, чтобы вместить элемент, то он сдвигается вниз до тех пор, пока не начнёт помещаться.
- Другие непозиционированные блочные элементы без
float
ведут себя так, как будто элемента сfloat
нет, так как он убран из потока. - Строки (inline-элементы), напротив, «знают» о
float
и обтекают элемент по сторонам.
Ещё детали:
Элемент при наличии
float
получаетdisplay:block
.То есть, указав элементу, у которого
display:inline
свойствоfloat: left/right
, мы автоматически сделаем его блочным. В частности, для него будут работатьwidth/height
.Исключением являются некоторые редкие
display
наподобиеinline-table
иrun-in
(см. Relationships between „display“, „position“, and „float“)Ширина
float
-блока определяется по содержимому. («CSS 2.1, 10.3.5»).Вертикальные отступы
margin
элементов сfloat
не сливаются с отступами соседей, в отличие от обычных блочных элементов.
Это пока только теория. Далее мы рассмотрим происходящее на примере.
Текст с картинками
Одно из первых применений float
, для которого это свойство когда-то было придумано – это вёрстка текста с картинками, отжатыми влево или вправо.
Например, вот страница о Винни-Пухе с картинками, которым поставлено свойство float
:
Её HTML-код выглядит примерно так:
<img src="1.jpg"> <p>Текст...</p> <p>Текст. ..</p> <img src="2.jpg"> <p>Текст...</p> <img src="3.jpg"> <p>Текст...</p>
Каждая картинка, у которой есть float
, обрабатывается в точности по алгоритму, указанному выше.
Посмотрим, например, как выглядело бы начало текста без float:
- Элемент
IMG
вынимается из документа потока. Иначе говоря, последующие блоки начинают вести себя так, как будто его нет, и заполняют освободившееся место (изображение для наглядности полупрозрачно):
- Элемент
IMG
сдвигается максимально вправо(приfloat:right
):
- Строки, в отличие от блочных элементов, «чувствуют»
float
и уступают ему место, обтекая картинку слева:
При float:left
– всё то же самое, только IMG
смещается влево (или не смещается, если он и так у левого края), а строки – обтекают справа
Строки и инлайн-элементы смещаются, чтобы уступить место float
. Обычные блоки – ведут себя так, как будто элемента нет.
Чтобы это увидеть, добавим параграфам фон и рамку, а также сделаем изображение немного прозрачным:
Как видно из рисунка, параграфы проходят «за» float
. При этом строки в них о float'ах
знают и обтекают их, поэтому соответствующая часть параграфа пуста.
Блок с float
Свойство float
можно поставить любому элементу, не обязательно картинке. При этом элемент станет блочным.
Посмотрим, как это работает, на конкретной задаче – сделать рамку с названием вокруг картинки с Винни.
HTML будет такой:
<h3>Винни-Пух</h3> <div> <img src="winnie-mult.jpg"> <div>Кадр из советского мультфильма</div> </div> <p>Текст...</p>
…то есть, div.left-picture
включает в себя картинку и заголовок к ней. Добавим стиль с float
:
.left-picture { float: left; /* рамочка и отступ для красоты (не обязательно) */ margin: 0 10px 5px 0; text-align: center; border: 1px solid black; }
Результат:
Заметим, что блок div. left-picture
«обернул» картинку и текст под ней, а не растянулся на всю ширину. Это следствие того, что ширина блока с float
определяется по содержимому.
Разберём ещё одну особенность использования свойства float
.
Для этого выведем персонажей из мультфильма «Винни-Пух». Цель:
Реализуем её, шаг за шагом.
Шаг 1. Добавляем информацию
Попробуем просто добавить Сову после Винни-Пуха:
<h3>Винни-Пух</h3> <div>Картинка</div> <p>..Текст о Винни..</p> <h3>Сова</h3> <div>Картинка</div> <p>..Текст о Сове..</p>
Результат такого кода будет странным, но предсказуемым:
Произошло следующее:
- Заголовок
<h3>Сова</h3>
не заметилfloat
(он же блочный элемент) и расположился сразу после предыдущего параграфа<p>..Текст о Винни..</p>
. - После него идёт
float
-элемент – картинка «Сова». Он был сдвинут влево. Согласно алгоритму, он двигается до левой границы или до касания с другимfloat
-элементом, что и произошло (картинка «Винни-Пух»). - Так как у совы
float:left
, то последующий текст обтекает её справа.
Шаг 2. Свойство clear
Мы, конечно же, хотели бы расположить заголовок «Сова» и остальную информацию ниже Винни-Пуха.
Для решения возникшей проблемы придумано свойство clear
.
Синтаксис:
clear: left | right | both;
Применение этого свойства сдвигает элемент вниз до тех пор, пока не закончатся float'ы
слева/справа/с обеих сторон.
Применим его к заголовку h3
:
h3 { clear: left; }
Результат получившегося кода будет ближе к цели, но всё ещё не идеален:
Элементы теперь в нужном порядке. Но куда пропал отступ margin-top
у заголовка «Сова»?
Теперь заголовок «Сова» прилегает снизу почти вплотную к картинке, с учётом её margin-bottom
, но без своего большого отступа margin-top
.
Таково поведение свойства clear
. Оно сдвинуло элемент h3
вниз ровно настолько, чтобы элементов float
не было сбоку от его верхней границы.
Если посмотреть на элемент заголовка внимательно в инструментах разработчика, то можно заметить отступ margin-top
у заголовка по-прежнему есть, но он располагается «за» элементом float
и не учитывается при работе в clear
.
Чтобы исправить ситуацию, можно добавить перед заголовком пустой промежуточный элемент без отступов, с единственным свойством clear:both
. Тогда уже под ним отступ заголовка будет работать нормально:
<h3>Винни-Пух</h3> <div>Картинка</div> <p>Текст</p> <div></div> <h3>Сова</h3> <div>Картинка</div> <p>Текст</p>
Результат получившегося кода:
- Свойство
clear
гарантировало, что<div>
будет под картинкой сfloat
. - Заголовок
<h3>Сова</h3>
идёт после этого<div>
. Так что его отступ учитывается.
Итак, мы научились располагать другие элементы под float
. Теперь рассмотрим следующую особенность.
Из-за того, что блок с float
удалён из потока, родитель не выделяет под него места.
Например, выделим для информации о Винни-Пухе красивый элемент-контейнер <div>
:
<div> <h3>Винни-Пух</h3> <div>Картинка</div> <p>Текст.</p> </div>
Стиль контейнера:
.hero { background: #D2B48C; border: 1px solid red; }
Результат получившегося кода:
Элемент с float
оказался выпавшим за границу родителя .hero
.
Чтобы этого не происходило, используют одну из следующих техник.
Поставить родителю float
Элемент с float
обязан расшириться, чтобы вместить вложенные float
.
Поэтому, если это допустимо, то установка float
контейнеру всё исправит:
.hero { background: #D2B48C; border: 1px solid red; float: left; }
Разумеется, не всегда можно поставить родителю float
, так что смотрим дальше.
Добавить в родителя элемент с clear
Добавим элемент div
в самый конец контейнера .hero
.
Он с одной стороны будет «нормальным» элементом, в потоке, и контейнер будет обязан выделить под него пространство, с другой – он знает о float
и сместится вниз.
Соответственно, и контейнер вырастет в размере:
<div> <h3>Винни-Пух</h3> <div>Картинка</div> <p>Текст.</p> <div></div> </div>
Результат – правильное отображение, как и в примере выше. Открыть код.
Единственный недостаток этого метода – лишний HTML-элемент в разметке.
Универсальный класс clearfix
Чтобы не добавлять в HTML-код лишний элемент, можно задать его через :after
.
.clearfix:after { content: "."; /* добавить содержимое: "." */ display: block; /* сделать блоком, т.к. inline не может иметь clear */ clear: both; /* с обеих сторон clear */ visibility: hidden; /* сделать невидимым, зачем нам точка внизу? */ height: 0; /* сделать высоту 0, чтобы не занимал место */ }
Добавив этот класс к родителю, получим тот же результат, что и выше. Открыть код.
Если добавить родителю overflow: hidden
или overflow: auto
, то всё станет хорошо.
.hero { overflow: auto; }
Этот метод работает во всех браузерах, полный код в песочнице.
Несмотря на внешнюю странность, этот способ не является «хаком». Такое поведение прописано в спецификации CSS.
Однако, установка overflow
может привести к появлению полосы прокрутки, способ с псевдоэлементом :after
более безопасен.
При помощи float
можно размещать блочные элементы в строке, похоже на display: inline-block
:
Результат
index. html
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style> .gallery li { float: left; width: 130px; list-style: none; /* красивости */ border: 1px solid black; text-align: center; margin: 5px; } </style> </head> <body> <ul> <li> <img src="https://js.cx/carousel/1.png"> <div>Картинка 1</div> </li> <li> <img src="https://js.cx/carousel/2.png"> <div>Картинка 2</div> </li> <li> <img src="https://js.cx/carousel/3.png"> <div>Картинка 3</div> </li> <li> <img src="https://js.cx/carousel/4.png"> <div>Картинка 4</div> </li> <li> <img src="https://js.cx/carousel/5.png"> <div>Картинка 5</div> </li> <li> <img src="https://js. cx/carousel/6.png"> <div>Картинка 6</div> </li> <li> <img src="https://js.cx/carousel/7.png"> <div>Картинка 7</div> </li> <li> <img src="https://js.cx/carousel/8.png"> <div>Картинка 8</div> </li> <li> <img src="https://js.cx/carousel/9.png"> <div>Картинка 9</div> </li> </ul> </body> </html>
Стиль здесь:
.gallery li { float: left; width: 130px; list-style: none; }
Элементы float:left
двигаются влево, а если это невозможно, то вниз, автоматически адаптируясь под ширину контейнера, получается эффект, аналогичный display: inline-block
, но с особенностями float
.
Свойство float
позволяет делать несколько вертикальных колонок.
float:left + float:right
Например, для вёрстки в две колонки можно сделать два <div>
. Первому указать float:left
(левая колонка), а второму – float:right
(правая колонка).
Чтобы они не ссорились, каждой колонке нужно дополнительно указать ширину:
<div>Шапка</div> <div>Левая колонка</div> <div>Правая колонка</div> <div>Низ</div>
Стили:
.column-left { float: left; width: 30%; } .column-right { float: left; width: 70%; } .footer { clear: both; }
Результат (добавлены краски):
Результат
index.html
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style> body, html { margin: 0; padding: 0; } .column-left { float: left; width: 30%; } .column-right { float: left; width: 70%; overflow: auto; /* расшириться вниз захватить float'ы */ } .footer { clear: both; } .inner { margin: 1em; } </style> </head> <body> <div>Шапка</div> <div> <div> <!-- див для отступа внутри ширины родителя --> <h4>Персонажи:</h4> <ul> <li>Винни-Пух</li> <li>Ослик Иа</li> <li>Сова</li> <li>Кролик</li> </ul> </div> </div> <div> <div> <h4>Винни-Пух</h4> <img src="https://js. cx/clipart/winnie-mult.jpg"> <p>Ви́нни-Пу́х (англ. Winnie-the-Pooh) — плюшевый мишка, персонаж повестей и стихов Алана Александра Милна (цикл не имеет общего названия и обычно тоже называется «Винни-Пух», по первой книге). Один из самых известных героев детской литературы XX века.</p> <p>В 1960-е—1970-е годы, благодаря пересказу Бориса Заходера «Винни-Пух и все-все-все», а затем и фильмам студии «Союзмультфильм», где мишку озвучивал Евгений Леонов, Винни-Пух стал очень популярен и в Советском Союзе.</p> </div> </div> <div>Низ</div> </body> </html>
В эту структуру легко добавить больше колонок с разной шириной. Правой колонке можно было бы указать и float:right
.
float + margin
Ещё вариант – сделать float
для левой колонки, а правую оставить в потоке, но с отбивкой через margin
:
.column-left { float: left; width: 30%; } .column-right { margin-left: 30%; } . footer { clear: both; }
Результат (добавлены краски):
Результат
index.html
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style> body, html { margin: 0; padding: 0; } .column-left { float: left; width: 30%; } .column-right { margin-left: 30%; width: 70%; overflow: auto; /* расшириться вниз захватить float'ы */ } .footer { clear: both; } .inner { margin: 1em; } </style> </head> <body> <div>Шапка</div> <div> <div> <!-- див для отступа внутри ширины родителя --> <h4>Персонажи:</h4> <ul> <li>Винни-Пух</li> <li>Ослик Иа</li> <li>Сова</li> <li>Кролик</li> </ul> </div> </div> <div> <div> <h4>Винни-Пух</h4> <img src="https://js. cx/clipart/winnie-mult.jpg"> <p>Ви́нни-Пу́х (англ. Winnie-the-Pooh) — плюшевый мишка, персонаж повестей и стихов Алана Александра Милна (цикл не имеет общего названия и обычно тоже называется «Винни-Пух», по первой книге). Один из самых известных героев детской литературы XX века.</p> <p>В 1960-е—1970-е годы, благодаря пересказу Бориса Заходера «Винни-Пух и все-все-все», а затем и фильмам студии «Союзмультфильм», где мишку озвучивал Евгений Леонов, Винни-Пух стал очень популярен и в Советском Союзе.</p> </div> </div> <div>Низ</div> </body> </html>
В примере выше – показана небольшая проблема. Колонки не растягиваются до одинаковой высоты. Конечно, это не имеет значения, если фон одинаковый, но что, если он разный?
В современных браузерах (кроме IE10-) эту же задачу лучше решает flexbox.
Для старых есть различные обходы и трюки, которые позволяют обойти проблему в ряде ситуаций, но они выходят за рамки нашего обсуждения.
css — как поместить текст справа от изображения в html
спросил
Изменено 27 дней назад
Просмотрено 15k раз
Я пытаюсь настроить отдельные секции внутри тела, которые бы отображали в них информацию вот так
с помощью float: left;
не помогает, только портит макет страницы.
вот мой html…
#а, #грамм { цвет фона: #6d6d6d; цвет: #bdc3c7; стиль списка: нет; } #рис { маржа: +5% 0 0; граница: 3 пикселя, сплошной черный цвет; } #обертка { максимальная ширина: 1200 пикселей; поле: 0 авто; заполнение: 0 5%; стиль списка: нет; }
<дел> <раздел> <ул>
информация
информация
- HTML
- CSS
1
Почему вы используете одно и то же имя для нескольких экземпляров одного и того же идентификатора для ваших изображений? Идентификаторы должны быть уникальными, вам лучше использовать класс, если вы собираетесь группироваться. Проверьте мое решение для вашего вопроса:
#a, #g { цвет: #bdc3c7; стиль списка: нет; } .pic { маржа:+5% 0 0; граница: 3 пикселя, сплошной черный цвет; плыть налево; } .секции { высота: 100 пикселей; цвет фона: #6d6d6d; } .Информация { поля:+5% 10px; плыть налево; } #обертка { максимальная ширина: 1200 пикселей; поле: 0 авто; заполнение: 0 5%; стиль списка: нет; }
<дел> <раздел> <ул>
информация
информация
Я классифицировал теги раздела, так как это то, к чему вам нужно добавить цвет фона и установить высоту. Вам нужно будет установить высоту, так как элементы плавают, чтобы они не растягивали раздел автоматически, поэтому вам нужно указать фиксированную высоту.
Я добавил классы к вашим абзацам, так как они также должны быть плавающими влево, как и ваши изображения. Также вам нужно было добавить те же поля, что и ваши изображения.
Я изменил идентификаторы ваших фотографий на классы.
Если у вас есть какие-либо вопросы, дайте мне знать.
изменить на. потому что идентификатор должен использоваться 1 раз на странице..
затем напишите в css:
.pic { плыть налево; }
Попробуйте использовать float:right
#wrapper ul { заполнение: 0; маржа: авто; ширина: 80%; тип стиля списка: нет; } # обертка уль ли { цвет фона: #6d6d6d; отступ: 30 пикселей; нижняя граница: 20px; дисплей: таблица; ширина: 100%; } # обертка ul li img { плыть налево; } #wrapper ul li .details {float: right;width: 75%;}
<дел> <раздел> <ул>
информация
информация