Как сделать обтекание картинки текстом в html – Как создавать обтекание картинки текстом html? Обтекание картинки текстом с помощью html и css

с помощью простых средств css

Доброго времени суток, читатели публикации! Все онлайн-ресурсы в своем арсенале используют мультимедийные файлы (изображения, видео и т.д.), которые делают сайт интереснее для пользователей и в некоторых случаях нагляднее презентуют информацию. Поэтому я расскажу вам как сделать обтекание текста html.

В первую очередь вы узнаете, что это за механизм и зачем он нужен. А после прочтения статьи сможете ловко оперировать полученными знаниями и корректировать расположение картинок на своем веб-ресурсе. Пожалуй, приступим!

Что означает «обтекание» и для чего оно используется?

Для начала разберемся с самим термином «обтекание».

На одной веб-странице может быть собрана информация разных форматов: текстовая, графическая, анимационная и т.д. Веб-дизайнеры или разработчики определенным образом ее систематизируют и распределяют по экрану для последующего удобного пользования ею читателями.

Я уверен, что каждый из вас видел, как какое-либо изображение находится внутри текстового контента или наоборот располагается сбоку от других объектов. Такой принцип размещения информации называется обтеканием.

Например, рисунок, который со всех сторон окружают предложения, говорят: «Изображение, обтекаемое текстом».

Разновидности обтекания текстом

В зависимости от вашего персонального желания, обтекание изображений можно установить абсолютно разным: слева, справа, со всех сторон, расположить картинку строго по центру и обрамить ее контентом только сверху и снизу. И таких вариантов бесконечное множество.

Для того чтобы легко форматировать информационное наполнение веб-страниц, вам необходимо знать некоторые встроенные инструменты языков html и css.

Начнем с атрибутов тега <img>. Напомню, что элемент img является одинарным и используется для отображения графического контента на интернет-ресурсах. Среди его атрибутов есть несколько полезных нам на данный момент. Их я перечислил в таблице, представленной ниже.

Атрибут Предназначение
align Задает расположение рисунка на странице и соответственно стороны обтекания его контентом.
hspace
Отвечает за отступ от границы изображения до блока с текстом по горизонтали.
vspace Отвечает за отступ от границы изображения до блока с текстом по вертикали.
src Через него указывается анкор на графический ресурс.
alt В случае невозможности отобразить картинку высвечивается текст, вписанный в этот параметр.

Теперь я представлю шаблон кода, который мы будем использовать во всех примерах:

db610741b2cb0aa9d55fc621c64b2f5f000

Если запустить пример в браузере на данном этапе, то вслед за картинкой пойдут предложения абзаца. Чтоб этого не было, я воспользуюсь описанными выше параметрами и сдвину изображение вправо, отступив по горизонтали 10 единиц.

 

Добавьте к текущему объявлению тега <img> атрибуты align="right" vspace="0" hspace="10".

У вас должна сформироваться вот такая строка:

<img src="http://zhivotnue.ru/image/glavnaya/1.jpg" alt="Тигренок" align="right" vspace="0" hspace="10">

Следующим механизмом перемещения картинки по странице и установки способа обтекания контентом является свойство float. С его помощью изображение можно двигать по горизонтали (right и left) или задавать значения объекта-предка (inherit).

Чтобы опробовать float на практике, необходимо вернуть объявлению тега <img> первозданный вид (<img src="http://zhivotnue.ru/image/glavnaya/1.jpg" alt="Тигренок">) и после элемента <title> вставить код:

1
2
3
4
5
6
7
8
9
10
11
<!DOCTYPE HTML>
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>Рисунок в тексте</title>
 </head>
 <body> 
  <p><img src="http://romanchueshov.ru/wp-content/uploads/2016/07/1.jpg" alt="Тигренок">
  Здесь расположен текст о милейшем создании – тигренке, который изначально по размерам напоминает домашних котов. Однако со временем он достигает почти 300 килограмм.</p> 
 </body>
</html>

<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Рисунок в тексте</title> </head> <body> <p><img src="http://romanchueshov.ru/wp-content/uploads/2016/07/1.jpg" alt="Тигренок"> Здесь расположен текст о милейшем создании – тигренке, который изначально по размерам напоминает домашних котов. Однако со временем он достигает почти 300 килограмм.</p> </body> </html>

Фотография тигренка сдвинется влево, а текст переместится вправо.

Теперь я хочу расположить картинку так, чтобы она по бокам обрамлялась текстовой информацией. Для этого можно использовать как таблицы и поместить все в колонки, так и стилевое оформление, которое я и выбрал.

Так как я не использовал объекты неправильной формы, весь контент аккуратно разместится по экрану. Код реализованного примера представлен ниже.

1
2
3
4
5
6
<style>
   img {
    float: left;
    padding-right: 25px; 
   }
  </style>

<style> img { float: left; padding-right: 25px; } </style>

Теперь вы знаете, как выглядит обтекание контентом, и владеете основными единицами языков html и css для управления расположением объектов на веб-ресурсах. Не забывайте подписываться на обновления блога  и делиться ссылкой с коллегами и знакомыми.

Пока-пока!

С уважением, Роман Чуешов

Загрузка...

Прочитано: 152 раз

Как сделать обтекание текстом в html, css?

Еще одна проблема, с которой часто сталкиваются при размещении материалов на сайте или статей в блоге — это как сделать обтекание картинки текстом.

Имеется в виду, что когда вы вставляете картинку в админке/редакторе, это может выглядеть вот так (обратите внимание, как картинка некрасиво разорвала строки абзаца):

Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст

А хочется так (обратите внимание, как картинка аккуратно «встала» в правый угол и обтекается текстом):

как сделать обтекание текстом Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст Тут какой-то текст

Этот прием называется «обтекание текстом». Вам нужно найти код этой картинки в html-редакторе в вашей админке. Обычно картинка внутри html-редактора выглядит примерно так:

<img alt="Тут обычно название картинки" src="тут_какое-тоимя_файла.jpg" />

Теперь вам надо вставить небольшой кусочек кода сразу после «img»:

style="float: right;"

У вас должно получиться вот так:

<img alt="Тут обычно название картинки" src="тут_какое-тоимя_файла.jpg" />

Вы можете также указать «float: left» — и тогда картинка будет располагаться в левом углу. Может оказаться, что после того, как вы это сделаете, вам захочется увеличить отступ текста от картинки, тогда вам надо добавить туда же в строку со style еще немного кода c указанием padding и у вас получится примерно так:

<img alt="Тут обычно название картинки" src="тут_какое-тоимя_файла.jpg" />

Как сделать обтекание картинки текстом в html. Как создавать обтекание картинки текстом html

Список налезает на картинку, рисунок или изображение при обтекании его текстом. Например так: картинка выравнивается по левому краю (всплывает налево) - float:left; , текст списка обтекает её справа, как на скриншотах. При обтекании картинки, (нумерация, маркировка) списка наползают на изображение и получается трабл (trouble , англ. - «ошибка», «проблема»). Щёлкайте картинки для полного просмотра:

Напрашивается простой способ подправить ситуацию - увеличить отступ (margin) у картинки до тех пор, пока бу́ллеты списка не «слезут с неё»

В случае простого увеличения отступа (margin) у рисунка, вместе со списком - «уезжает» вправо и обычный текст

Оставим картинку в покое и займёмся списком, за пределы которого вылезает его маркировка. Корень проблемы кроется в редко используемом свойстве элемента списка . Это свойство определяет положение (размещение) маркеров списка относительно его текста. list-style-position имеет два значения: outside - маркер (бу́ллет) находится за границей элемента списка, как отдельный независимый объект и inside - маркер расположен внутри элемента (маркер встроен в элемент и обтекается его текстом).

Значение list-style-position по умолчанию, для всех браузеров - outside . Маркер находится за границей элемента списка, как отдельный независимый объект. Вот потому-то он и «лезет» на нашу картинку. Margin (отступ) картинки «упирается рогом» непосредственно в текст списка, а бу́ллеты «зависают» за его пределами и попадают на поле изображения. Радикально меняет обстановку с обтеканием рисунка списком предлагаемый CSS-код:

li {
  margin: 0;
  padding-left: 1,9em;
list-style-position: inside;
  text-indent: -1em;
overflow: hidden;
  }

Прописать спасительный код для элемента списка (

  • ) можно глобально (как в примере), или с присвоением индивидуального класса, например.list (код CSS .list ol>li,.list ul>li{list-style-position: inside;} ). В первом случае, код для обтекания картинки будет распространяться глобально - на все списки на странице, во втором - только на списки класса list (class=”list”).

    Разница большая:

    • При назначении глобальных свойств, действующих сразу на все списки на странице - изменяются элементы управления, созданные на основании этих свойств и списков. В результате - «уезджают» меню и менюшки навигации сайта.
    • В случае с индивидуальным классом, вида (class=”list”) - его придётся вставлять вручную в html-код требуемых списков.
    • Выручает «золотая середина» - найти в шаблоне класс текстового блока страницы и назначить свойства обтекания рисунков только для его списков. Тогда, в тексте новости (сообщения, комментария) страницы - списки будут красиво обтекать картинки и изображения, а остальная часть сайта - останется неизменной.

    Прописанное свойство для элемента списка (

  • ) слегка отражается на свойствах самого списка (теги
      ,
      ). Оно и вестимо, ведь «втянув» маркёр внутрь списка и сделав отступ для его отображения (padding-left: 1,9em;) мы визуально уменьшили ширину списка на 1,9em. Подобная мелочь с успехом исправляется в CSS, в свойствах списков (теги
      ,
      ). Примечательно, что изменение отступа для списка никак не отражается на его обтекании рисунка

      Перед началом работы со списком по данной теме, неплохо ему задать рамку (свойство border:2px solid #000;). Это позволит наглядно увидеть расположение бу́ллетов «до» и «после» редактирования.

      Интересный эффект обтекания картинки даёт простое использование для списка CSS-свойства overflow: hidden; . В этом случае - обтекание выполнится нормально, но у списка будут отсутствовать маркёры (бу́ллеты). Иногда, именно такой эффект и требуется получить. Пример кода для обтекания рисунка списком, с простым overflow: hidden;

      Код CSS для элементов списка

      li {overflow: hidden;}

      Код CSS для всего списка
      (глобально, для всей страницы):
      ul,ol {overflow: hidden;}

      Подобные извращения с overflow: hidden; навеяны вышестоящим кодом. На самом деле, такого-же эффекта можно достичь простым list-style: none; Это CSS-свойство убирает маркеры списка без всяких там «обрезаний». Кроме этого, свойство работает в любой ситуации, тогда как overflow: hidden; - только в сочетании с list-style-position: outside; - когда списка находятся за пределами текста списка.

      или подробно о процессе обтекания HTML картинок и текстов

      Глава содержит примеры обтекания текста картинкой из области Гипертекстовой разметки.

      В меню слева вы найдет

  • Как сделать обтекание картинки текстом?

    Автор: Администратор

    Просмотров: 1532

    Теги: css, html, img, float

    В этой статье мы расскажем, как сделать обтекание картинки текстом при помощи HTML и CSS.

    Очень часто необходимо, чтобы картинка помещалась внутри текста и красиво обтекалась им со всех сторон. Такое способ размещения экономит место на странице и позволяет сделать скучный текст более привлекательным для прочтения.

    Мы рассмотрим два способа обтекания текстом изображения.

    Способ 1. Обтекание при использовании только HTML.

    Код:

    <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Страница</title>
    <link rel="stylesheet" href="/../css/template.css" type="text/css" />
</head>
<body>
	<p>Значимость этих проблем настолько очевидна, что постоянный количественный рост и сфера нашей активности способствует подготовки и реализации существенных финансовых и административных условий.Не следует, однако забывать, что сложившаяся структура организации позволяет оценить значение систем массового участия. <img src="/images/smile.png" alt="smile" />Разнообразный и богатый опыт укрепление и развитие структуры способствует подготовки и реализации новых предложений. Таким образом консультация с широким активом требуют от нас анализа существенных финансовых и административных условий. Товарищи! постоянный количественный рост и сфера нашей активности требуют определения и уточнения форм развития.</p>
</body>
</html>

    Как это будет выглядеть:

    Значимость этих проблем настолько очевидна, что постоянный количественный рост и сфера нашей активности способствует подготовки и реализации существенных финансовых и административных условий.Не следует, однако забывать, что сложившаяся структура организации позволяет оценить значение систем массового участия. Разнообразный и богатый опыт укрепление и развитие структуры способствует подготовки и реализации новых предложений. Таким образом консультация с широким активом требуют от нас анализа существенных финансовых и административных условий. Товарищи! постоянный количественный рост и сфера нашей активности требуют определения и уточнения форм развития.

    СПОСОБ 1. ОБТЕКАНИЕ ПРИ ИСПОЛЬЗОВАНИИ HTML и CSS.

    Код:

    <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Страница</title>
    <link rel="stylesheet" href="/../css/template.css" type="text/css" />
</head>
<body>
	<p>Значимость этих проблем настолько очевидна, что постоянный количественный рост и сфера нашей активности способствует подготовки и реализации существенных финансовых и административных условий.Не следует, однако забывать, что сложившаяся структура организации позволяет оценить значение систем массового участия. <img src="/images/smile.png" alt="smile" />Разнообразный и богатый опыт укрепление и развитие структуры способствует подготовки и реализации новых предложений. Таким образом консультация с широким активом требуют от нас анализа существенных финансовых и административных условий. Товарищи! постоянный количественный рост и сфера нашей активности требуют определения и уточнения форм развития.</p>
</body>
</html>

    Выглядеть результат будет как и в первом способе.

    Как вы уже должны были догадаться за обтекание картинки текстом отвечает свойство float, которое прижимает элемент к которому задается либо к правой стороне, либо к левой. А так же позволяет другим элементам, в том числе тексту обтекать его.

    Обтекание картинки текстом - HTML и css

    Очень важно красиво разместить все элементы на странице, чтобы всё смотрелось органично и стояло на своих местах. Чтобы сделать всё правильно нельзя обойтись без CSS. Чтобы притянуть картинку к левому краю дописываем атрибут align=left после .jpg» и закрываем скобки />, чтобы притянуть картинку вправо аналогично вставляем align=right. Конечно, текст обтекает картинку, но отступов он сам не сделает, поэтому в любом случае необходима работа с CSS. Существует много способов решения данной проблемы, рассмотрим самые правильные и несложные варианты.

    Первый вариант

    Заключите нужное изображение в тег div, затем откройте файл CSS и придайте ему вот это значение: float: left (right = лево-право на ваше усмотрение) и проставьте нужные отступы.

    Второй вариант

    Присвойте нужному изображению класс. В CSS добавьте поля float: left (right). Margin: 15px 15px 15px 0 — длина отступа: сверху, справа, снизу (отступ к которому прижимается текст к картинке, по умолчанию равен нулю). Случается, что нужно оформить несколько изображений на одной странице. К примеру, изображения находятся в посте. В коде страницы он отображается приблизительно вот так:

    <div class=content></div>

    В файле CSS, в этом примере необходимо дописать:

    
    .content img {
    float: left;
    margin: 10px 10px 10px 0;
    }
    

    После этого, все картинки в элементе «content» будут отображаться с заданными вами отступами. А если понадобиться одну картинку выставить по-другому — задайте id (id=your_img), а в CSS допишите:

    
    #your_img {
    float: right;
    margin: 5px 0 5px 5px;
    }
    

    Как наложить на картинку текст

    Иногда нужно написать текст прямо на изображении, что-то ввиде анонса или назвния. Как и в прошлом случае способов несколько:

    Первый вариант

    Сделайте блок, вставьте в него текст, саму картинку сделайте фоном данного блока.

    <div>Ваш-текст</div>
    
    .my_block {
    (фон-картинка): url (your_image.jpg) - адрес изображения top left no-repeat;
    (ширина): 300px;
    (высота): 200px;
    (заполнение): 250px 1 1 1;
    }
    

    Этот вариант подойдёт и для логотипа, и для шапки.

    Второй вариант

    Сразу создать два блока, первый с картинкой, второй с текстом (сделайте полупрозрачный фон). И наложить один на другой задав необходимые параметры.

    
    <div>
    <img src="любая-ваша-картинка.jpg" />
    <div>Любой-текст</div>
    </div>
    
    
    .img {
    (ширина изображения): 300px;
    (высота изображения): 200px;
    (заполнение): относительное;
    }
    
    
    .text {
    background-color (цвет фона): #AAA;
    (ширина): 300px;
    (высота): 30px;
    (положение): абсолютное;
    (влево): 0px;
    (вправо): 500px;
    }
    

    В этом примере первый блок размещен внутри второго при помощи свойства под названием position. У блока с текстом задан нужный фон и сам внедрён в нижнюю часть картинки.

    На самом деле здесь нет ничего сложного. Сделать красивое обтеканием текстом, а также наложить нужные слова на изображения достаточно просто. Необходимо немного времени. чтобы вникнуть во все эти тонкости и внимательно следовать приведённым ниже инструкциям.

    Не бойтесь экспериментировать с дизайном, делайте ваш сайт ещё красивее, подбирайте лучший вариант, и тогда ваш сайт, и вы как его владелец добьётесь успеха.

    Как сделать обтекание изображения (картинки) текстом средствами CSS?


    Наверное, уже на многих сайтах Вы видели обтекание изображения текстом. Подобное размещение материала экономит место и служит для связи иллюстраций с содержимым.

    Используем свойство float. В качестве параметра указываем по какой стороне выравниваем изображение. С margin, надеюсь, понятно - чтобы текст не вплотную прилегал к обтекаемому изображению.

    Код HTML, CSS

    <!DOCTYPE html>
    <html>
     <head>
      <meta charset="utf-8">
      <title>Обтекание</title>
      <style>
       .leftimg {
        float:left; /* Выравнивание по левому краю */
        margin: 10px 10px 10px 0; /* Отступы вокруг картинки */
       }
       .rightimg  {
        float: right; /* Выравнивание по правому краю  */ 
        margin: 10px 0 10px 10px; /* Отступы вокруг картинки */
       }
      </style>
     </head>

     <body>

      <h3>Сталинградская битва</h3>
      <p><img src="images/1.jpg" alt="Сталинградская битва" width="120" class="leftimg">
         Является крупнейшей сухопутной битвой в ходе Второй мировой войны, которая наряду со сражением на Курской дуге стала переломным моментом в ходе военных действий, после которых немецкие войска окончательно потеряли стратегическую инициативу. Сражение включало в себя попытку вермахта захватить правобережье Волги в районе Сталинграда (современный Волгоград) и сам город, противостояние Красной армии и вермахта в городе и контрнаступление Красной армии (операция <i>Уран</i>), в результате которого 6-я армия и другие силы союзников нацистской Германии внутри и около города были окружены и частью уничтожены, а частью захвачены в плен.</p>
          <p>По приблизительным подсчётам, суммарные потери обеих сторон в этом сражении превышают два миллиона человек. Державы Оси потеряли большое количество людей и вооружения и впоследствии не смогли полностью оправиться от поражения.</p>

         <h3>Курская битва</h3>
      <p><img src="images/2.jpg"  width="120" alt="Курская битва" class="rightimg">
    В советской и российской историографии принято разделять сражение на 3 части: Курскую стратегическую оборонительную операцию (5 — 23 июля), Орловскую (12 июля — 18 августа) и Белгородско-Харьковскую (3 — 23 августа) стратегические наступательные операции, являющиеся важнейшей частью плана летне-осенней кампании 1943 года. Битва продолжалась 49 дней. Немецкая сторона наступательную часть сражения называла операция <i>Цитадель</i>.</p>
    <p>В результате наступления по плану <i>Кутузов</i> была разгромлена орловская группировка немецких войск и ликвидирован занимаемый ею орловский стратегический плацдарм. В ходе операции <i>Полководец Румянцев</i> прекратила своё существование белгородско-харьковская группировка немцев и был ликвидирован этот важнейший плацдарм.[9] Коренной перелом в ходе Великой Отечественной войны, начатый под Сталинградом, был завершен в ходе Курской битвы и сражения за Днепр.</p>

     </body>
    </html>


    Главным тут является использование свойства float (выравнивание). В примере с первым изображение по левому краю, со вторым - по правому.Демонстрация Скачать исходники

    CSS3 | Обтекание элементов

    Обтекание элементов

    Последнее обновление: 21.04.2016

    Как правило, все блоки и элементы на веб-странице в браузере появляются в том порядке, в каком они определены в коде html. Однако CSS предоставляет специальное свойство float, которое позволяет установить обтекание элементов, благодаря чему мы можем создать более интересные и разнообразные по своему дизайну веб-страницы.

    Это свойство может принимать одно из следующих значений:

    • left: элемент перемещается влево, а все содержимое, которое идет ниже его, обтекает правый край элемента

    • right: элемент перемещается вправо

    • none: отменяет обтекание и возвращает объект в его обычную позицию

    При применении свойства float для стилизуемых элементов, кроме элемента img, рекомендуется установить свойство width.

    Итак, представим, что нам надо на странице вывести слева от основного текста изображение, справа должен быть сайдбар, а все остальное место должно быть занято основным текстом статьи. Определим интерфейс страницы сначала без свойства float:

    
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title>Обтекание в CSS3</title>
            <style>
    		
    		.image { 
    			margin:10px;
    			margin-top:0px;
    		}
    		.sidebar{
    			border: 2px solid #ccc;
    			background-color: #eee;
    			width: 150px;
    			padding: 10px;
    			margin-left:10px;
    			font-size: 20px;
    		}
            </style>
        </head>
        <body>
    		<div>
    			<div>Л. Толстой. Война и мир. Том второй. Часть третья</div>
    			<img src="dubi.png" alt="Война и мир" />
    			<p>Старый дуб, весь преображенный, раскинувшись шатром сочной, темной зелени, млел, 
    			чуть колыхаясь в лучах вечернего солнца...</p>
    			<p>«Нет, жизнь не кончена в 31 год, – вдруг окончательно, беспеременно решил князь Андрей...</p>
    		</div>
    	</body>
    </html>
    

    В данном случае мы получим последовательное размещение элементов на странице:

    Теперь на той же странице применим свойство float, изменив стили следующим образом:

    
    .image { 
    	float:left;	/* обтекание слева */
    	margin:10px;
    	margin-top:0px;
    }
    .sidebar{
    	border: 2px solid #ccc;
    	background-color: #eee;
    	width: 150px;
    	padding: 10px;
    	margin-left:10px;
    	font-size: 20px;
    	float: right; /* обтекание справа */
    }
    

    Соответственно изменится и размещение элементов на странице:

    Элементы, к которым применяется свойство float, еще называют floating elements или плавающими элементами.

    Запрет обтекания. Свойство clear

    Иногда возникает необходимость запретить обтекания. Подобная задача может быть актуальна, если какой-то блок должен переноситься вниз на новую строку, а не обтекать плавающий элемент. Например, футер, как правило, должен находиться строго внизу и растягиваться по всей ширине страницы. Если же перед футером находится плавающий элемент, то футер может обтекать этот элемент, что не желательно.

    Для запрета обтекания элементов в CSS применяется свойство clear, которое указывает браузеру, что к стилизуемому элементу не должно применяться обтекание.

    Свойство clear может принимать следующие значения:

    • left: стилизуемый элемент может обтекать плавающий элемент справа. Слева же обтекание не работает

    • right: стилизуемый элемент может обтекать плавающий элемент только слева. А справа обтекание не работает

    • both: стилизуемый элемент может обтекать плавающие элементы и относительно них смещается вниз

    • none: стилизуемый элемент ведет себя стандартным образом, то есть принимает участие в обтекании справа и слева

    Например, пусть на веб-странице будет определен футер:

    
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title>Обтекание в CSS3</title>
            <style>
    		.image { 
    			float:left;
    			margin:10px;
    			margin-top:0px;
    		}
    		.footer{
    			border-top: 1px solid #ccc;
    		}
            </style>
        </head>
        <body>
    	
    		<img src="dubi.png" alt="Дубы" />
    		<div>Copyright © MyCorp. 2016</div>
    	</body>
    </html>
    

    Наличие обтекания будет создавать некорректное отображение, при котором футер смещается вверх:

    Изменим стиль футера:

    
    .footer{
    	border-top: 1px solid #ccc;
    	clear: both;
    }
    

    Теперь футер не будет обтекать изображение, а будет уходить вниз.

    Отправить ответ

    avatar
      Подписаться  
    Уведомление о