<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: diogomiyagi</title>
    <description>The latest articles on DEV Community by diogomiyagi (@diogomiaguy).</description>
    <link>https://dev.to/diogomiaguy</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F265478%2Ff3e7ed5a-7b59-4e02-8e47-202edfcdaec8.jpeg</url>
      <title>DEV Community: diogomiyagi</title>
      <link>https://dev.to/diogomiaguy</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/diogomiaguy"/>
    <language>en</language>
    <item>
      <title># Estudos sobre FLEXBOX</title>
      <dc:creator>diogomiyagi</dc:creator>
      <pubDate>Thu, 01 Oct 2020 14:00:38 +0000</pubDate>
      <link>https://dev.to/diogomiaguy/estudos-sobre-flexbox-52k3</link>
      <guid>https://dev.to/diogomiaguy/estudos-sobre-flexbox-52k3</guid>
      <description>&lt;p&gt;Link dos videos que gravei enquanto estudava: &lt;a href="https://www.youtube.com/playlist?list=PLJa9e-ROBLypvJvZvy3o6fXgT2yxunuqn"&gt;https://www.youtube.com/playlist?list=PLJa9e-ROBLypvJvZvy3o6fXgT2yxunuqn&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Flexbox é destinado à criação de layout em uma dimensão, horizontal ou vertical.&lt;/p&gt;

&lt;p&gt;Flex container é um elemento de marcação contendo elementos filhos e destinado a criar um contexto de formatação flex para este elementos filhos.&lt;/p&gt;

&lt;p&gt;Vamos utilizar a seguinte estrutura HTML para nossos exemplos:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;div class="container"&amp;gt;
  &amp;lt;div class="item"&amp;gt;item-1&amp;lt;/div&amp;gt;
  &amp;lt;div class="item"&amp;gt;item-2&amp;lt;/div&amp;gt;
  &amp;lt;div class="item"&amp;gt;item-3&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Nosso CSS base vai ser:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;* {
  margin: 0;
  padding: 0;
}
/* Flex Container */
.container {
  max-width: 600px;
  margin: 20px auto;
/* esquemas flexbox */
}
/* Flex items*/
.item {padding: 10px 0;text-align: center;}
.container&amp;gt; :nth-child(1){
  background: cadetblue;
}
.container&amp;gt; :nth-child(2){
  background: red;
}
.container&amp;gt; :nth-child(3){
  background: yellowgreen;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Propriedade Display
&lt;/h4&gt;

&lt;p&gt;A propriedade display foi criada em 1996 pela especificação para a CSS1 e só permitia os valores none, block, inline e list-item. Agora podemos usar o valor flex. &lt;br&gt;
Quando definimos um elemento pai com o display flex ele se torna um container Flex e todos os seus 'filhos' passam a ser denominados como flex itens. &lt;br&gt;
Utilização: display: flex;&lt;/p&gt;

&lt;p&gt;Por padrão o display flex, definido no pai, tem seu flex-direction como row, ou seja, em linha.&lt;/p&gt;
&lt;h4&gt;
  
  
  Propriedade Direction
&lt;/h4&gt;

&lt;p&gt;Destinado a definir o sentido e a direção do eixo principal. Podemos alterar essa direção indicando com as seguintes opções:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;flex-direction: column; //deixa a direção do eixo em coluna
flex-direction: column-reverse; //deixa a direção do eixo em coluna reversa
flex-direction: row-reverse; //deixa a direção do eixo em linha reversa
flex-direction: row; //deixa a direção do eixo em linha
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Propriedade Wrap
&lt;/h4&gt;

&lt;p&gt;O flex-wrap é utilizado quando queremos que haja a quebra de linha dos flex itens. Isso serve para que eles não fiquem compactados além do limite do seu conteúdo. Nele temos as seguinte opções:&lt;br&gt;
&lt;br&gt;
 &lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;flex-wrap: nowrap;//não deixa haver a quebra de linha
flex-wrap: wrap;//habilita a quebra de linha
flex-wrap: wrap-reverse;//habilita a quebra de linha reversa
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h4&gt;
  
  
  Propriedade Flow
&lt;/h4&gt;

&lt;p&gt;O flex-flow é um atalho para usar o flex-direction e flex-wrap. Nele temos as seguintes opções:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;flex-flow: row nowrap; //define o flex-direction como inline e sem quebra de linha
flex-flow: row wrap; //define o flex-direction como inline e com quebra de linha
flex-flow: column nowrap; //define o flex-direction como em coluna e sem quebra de linha
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Propriedade Justify-content
&lt;/h4&gt;

&lt;p&gt;Justify-content é usado no flex container para alinhar os filhos em determinada direção para ocupar todo o conteúdo do seu container, isso se já não estiverem ocupando o espaço. Nele temos as seguintes opções:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;justify-content: space-around; 
justify-content: space-between; 
justify-content: center; 
justify-content: flex-end; 
justify-content: flex-start;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Propriedade align-itens
&lt;/h4&gt;

&lt;p&gt;Utilizamos o align-items para fazer um alinhamentos dos filhos em relação ao eixo do container pai. Nele temos as seguintes opções:&lt;br&gt;
&lt;br&gt;
 &lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;align-items: baseline; 
align-items: center; 
align-items: flex-end; 
align-items: flex-start; 
align-items: stretch;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h4&gt;
  
  
  Propriedade align-content
&lt;/h4&gt;

&lt;p&gt;Para utilizar o align-content precisamos que o container flex (pai) tenha um heigth definido e que esse valor tem que ser maior que a soma das linhas dos filhos. Use o wrap pelo amor de Deus.&lt;/p&gt;
&lt;h2&gt;
  
  
  AGORA SOBRE OS ITENS
&lt;/h2&gt;
&lt;h4&gt;
  
  
  Propriedade grow
&lt;/h4&gt;

&lt;p&gt;Destinado a definir o fator de crescimento do flex item dentro do container quando nele há espaço disponível. &lt;br&gt;
Pega o espaço restante e divide pelo valor do grow definido no item.&lt;br&gt;
Como usar:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;flex-grow: N;(definir um numero)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Propriedade shrink
&lt;/h4&gt;

&lt;p&gt;Destinado a definir o fator de encolhimento do flex item dentro do container quando a largura do container for menor do que a soma das larguras dos flex items. Nele temos as seguintes opções:&lt;br&gt;
&lt;br&gt;
 &lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;flex-shrink: 1; 
flex-shrink: 0; 
flex-shrink: número;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Propriedade Basis
&lt;/h4&gt;

&lt;p&gt;Destinado a definir a dimensão inicial do flex item dentro do container, nos sentidos largura ou altura. Indica o tamanho inicial do flex item ANTES da distribuição do espaço restante. Nele temos as seguintes opções:&lt;br&gt;
&lt;br&gt;
 &lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;flex-basis: auto;
flex-basis: unidade;
flex-basis: 0;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Propriedade flex
&lt;/h4&gt;

&lt;p&gt;Propriedade que é a forma abreviada de se declarar as propriedades flex-grow, flex-shrink e flex-basis de uma só vez. O único valor obrigatório dessa propriedade é o flex-basis. O valor inicial dessa propriedade é 1 0 auto. É recomendado utilizar a propriedade flex ao invés de cada propriedade separada. Utilização:&lt;br&gt;
&lt;br&gt;
 &lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;flex: 1; // Define flex-grow: 1; flex-shrink: 1; e flex-basis: 0; 
flex: 0 1 auto; // Esse é o padrão,
flex: 2; // Define exatamente da mesma forma que o flex: 1; porém neste caso o flex-grow será de 2, o flex-shrink continuará 1 e o flex-basis 0.
flex: 3 2 300px; // flex-grow: 3, flex-shrink: 2 e flex-basis: 300px;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Propriedade order
&lt;/h4&gt;

&lt;p&gt;Destinado a reordenar os flex itens dentro do container pai sem zuar a ordem que eles ocupam na marcação. Seu valor inicial é zero. Como usar:&lt;br&gt;
&lt;br&gt;
 &lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;order: N ; (definir um numero)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Propriedade align-self
&lt;/h4&gt;

&lt;p&gt;Destinado ao alinhamento individual dos flex itens dentro do container pai e segundo a direção e sentido eixo. Esse alinhamento acontece tanto em linha como em coluna. Nele temos as seguintes opções:&lt;br&gt;
&lt;br&gt;
 &lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;align-self: stretch;
align-self: baseline; //alinha conforme a tipografia
align-self: center; //alinha no centro
align-self: flex-end; //alinha ao final
align-self: flex-start; //alinha no inicio
align-self: auto;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>css</category>
      <category>html</category>
    </item>
  </channel>
</rss>
