Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Регистрируясь, я даю согласие на обработку данных и условия почтовых рассылок.
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Погрузитесь в увлекательный мир, где вас ждут уникальные герои, строительство собственной цитадели и захватывающие бои в формате «три в ряд»!  Откройте новые горизонты в жанре РПГ.

Время Героев: Три в ряд RPG

Три в ряд, Мидкорные, Приключения

Играть

Топ прошлой недели

  • Animalrescueed Animalrescueed 43 поста
  • XCVmind XCVmind 7 постов
  • tablepedia tablepedia 43 поста
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая «Подписаться», я даю согласие на обработку данных и условия почтовых рассылок.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
0 просмотренных постов скрыто
DELETED

Justify-content на бутербродах⁠⁠

4 года назад

Кто-то: ты все время думаешь о работе
Я: нет, с чего ты взял
Также я, когда делаю бутерброды:

Justify-content на бутербродах
[моё] Flexbox Frontend IT Web Бутерброд Профессиональный юмор
2
7
serg199627
serg199627

5 Flexbox методов, о которых вы должны знать⁠⁠

9 лет назад

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



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


1. Создание столбцов с одинаковой высотой


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


Flexbox не видит в этом проблемы. Все, что нам нужно, так это инициализировать гибкую модель. Обязательно убедитесь, что flex-direction и align-items имеют значения «по умолчанию».


div class="container">



.container{

display: flex;

flex-direction: row; /*Пункты внутри контейнера будут располагаться горизонтально*/

align-items: stretch; /*Пункты внутри контейнер будут принимать всю его высоту*/

}


ПРИМЕР


2. Изменение порядка


Некоторое время назад, если бы мне пришлось динамически изменять порядок некоторых элементов, я, вероятно, попробовал бы некоторые CSS хаки, но потом бросили бы эту затею и в расстройстве сделали бы это с помощью javascript. С flexbox же эта задача сводится всего к применению всего лишь одного свойства СSS.


Это свойство называется order. Оно позволяет мне менять любое количество flex элементов и изменять их последовательность, в которой они появятся на экране. Этот параметр представляет собой целое число, определяющее положение элемента — более низкие числа означают больший приоритет.



<div class="blue">...</div>

<div class="red">...</div>

<div class="green">...</div>



.conteiner{display: flex;}


/*Обратный порядок элементов*/


.blue{order: 3;}

.red{order: 2;}

.green{order: 1;}


ПРИМЕР


3.Горизонтальное и вертикальное центрирование


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


Flexbox предлагает более простое решение этой проблемы. Каждый гибкий макет имеет два направления на оси (X,Y) и два отдельных свойства для их выравнивания. Мы можем позиционировать любой элемент прямо в середине родительского контейнера.



<div>...</div>



.container{

display: flex;

justify-content: center; /*Центр по главной оси*/

align-items: center; /*Центр по вспомогательной оси*/

}


ПРИМЕР


4. Создание полностью отзывчивой сетки (Responsive Grids)


Большинство разработчиков полагаются на готовые CSS фреймворки при создании адаптивных сайтов. Bootstrap является наиболее популярным, но есть и сотни других фреймворков, которые помогут вам справиться с этой задачей. Как правило, они хорошо работают и имеют множество опций, но имеют тенденцию быть довольно тяжелыми. Если вы все хотите сделать своими руками и вам не нужных громоздких фреймвокров, тогда Flexbox именно для вас!


Строка flexbox сетки представляет собой простой контейнер с display: block;. Внутри горизонтального столбца может быть любое количество элементов, размер которого устанавливается с помощью Flex. Гибкая модель адаптируется под размер окна браузера, так что эта схема должна отлично выглядеть на всех устройствах. Тем не менее, если все таки не хватит места на экране по горизонтали, то мы сможем решить эту проблему с помощью медиа-запроса.



<div class="col-1">...</div>

<div class="col-2">...</div>

<div class="col-1">...</div>



.container{display: flex;}

.col-1{flex: 1;}

.col-2{flex: 2;}

@media (max-width: 800px){

.container{

flex-direction: column;

}

}


ПРИМЕР


5. Создание идеального Sticky Footer (прилипающий футер)


Flexbox имеет простое решение этой проблемы. Применение display: flex; к тегу body позволяет построить весь наш макет страницы, на основе свойств Flex. Да чего я все говорю, да говорю? Давайте уже лучше посмотрим на практике.



<div class="main">...</div>


<footer>...</footer>



html{height: 100%;}

body{

display: flex;

flex-direction: column;

height: 100%;

}


.main{

/*Основной раздел будет занимать все свободное место на странице*/


flex: 1 0 auto;

}


footer{

/*Футер будет занимать столько места по вертикали, сколько и должен и не пикселя больше */


flex: 0 0 auto;

}



Вывод


Все браузеры (кроме IE 9) теперь поддерживают режим Flexbox. Если вы не использовали Flexbox до этого момента, то я рекомендуем Вам попробовать.


Надеюсь, что мои советы CSS были для вас полезны и что они помогут вам создавать более качественные и более адаптивные макеты.


Жду ваших комментариев по этому поводу.


Вы так же можете читать мои статьи здесь

Показать полностью
Hurumbra Flexbox HTML CSS Верстальщик Длиннопост Текст
4
15
serg199627
serg199627

На заметку опытному верстальщику: Лучший способ сделать липкий футер⁠⁠

9 лет назад

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



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


ТЕХНИКА


Я начну строить нашу страницу с помощью верстки адаптивных блоков. Кто еще до сих пор не знает, но начиная с 21 апреля 2015 года Гугл ввел новые методы ранжирования сайтов, в основе которого лежит адаптивный дизайн сайта. Если Ваш сайт не имеет адаптивного дизайна, Ваш ресурс будет понижаться в выдаче поисковой системы. Вот оно чудо мобильных устройств.


Моя демонстрационная страница будет самая что ни на есть простая. Состоять он будет из трех основных частей:



1.Заголовок(head);

2.основной раздел (main section);

3.футер(footer);


Вот вам пример html кода, ничего в нем сверхъестественного нет.



<header>...</header>

<section class="main-content">...</section>

<footer>...</footer>



Первым делом добавим display: flex в body, и добавим направление направление для flex-элементов размещенных на нашей странице (по умолчанию flex-direction: row; расположение объектов слева направо для ltr, и справа налево для rtl). Кроме этого добавим height: 100%;, для того, чтобы заполнить весь экран.


html{ height: 100%; }

body{ display: flex; flex-direction: column; height: 100%; }


Теперь я задам параметры, которые будут определять, какое место будет занимать тот или иной блок на странице. Сделаю это с помощью свойства Flex. Ниже я привел ещё ряд свойств, с помощью которых можно будет задать:


flex-grow – Определяет для flex-элемента возможность «вырастать» при необходимости

flex-shrink – Определяет для flex-элемента возможность сжиматься при необходимости

flex-basis — Определяет размер по умолчанию для элемента перед распределением пространства в контейнере


Я хочу, чтобы мой footer занимал столько место, сколько ему нужно, а все оставшееся место было бы доступно для основного содержимого. Ниже я привожу пример того, как выглядит мой CSS код:


header{flex: 0 0 auto;}

.main-content{flex: 1 0 auto;}

footer{flex: 0 0 auto;}


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

ПРИМЕР


Заключение


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


Я надеюсь, что Вам понравился именно этот способ создания простых липких футеров и что Вы нашли в этой статье что-то новое и полезное для себя. Оставляйте свои комментарии, если у вас есть свой крутой трюк с адаптивными блоками, напишите мне.

Показать полностью 1
Программирование Создание сайта HTML CSS Flexbox Длиннопост
18
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии