Как разместить изображение в центре, чтобы вокруг него был текст
Чтобы сделать с помощью CSS обтекание блочного или блочно-строчного элемента слева или справа, используется свойство float
; однако у него нет значений, которые бы делали обтекание объекта, находящегося в центре. Поэтому такое сделать нельзя; но можно имитировать ситуацию. То есть сделать 5 блоков: 1 сверху, 3 в центре (средний из которых будет с изображением) и 1 снизу; для которых задать определённые размеры, отступы, обтекание и так далее; иными словами, подогнать всё позиционирование и все размеры под себя.
Пример
p.float-left, p.float-right, p.img-center { margin: 0; width: 33%; }
-
определяем для 3-ёх центральных блоков: слева от блока с изображением, для самого блока с изображением и справа от него; следующие стили:
margin: 0;
- убираем отступы, которые по умолчанию добавляются браузером абзацам
<p>
; width: 33%;
- задаём ширину блоков в
33%
, чтобы они были примерно (33% + 33% + 33% = 99%
) одинаковы.
p.float-left, p.img-center { float: left; }
- прижимаем левый блок (
p.float-left
) от блока с изображением и сам блок с изображением (p.img-center
) к левому краю, тем самым создавая обтекание их другими элементами справа. p.img-center { text-align: center; }
- выравниваем содержимое (то есть изображение) блока с изображением по центру.
p.float-right { float: right; }
- прижимаем правый блок от блока с изображением к правому краю, создавая, тем самым, обтекание его другими элементами слева.
div.clear { clear: both; }
- отменяем любое обтекание после правого блока от блока с изображением другими элементами, чтобы войти в нормальный поток документа; то есть чтобы абзац снизу никак не участвовал в обтеканиях.