Содержание

Совместимость макета Flexbox — Русские Блоги

Совместимость макета Flexbox

  Http://ayqy.net/blog/flexbox makeout Совместимость /

Написано перед

Макет Flex был там как в начале 2009 года, и теперь — 8 июня 2015 года, используя последнюю гибкую грамматику, чтобы найти уровни поддержки, даже в браузере «Высококачественный», такие как Chrome, Firefox, Safari, Android, iOS Safari Safari разные уровни

Существующий один код полон различных версий, и в Chrome нет проблем, и Firefox также очень хорош, но Android очень слаб под iOS Safari. Причина, по которой будет такая ситуация, в основном является исторической причиной. С 2009 по 2015 год спецификация W3C была обновлена ​​множество обновлений. Поддержка браузера имеет значение.

Один. W3C Различная версия Flex

2009 version

Знак: Дисплей: коробка; или свойство, которое является коробкой — {*} (например, Box-Pack)

2011 version

Знак: Дисплей: Flexbox; или функция Flex () или свойство Flex-Pack

2012 version

Знак: Дисплей: flex / Inline-flex; и flex — {*} Свойства

2014 version

Добавлены положения Z-индекса

2015 W3C Editor’s Draft

Нет больших изменений

P. S. Примечание 2015 — это проект редактора W3C, просто проект, все еще находится на этапе ремонта и реформы, а также не собрал представления поставщиков браузера.

2. Браузерная совместимость

Спецификация W3C для Flex:http://dev.w3.org/csswg/css-flexbox-1/

Совместимость браузера может быть передана на Caniuse:http://caniuse.com/#feat=flexbox

Согласно данным Canius, он может быть обобщен следующим образом:

  • IE10 Part поддерживает 2012, нужно -ми-префикс

  • Android4.1 / 4.2-4.3 Поддержка 2009Нужно -webkit-префикс

  • Safari7 / 7.1 / 8 Номер поддержки 2012,Нужно -webkit-префикс

  • IOS Safari7.0-7.1 / 8.1-8.3 Часть поддерживает 2012, вам нужно -webkit-префикс

Таким образом, вам нужно рассмотреть новую версию 2012:http://www.w3.org/TR/2012/CR-css3-flexbox-20120918/

Android должен рассмотреть старую версию 2009:http://www.w3.org/TR/2009/WD-css3-flexbox-20090723/

В-третьих.

Браузер совместим с Flex Syntax

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

/ * Детские элементы - среднее сжигание * /
.flex1 {
  -webkit-box-flex: 1;	  /* OLD - iOS 6-, Safari 3.1-6 */
  -moz-box-flex: 1;		 /* OLD - Firefox 19- */
  width: 20%;			   /* For old syntax, otherwise collapses. */
  -webkit-flex: 1;		  /* Chrome */
  -ms-flex: 1;			  /* IE 10 */
  flex: 1;				  /* NEW, Spec - Opera 12.1, Firefox 20+ */
}
/ * Родительские элементы - поперечное расположение (шпиндель) * /
.flex-h {
  display: box;			  /* OLD - Android 4.4- */
  display: -webkit-box;	  /* OLD - iOS 6-, Safari 3.1-6 */
  display: -moz-box;		 /* OLD - Firefox 19- (buggy but mostly works) */
  display: -ms-flexbox;	  /* TWEENER - IE 10 */
  display: -webkit-flex;	 /* NEW - Chrome */
  display: flex;			 /* NEW, Spec - Opera 12.1, Firefox 20+ */
  / * 09 версия * /
  -webkit-box-orient: horizontal;
  / * 12 версия * /
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  -o-flex-direction: row;
  flex-direction: row;
}
/ * Родительские элементы - ландшафтная упаковка * /
.
flex-hw { / * 09 версия * / /*-webkit-box-lines: multiple;*/ / * 12 версия * / -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; -o-flex-wrap: wrap; flex-wrap: wrap; } / * Родительские элементы - корпус уровня (шпиндель горизонтальная талангия) * / .flex-hc { / * 09 версия * / -webkit-box-pack: center; / * 12 версия * / -webkit-justify-content: center; -moz-justify-content: center; -ms-justify-content: center; -o-justify-content: center; justify-content: center; / * Другие значения следующие: Выровнять элементы шпинделя происхождения направления Направление расширения шпинделя Flex-End Пространство между эквивалентностью устроена, первый конец не оставляет белых Космос вокруг эквивалентности, первый хвост */ } / * Родительский элемент - вертикальное расположение (шпиндель) * / .flex-v { display: box; /* OLD - Android 4.4- */ display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */ display: -moz-box; /* OLD - Firefox 19- (buggy but mostly works) */ display: -ms-flexbox; /* TWEENER - IE 10 */ display: -webkit-flex; /* NEW - Chrome */ display: flex; /* NEW, Spec - Opera 12.
1, Firefox 20+ */ / * 09 версия * / -webkit-box-orient: vertical; / * 12 версия * / -webkit-flex-direction: column; -moz-flex-direction: column; -ms-flex-direction: column; -o-flex-direction: column; flex-direction: column; } / * Родительские элементы - продольное обновление * / .flex-vw { / * 09 версия * / /*-webkit-box-lines: multiple;*/

Перепечатано: https://www.cnblogs.com/chris-oil/p/5826775.html


Интеллектуальная рекомендация

Апплеты WeChat загружаются в подпакеты и предварительно загружаются в подпакеты

С непрерывной итерацией проектов апплетов WeChat появляется все больше и больше функций, и пакет кода, соответственно, становится все больше и больше. Размер основного пакета слишком велик, что повлия…

Модель освещения Ламберта

Первичная конструкция микросервисной архитектуры springboot + dubbo

Недавно из-за большого количества проектов и обработки личных и личных дел обновление было полным. Некоторое время назад друг хотел понять архитектуру микросервисов, а затем я объединил организационну…

Видеть

0x00 Предисловие Эта тема была сделана в течение нескольких дней, потому что я не очень хорошо понимал эту кучу использования, я пробил в течение нескольких дней и, наконец, лучше понимал это вчера. Н…

URL

URL — это строка, которая выглядит искаженной в строке поиска, это так называемая строка MIME application / x-www-form-urlencoded. Когда программирование включает преобразование обычных символов и эти…

Вам также может понравиться

Примечания к исследованию больших данных 1. Установка Linux на виртуальную машину

1. Что такое Linux Что такое Linux? Linux — это бесплатная и свободно распространяемая Unix-подобная операционная система, многопользовательская, многозадачная, многопоточная и многопроцессорная опера…

В соответствии со значением атрибута поля в объекте динамическое отражение Java вызывает соответствующий метод get

В соответствии со значением атрибута поля в объекте, динамически вызывать соответствующий метод get #### Например, поля в объекте GoodsVO используются в качестве ключа, а метод get используется в каче. ..

Структура данных: создание двусвязного списка, а также вставка и удаление узлов на основе P узлов

Структура данных: создание двусвязного списка, вставка узлов до и после узла P, удаление узлов до и после узла P и P Когда мы говорим о головном узле связанного списка, первое, что мы думаем, это отме…

CSS

CSS концепция Как установить стиль CSS в теге HTML Селектор синтаксис Комментарий Селектор Псевдо / псевдо элемент Цветное значение в CSS Serif и Sans-Serif Soft разница в Модель коробки (Модель короб…

Открытый исходный код Java CMS-FreeCMS2.6 управление словарем

Стандарты набора персонала Unicorn Enterprise Heavy для Python-инженеров 2019 >>> адрес проекта:http://www.freeteam.cn/ Управление словарем Поддерживается с FreeCMS 2.3 Управление классификац…

Свойство flex | CSS справочник

CSS свойства

Определение и применение

CSS свойство flex является короткой записью для свойств, которые позволяют определить размер для флекс элемента, установленный по умолчанию, указать на сколько элемент может увеличится, либо уменьшится по отношению к остальным флекс элементам в одном контейнере, а именно:

  • flex-grow (number | initial | inherit)
  • flex-shrink (number | initial | inherit)
  • flex-basis (auto | width | initial | inherit)

Поддержка браузерами

Свойство
Chrome

Firefox

Opera

Safari

IExplorer

Edge
flex29. 0
21.0
-webkit-
28.0
18.0
-moz-
17.09.0
6.1
-webkit-
11.0
10.0
-ms-
12.0

CSS синтаксис:

flex:"flex-grow flex-shrink flex-basis | auto | none | initial | inherit";
Если указывается одно числовое значение оно устанавливается для flex-grow,
если указаны единицы измерения CSS, то для flex-basis
Если второе значение соответствует числовому значению, то оно устанавливается для flex-shrink,
если указаны единицы измерения CSS, то для flex-basis и т.п.

JavaScript синтаксис:

object.style.flex = "0 1 auto"

Значения свойства

ЗначениеОписание
flex-growЧисло, которое указывает, на сколько будет увеличен блок по отношению к остальным флекс элементам в контейнере. Отрицательные значения не допускаются.
Значение по умолчанию 0.
flex-shrinkЧисло, которое указывает, на сколько будет уменьшен блок по отношению к остальным флекс элементам в контейнере (при недостатке свободного пространства). Отрицательные значения не допускаются. Значение по умолчанию 1.
flex-basisОпределяет размер для флекс элемента, установленный по умолчанию перед распределением пространства в контейнере. Отрицательные значения не допускаются. Размер указывается в единицах измерения CSS(px, em, pt и т.д.), либо высчитывается автоматически браузером исходя из содержания элемента.
Значение по умолчанию auto.
autoСоответствует значению flex : 1 1 auto;.
noneСоответствует значению flex : 0 0 auto;.
initialУстанавливает свойство в значение по умолчанию. Соответствует значению flex : 0 1 auto;.
inheritУказывает, что значение наследуется от родительского элемента.

Версия CSS

CSS3

Наследуется

Нет.

Анимируемое

Да.

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

Рассмотрим пример увеличения флекс элементов в CSS, используя свойство flex:

<!DOCTYPE html>
<html>
<head>
<title>Увеличение флекс элементов в CSS</title>
<style> 
. container
{ width: 100%; /* устанавливаем ширину блока */ height: 100px; /* устанавливаем высоту блока */ display: -webkit-flex; /* для поддержки ранних версий браузеров */ display: flex; /* элемент отображается как блочный flex-контейнер */ color: white; /* устанавливаем цвет шрифта */ } .container div:nth-of-type(1) { псевдокласс :nth-of-type() выбирает каждый указанный элемент, который является заданным дочерним элементом своего родительского элемента (выбираем первый <div> в контейнере) -webkit-flex: 1; /* для поддержки ранних версий браузеров */ flex: 1; /* число, которое указывает, на сколько будет увеличен блок по отношению к остальным флекс элементам */ background: orange; /* устанавливаем цвет заднего фона */ } .container div:nth-of-type(2) { псевдокласс :nth-of-type() выбирает каждый указанный элемент, который является заданным дочерним элементом своего родительского элемента (выбираем второй <div> в контейнере) -webkit-flex: 3; /* для поддержки ранних версий браузеров */ flex: 3; /* число, которое указывает, на сколько будет увеличен блок по отношению к остальным флекс элементам */ background: brown; /* устанавливаем цвет заднего фона */ } . container div:nth-of-type(3) { псевдокласс :nth-of-type() выбирает каждый указанный элемент, который является заданным дочерним элементом своего родительского элемента (выбираем третий <div> в контейнере) -webkit-flex: 1; /* для поддержки ранних версий браузеров */ flex: 1; /* число, которое указывает, на сколько будет увеличен блок по отношению к остальным флекс элементам */ background: tan; /* устанавливаем цвет заднего фона */ } </style> </head> <body> <div class = "container"> <div>1</div> <div>3</div> <div>1</div> </div> </body> </html>
Пример использования CSS свойства flex(увеличение флекс элементов в CSS).

Рассмотрим пример уменьшения флекс элементов в CSS, используя свойство flex:

<!DOCTYPE html>
<html>
<head>
<title>Уменьшение флекс элементов в CSS</title>
<style> 
.container {
width: 250px; /* устанавливаем ширину блока */
height: 100px;  /* устанавливаем высоту блока */
display: -webkit-flex;  /* для поддержки ранних версий браузеров */
display: flex;  /* элемент отображается как блочный flex-контейнер */
color: white;  /* устанавливаем цвет шрифта */
 /* устанавливаем два свойства для возможности масштабировать контейнер по горизонтали (изменять ширину): */
overflow: auto;  /* указываем, что при переполнении содержимое отображается (автоматический режим) */
resize: horizontal;  /* пользователь может изменять ширину элемента */
} 
. container div:nth-of-type(1) { псевдокласс :nth-of-type() выбирает каждый указанный элемент, который является заданным дочерним элементом своего родительского элемента (выбираем первый <div> в контейнере)
 -webkit-flex: 0 1 150px;  /* для поддержки ранних версий браузеров */
flex: 0 1 150px;  /* блоки по отношению к другим не увеличиваем(значение 0), указываем, что блок при недостатке места будет уменьшен по умолчанию(1), определяем начальную ширину флекс элемента (приведет сразу к уменьшению второго блока, т.к. ширина контейнера 250px)  */
background: orange;  /* устанавливаем цвет заднего фона */
} 
.container div:nth-of-type(2) { псевдокласс :nth-of-type() выбирает каждый указанный элемент, который является заданным дочерним элементом своего родительского элемента (выбираем второй <div> в контейнере)
-webkit-flex: 0 3 150px;  /* для поддержки ранних версий браузеров */
flex: 0 3 150px;  /* блоки по отношению к другим не увеличиваем(значение 0), указываем, что блок при недостатке места будет уменьшен по отношению к другим на 3, определяем начальную ширину флекс элемента (приведет сразу к уменьшению второго блока, т. к. ширина контейнера 250px)  */
background: brown;  /* устанавливаем цвет заднего фона */
}
.container div:nth-of-type(3) { псевдокласс :nth-of-type() выбирает каждый указанный элемент, который является заданным дочерним элементом своего родительского элемента (выбираем третий <div> в контейнере)
-webkit-flex: 0 1 150px;  /* для поддержки ранних версий браузеров */
flex: 0 1 150px;  /* блоки по отношению к другим не увеличиваем(значение 0), указываем, что блок при недостатке места будет уменьшен по умолчанию(1), определяем начальную ширину флекс элемента (приведет сразу к уменьшению второго блока, т.к. ширина контейнера 250px)  */
background: tan;  /* устанавливаем цвет заднего фона */
}
</style>
</head>
<body>
	<div class = "container">
		<div>1</div>
		<div>3</div>
		<div>1</div>
	</div>
</body>
</html>
Пример использования CSS свойства flex(уменьшение флекс элементов в CSS).

Рассмотрим пример, где мы укажем значение ширины флекс элемента по умолчанию, используя при этом единицы измерения CSS и в автоматическом режиме, используя свойство flex:

<!DOCTYPE html>
<html>
<head>
<title>Размер флекс элементов по умолчанию в CSS</title>
<style> 
. container {
width: 250px; /* устанавливаем ширину блока */
height: 100px;  /* устанавливаем высоту блока */
display: -webkit-flex;  /* для поддержки ранних версий браузеров */
display: flex;  /* элемент отображается как блочный flex-контейнер */
color: white;  /* устанавливаем цвет шрифта */
 /* устанавливаем два свойства для возможности масштабировать контейнер по горизонтали (изменять ширину): */
overflow: auto;  /* указываем, что при переполнении содержимое отображается (автоматический режим) */
resize: horizontal;  /* пользователь может изменять ширину элемента */
} 
.container div:nth-of-type(1) { псевдокласс :nth-of-type() выбирает каждый указанный элемент, который является заданным дочерним элементом своего родительского элемента (выбираем первый <div> в контейнере)
-webkit-flex: 0 1 auto;  /* для поддержки ранних версий браузеров */
flex: 0 1 auto;  /* для элемента задано значение по умолчанию (ширина элемента расчитывается по содержимомку) */
background: orange;  /* устанавливаем цвет заднего фона */
} 
. container div:nth-of-type(2) { псевдокласс :nth-of-type() выбирает каждый указанный элемент, который является заданным дочерним элементом своего родительского элемента (выбираем второй <div> в контейнере)
-webkit-flex: 0 1 150px;  /* для поддержки ранних версий браузеров */
flex: 0 1 150px;  /* элемент не увеличиваем и не уменьшаем по отношению к другим, но значение ширины по умолчанию устанавливаем равной 150px */
background: brown;  /* устанавливаем цвет заднего фона */
}
.container div:nth-of-type(3) { псевдокласс :nth-of-type() выбирает каждый указанный элемент, который является заданным дочерним элементом своего родительского элемента (выбираем третий <div> в контейнере)
-webkit-flex: 0 1 auto;  /* для поддержки ранних версий браузеров */
flex: 0 1 auto;  /* для элемента задано значение по умолчанию (ширина элемента расчитывается по содержимомку) */
background: tan;  /* устанавливаем цвет заднего фона */
}
</style>
</head>
<body>
	<div class = "container">
		<div>auto</div>
		<div>150px</div>
		<div>auto</div>
	</div>
</body>
</html>
Пример использования CSS свойства flex(размер флекс элементов по умолчанию в CSS). CSS свойства

Проблемы с flex-box HTML + CSS

Есть блок с новостями. Хочу, чтобы после применения align-items: flex-start; блоки смещались к верху, как показано на фото №2, чтобы не было пробелов. У меня сейчас блоки с 2-й строки выравниваются по самому большому блоку из 1-й строки, а нужно, чтобы выравнивались автоматически по размерам верхнего блока. Пробовал через align-content — что-то не вышло.

  margin: 0 auto 20px;
  max-width: 1000px;
  display: flex;  
  flex-wrap: wrap;
  justify-content: space-evenly;
  align-items: flex-start;
}

  • html
  • css
  • css3
  • вёрстка
  • flexbox

0

Есть такая хорошая штука, называется masonry. Но сегодня можно воспользоваться и аналогом, это уже, например, flex или grid. Поддержка браузерами, если использовать плагин masonry, будет практически 100%. С flex дела обстоят чуть хуже. А если использовать grid, тогда будет совсем плохо. Из двух зол выбираем наименьшее, пример с использованием flex:

body {
  margin: 0;
  padding: 0;
  background: #555;
}

div#masonry {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  height: 100vw;
  font-size: 0;
}

div#masonry img {
  width: 33.3%;
  transition: .5s opacity;
}

div#masonry:hover img {
  opacity: 0.3;
}

div#masonry:hover img:hover {
  opacity: 1;
}

@supports not (flex-wrap: wrap) {
  div#masonry {
    display: block;
  }
  div#masonry img {
    display: inline-block;
    vertical-align: top;
  }
}
<div>
  <img src="https://images.pexels.com/photos/1257110/pexels-photo-1257110.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940">
  <img src="https://images. pexels.com/photos/1054974/pexels-photo-1054974.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940">
  <img src="https://images.pexels.com/photos/2253879/pexels-photo-2253879.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940">
  <img src="https://images.pexels.com/photos/1257099/pexels-photo-1257099.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940">
  <img src="https://images.pexels.com/photos/1128318/pexels-photo-1128318.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940">
  <img src="https://images.pexels.com/photos/532508/pexels-photo-532508.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940">
  <img src="https://images.pexels.com/photos/834508/pexels-photo-834508.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940">
  <img src="https://images.pexels.com/photos/50692/brothers-family-siblings-boys-50692.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940">
</div>

3

Старый и добрый column-count который принимает не ограниченное количество высоты и который 100% поддерживается везде и сам пересчитывает

Вот здесь можно экран сужать/расширять: https://codepen. io/topicstarter/pen/oNjxepx и увидить column-count с медиа запросами

Что бы изменить кол-во столбиков достаточно написать column-count: number

.items {
  column-count: 3;
}

.item {
  display: inline-block;
  background: #fafafa;
  border: 1px solid #000;
  padding: 4px;
  margin-top: 4px;
}

.item img {
  display: block;
  width: 100%;
}

.item h5 {
  text-transform: uppercase;
  text-align: center;
  margin: 0;
}
<div>
  <div>
    <img src="http://placehold.it/200x200" alt="">
    <h5>name family1</h5>
    <p>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Quod at incidunt nisi debitis a!</p>
  </div>
  <div>
    <img src="http://placehold.it/200" alt="">
    <h5>name family1</h5>
    <p>Lorem ipsum dolor sit amet consectetur adipisicing elit.  Facilis, accusamus.</p>
  </div>
  <div>
    <img src="http://placehold.it/200x150" alt="">
    <h5>name family1</h5>
    <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem nostrum voluptate eos repudiandae harum mollitia? Minima, libero dolorem?</p>
  </div>
  <div>
    <img src="http://placehold.it/200x250" alt="">
    <h5>name family1</h5>
    <p>Lorem ipsum dolor sit amet consectetur adipisicing elit.</p>
  </div>
  <div>
    <img src="http://placehold.it/200x240" alt="">
    <h5>name family1</h5>
    <p>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Dignissimos dolorum omnis provident animi a nam ex similique! Eos, sunt id.</p>
  </div>
  <div>
    <img src="http://placehold.it/200x320" alt="">
    <h5>name family1</h5>
    <p>Lorem ipsum dolor sit amet consectetur adipisicing elit.  Ab necessitatibus voluptate ut odio quasi, aperiam quos.</p>
  </div>
  <div>
    <img src="http://placehold.it/200x200" alt="">
    <h5>name family1</h5>
    <p> Lorem ipsum dolor sit amet consectetur adipisicing elit. Saepe repellendus nemo impedit pariatur.</p>
  </div>
  <div>
    <img src="http://placehold.it/200x120" alt="">
    <h5>name family1</h5>
    <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Nesciunt sint a omnis aperiam distinctio.</p>
  </div>
  <div>
    <img src="http://placehold.it/200x180" alt="">
    <h5>name family1</h5>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Doloribus, totam!</p>
  </div>
  <div>
    <img src="http://placehold.it/200x100" alt="">
    <h5>name family1</h5>
    <p>Lorem ipsum dolor sit, amet consectetur adipisicing elit.  Atque hic blanditiis autem minima necessitatibus, quidem excepturi in quia ipsum iure?</p>
  </div>
  <div>
    <img src="http://placehold.it/200x200" alt="">
    <h5>name family1</h5>
    <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Excepturi, eligendi.</p>
  </div>
  <div>
    <img src="http://placehold.it/200x270" alt="">
    <h5>name family1</h5>
    <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Temporibus quis quisquam ipsa perferendis nam hic cupiditate. Voluptate veniam quos repellat.</p>
  </div>
  <div>
    <img src="http://placehold.it/200x100" alt="">
    <h5>name family1</h5>
    <p>Lorem ipsum dolor, sit amet consectetur adipisicing elit. Dolorem, earum?</p>
  </div>
  <div>
    <img src="http://placehold.it/200x250" alt="">
    <h5>name family1</h5>
    <p>Lorem ipsum dolor sit amet consectetur adipisicing elit.  Cum, ducimus quibusdam.</p>
  </div>
  <div>
    <img src="http://placehold.it/200x120" alt="">
    <h5>name family1</h5>
    <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Velit cupiditate ipsam aut.</p>
  </div>
  <div>
    <img src="http://placehold.it/200x200" alt="">
    <h5>name family1</h5>
    <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. A obcaecati sequi nihil fugit perspiciatis suscipit facere, iste libero eum? Explicabo dolore mollitia eum. Ipsum temporibus officia nostrum dolor delectus explicabo.</p>
  </div>
</div>

1

Ваш ответ

Зарегистрируйтесь или войдите

Регистрация через Google

Регистрация через Facebook

Регистрация через почту

Отправить без регистрации

Почта

Необходима, но никому не показывается

Отправить без регистрации

Почта

Необходима, но никому не показывается

Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки

Руководство по CSS Flex | Совместимость с браузером Flex | Часть 1

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

До тех пор, пока времена хитрых адаптивных хакеров не заставили ваш веб-сайт переупорядочивать отображаемый HTML, как с Flex, это очень просто. Но это не все, что может предложить технология; у вас есть полный контроль над вашими элементами Flex, а это означает, что если вы хотите изменить или даже изменить направление своих элементов, вы можете легко это сделать.

Совместимость с CSS Flex

Создается впечатление, что многие разработчики «старой школы» бросили тень на Flex, аргументируя это тем, что он не поддерживается всеми современными браузерами. Но давайте быстро взглянем на оценки совместимости с caniuse.com для Flex.

Как вы можете видеть на снимке экрана выше, последние две версии для каждого браузера поддерживают Flex, более темный зеленый цвет в большинстве браузеров означает, что CSS Flex полностью поддерживает все свои свойства. Оливково-зеленый цвет в IE (Internet Explorer) и более старых версиях некоторых браузеров означает, что он имеет частичную поддержку, что означает, что в конечном итоге он работает, вам просто нужно добавить несколько модификаций и префиксов в свой код, чтобы заставить его работать правильно, что можно узнать здесь.

Давайте создадим гибкий заголовок

Теперь мы знаем, что Flex поддерживается всеми основными браузерами, и пришло время ввести его в наш рабочий процесс. как нам это сделать? Загрузите свой файл CSS или перейдите в онлайн-редактор (я создам его в JSbin, к которому у вас есть доступ), поэтому следуйте этому рабочему примеру создания меню заголовка рабочего стола в CSS Flex.

Что мы сегодня будем строить.

1). Настройка нашего HTML

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

Давайте поговорим о том, что мы сделали в приведенном выше файле сверху вниз.
• Мы используем элемент HTML5 под названием

, чтобы определить область заголовка для работы. Это отличный семантический тег для использования.
• Мы создаем якорь с классом «логотип», который содержит изображение. У большинства заголовков на веб-сайтах есть логотип, поэтому он подходит только для нашего.
• Далее у нас есть элемент div с классом ‘nav-toggle’, о котором нам пока не нужно беспокоиться, но он будет управлять нашей мобильной версией меню, которое будет создано во второй части этот блог.
• Наконец, у нас есть еще один элемент HTML5 с именем