<MyRusakov.ru />

Программирование на C# с Нуля до Гуру

Программирование на C# с Нуля до Гуру

Данный курс научит Вас программировать на языке C#, который является одним из самых востребованных языков программирования в мире. Курс состоит из 7 разделов, в которых Вы с нуля освоите этот язык и сможете создавать самые разные программы для самых разных задач любой сложности.

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

Помимо самого курса Вас ждут ещё 3 бесплатных ценных Бонуса: «Технология Windows Presentation Foundation», «Создание библиотеки классов» и «Правильная работа со справочником».

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

3 основных способа верстки сайтов. Часть #1

3 основных способа верстки сайтов. Часть #1

Для верстки сайтов существует три основных подхода: float, flexbox и grid. Каким способом верстать верстальщик выбирает сам, при условии, что в техническом задании об этом ничего не сказано. За этими терминами стоят обычные CSS-свойства со своими правилами, используя которые верстальщик расставляет элементы на HTML странице согласно дизайнерскому макету, как шахматы на шахматной доске.

Float

Float - это CSS-свойство, которое задает сторону для выстраивания элементов в ряд, правую или левую. Иначе блочные элементы сайта будут стремиться перескочить на следующий ряд. Такое поведение естественное для блоков.

// HTML
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>

// CSS
.box {
    width:50px;
    height: 50px;
    background-color:pink;
    margin:5px;
}


3 основных способа верстки сайтов (Float, Flexbox, Grid).

Как тогда верстальщику сверстать горизонтальное меню? Необходимо классу box добавить всего одно свойство - float:left или float: right.

.box {
    width:100px;
    height: 100px;
    background-color:pink;
    margin:5px;
    float:left;
}


3 основных способа верстки сайтов (Float, Flexbox, Grid).

Вроде все хорошо, элементы встали горизонтально, но есть проблема. Дело в том, что следующие элементы, идущие следом за меню (текст, картинки), продолжат принудительное расположение в одном ряду с меню, пока мы не отменим его другим свойством. Добавим еще один блок с классом clear (название может быть любое) в месте переноса строки. Этот блок абсолютно фейковый и никак не будет отображаться на странице. Он нужен только для того, чтобы было куда прописать CSS правило clear:both. Данное свойство отменяет float, для последующих элементов.

<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
<div class="clear"></div>
<div class="box"></div>

.clear {
    clear:both;
}


3 основных способа верстки сайтов (Float, Flexbox, Grid).

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


3 основных способа верстки сайтов (Float, Flexbox, Grid).

Flexbox

На смену float (свойство изначально не предназначенное для верстки макетов), пришла технология flexbox, разработанная специально для верстки макетов. На начало 2021-го года свойство flexbox поддерживается всеми современными браузерами. С приходом flexbox, верстальщики вздохнули с облегчением. Чтобы поставить элементы в ряд, достаточно установить всего одно свойство родителю, display:flex.

<div class="box">
    <div class="box-item"></div>
    <div class="box-item"></div>
    <div class="box-item"></div>
    <div class="box-item"></div>
</div>

.box {
    display:flex;
}
.box-item {
    width:100px;
    height: 100px;
    background-color:pink;
    border:4px solid #fff;
}


3 основных способа верстки сайтов (Float, Flexbox, Grid).

В отличии от float, технология flexbox умеет не только поставить элементы в левый или правый ряд. Кроме этого, он может выравнивать элементы по центру с помощью свойства justify-content: center. Но всех больше верстальщики оценили возможность управлять шириной каждого вложенного элемента внутри flexbox-контейнера. Например нам нужно растянуть один элемент в ряде. Для этого создадим дополнительный класс wide и зададим ему свойство flex-grow:0.1;

<div class="box">
    <div class="box-item"></div>
    <div class="box-item"></div>
    <div class="box-item wide"></div>
    <div class="box-item"></div>
</div>

.box {
    display:flex;
    justify-content:center;
}
.box-item {
    width:100px;
    height: 100px;
    background-color:pink;
    border:4px solid #fff;
}
.wide {
    flex-grow:0.1;
}


3 основных способа верстки сайтов (Float, Flexbox, Grid).

Продолжение следует..

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.