Урок 5. Блочные и строчные элементы. Тэги div и и span. Технология Flex.

Курс html/css для подростков 12+

Урок 5. Блочные и строчные элементы. Тэги div и и span. Технология Flex.

Блочные и строчные элементы. Свойство display. Тэги div и и span. Технология Flex. Ссылка на игру, которая позволяет потренироваться в использовании технологии flex.

 

Блочные и строчные элементы. 

В html все элементы делятся на блочные и строчные. 

 

Блочные элементы занимают всю ширину родительского элемента. Например, элементы <h1> и <p> являются блочными.  

Пример: 

    <style> 

        h1,p { 

            background-color: aqua; 

        } 

    </style> 

</head> 

<body> 

    <h1>Заголовок</h1> 

    <p>Параграф</p> 

 

 

Как видно из результата независимо от контента ширина элементов распространяется на всю ширину экрана. 

 

Строчные элементы занимают ширину равную ширине своего контента. Они как правило используются для выделения кусочков текста. 

Пример: 

        h1,p { 

            background-color: aqua; 

        } 

        b { 

            background-color:red; 

        } 

    </style> 

</head> 

<body> 

    <h1>Заголовок</h1> 

    <p>Lorem <b>ipsum dolor</b> sit amet consectetur adipisicing elit. Placeat aut distinctio porro tenetur laborum dolor voluptatibus consequuntur quisquam eligendi, nostrum labore adipisci delectus minus totam nemo, sed, eum ut corrupti.</p> 

 

 

 

В css существует свойство display. С помощью него можно менять дефолтное состояние элемента. Т.е. строчный элемент можно сделать блочным и наоборот. Так же с помощью этого свойства можно скрыть элемент.  

Далее в таблице приведем возможные значения этого свойства: 

 

Свойство 

Значение 

Описание 

display 

block 

Делает элемент блочным 

inline 

Делает элемент строчным 

none 

Скрывает элемент 

  

 

Тэги div и span. 

В html существуют тэги div и span. Div – блочный элемента, span строчный. Они по умолчанию не имеют ни каких css настроек. Как правило при их использовании им присваивают классы или идентификаторы. Они не несут ни какой семантической нагрузки и широко используются для формирования различного размещения элементов на странице. 

Пример использования: 

 

    <style> 

        .paragraph { 

            background-color:aqua; 

        } 

        .bold-text { 

            font-weight: bold; 

            background-color: red; 

        } 

    </style> 

</head> 

<body> 

    <div class="paragraph">Lorem <span class="bold-text">ipsum dolor</span> sit amet consectetur adipisicing elit. Placeat aut distinctio porro tenetur laborum dolor voluptatibus consequuntur quisquam eligendi, nostrum labore adipisci delectus minus totam nemo, sed, eum ut corrupti.</div> 

</body> 

 

 

Технология Flex. 

До сих пор в нашей верстке все элементы размещались один под другим по очереди. В html существует технология, которая позволяет нарушать обычный порядок отображения – Flex 

 

Данная технология хорошо описана на различных сайтах в Интернете. Вот некоторые ссылки: 

 

 

 

Так же есть онлайн игра, которая позволяет потренироваться в использовании данной технологии.

 

 

Свойства применяемые к флекс-контейнеру 

display 

Создает флекс контейнер 

flex 

 

Создет флекс контейнер для инлайн элементов 

flex-inline 

 

 

-webkit-flex 

Для устаревших браузеров 

 

-ms-flex 

flex-direction 

Направление главной оси 

row 

По умолчанию 

row-reverse 

 

column 

 

column-reverse 

 

flex-wrap 

Могут ли переходить не входящие элементы на новую строку 

nowrap 

По умолчанию 

wrap 

 

wrap-reverse 

 

flex-flow 

За раз два предыдущих 

Два значения через пробел 

 

justify-content 

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

flex-start 

 

flex-end 

 

center 

 

space-between 

элементы равномерно распределены по линии; первый элемент находится в начале строки, последний элемент в конце строки 

space-around 

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

space-evenly 

элементы распределяются таким образом, чтобы расстояние между любыми двумя элементами (и расстояние до краев) было одинаковым. 

align-items 

Как выравниваются элементы по высоте или растягиваются 

flex-start 

 

flex-end 

 

center 

 

stretch 

 

baseline 

 

align-content 

Определяет как выравниваются элементы, если контейнер больше, чем содержимое 

Работает только если flex-wrap:wrap; 

flex-start 

 

flex-end 

 

center 

 

stretch 

 

space-between 

 

space-around 

 

Свойства применяемые к флекс-элементам 

order 

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

Целое положительное или отрицательное число 

По умолчанию все имеют значение 0 и располагаются по очереди в html документе. Если присвоить 1, то элемент переместится в конец, если -1, то в начало.  

flex-grow 

Способность растягиваться в случае необходимости 

число 

Обозначает пропорцию. Т.е. если всего 2 элемента у одного это свойство равно1 у другого 2, то они растянутся 1:2. По умолчанию ноль, соответственно расширятся не будет. 

flex-shrink 

Способность сжиматься при необходимости 

Число 

 

flex-basis 

Размер элемента по умолчанию перед распределением оставшегося пространства 

auto 

«Смотри на мои width и height» 

Размер в любых едиицах или % 

 

content 

На основе содержимого элемента 

flex 

За раз три предыдущих 

01auto 

По умолчанию 

align-self 

То же самое что align-items, только для одного элемента 

flex-start 

 

flex-end 

 

center 

 

stretch 

 

baseline 

 

min-width 

Можно использовать 

 

 

max-width 

 

 

min-height 

 

 

max-height