1"use strict";(self.webpackChunkeverfind_website=self.webpackChunkeverfind_website||[]).push([[9849],{7668:(n,s,e)=>{e.r(s),e.d(s,{data:()=>a});const a={key:"v-57d2f725",path:"/posts/2016/05/20/flexbox.html",title:"Flexbox å¸å±å®å
¨æå",lang:"zh-CN",frontmatter:{title:"Flexbox å¸å±å®å
¨æå",description:"css flexbox å¸å±",keywords:["css layout","css å¸å±","flexbox"],date:"2016-05-20T00:00:00.000Z",permalinkPattern:"posts/:year/:month/:day/:slug.html",tags:["éç¨ç¥è¯"]},excerpt:'<div style="display:flex;align-items:center;justify-content:center;"><p style="text-align: center;margin-top:10px;color:#999;"><img src="/qrcode-c.jpg" style="width:200px;height:200px;display:block;margin:10px auto;opacity:0.8;" />å
³æ³¨å¾®ä¿¡å
¬ä¼å·ï¼è·åææ°æ¨é~</p><p style="text-align: center;margin-top:10px;color:#999;"><img src="/card-c.jpeg" style="width:200px;height:200px;display:block;margin:10px auto;opacity:0.8;" />å å¾®ä¿¡ï¼æ·±å
¥äº¤æµ~</p></div>',headers:[{level:2,title:"åºç¨äº flex container ç屿§",slug:"åºç¨äº-flex-container-ç屿§",children:[]},{level:2,title:"åºç¨äº flex item ç屿§",slug:"åºç¨äº-flex-item-ç屿§",children:[]},{level:2,title:"åè龿¥",slug:"åè龿¥",children:[]}],filePathRelative:"posts/flexbox.md"}},1657:(n,s,e)=>{e.r(s),e.d(s,{default:()=>g});var a=e(6252);const l=(0,a.uE)('<h2 id="åºç¨äº-flex-container-ç屿§" tabindex="-1"><a class="header-anchor" href="#åºç¨äº-flex-container-ç屿§" aria-hidden="true">#</a> åºç¨äº flex container ç屿§</h2><p><img src="/posts/images/flex/flex-container-c.png" alt="flex-container"></p><p><strong>display</strong> è¯¥å±æ§å®ä¹ä¸ä¸ª flex containerï¼æ ¹æ®ä¸ååå¼å®ä¹ä¸º inline æ block ç flex containerãåºç¨äºè¯¥å±æ§çå
ç´ ä¸ºå®çææåå
ç´ å建äºä¸ä¸ª flex contextã</p><div class="language-css ext-css line-numbers-mode"><pre class="language-css"><code><span class="token selector">.container</span> <span class="token punctuation">{</span>\n <span class="token property">display</span><span class="token punctuation">:</span> flex<span class="token punctuation">;</span> <span class="token comment">/* or inline-flex */</span>\n<span class="token punctuation">}</span>\n</code></pre><div class="line-numbers"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br></div></div><blockquote><p>注æï¼CSS3 çå¤åå¸å±å¯¹ flex 容卿²¡æä»»ä½å½±åã</p></blockquote><p><strong>flex-direction</strong></p><p><img src="/posts/images/flex/flex-direction-c.png" alt="flex-direction1"></p><p>è¯¥å±æ§å»ºç«ä¸»è½´ï¼è§å®äº flex container ä¸ç flex item çæå¸æ¹åãFlexbox æ¯ä¸ç§ååå¸å±æ¦å¿µï¼å¯ä»¥è®¤ä¸º flex item é½ä¼å
æ²¿çæ°´å¹³è¡æç«ç´åå¸å±ã</p><div class="language-css ext-css line-numbers-mode"><pre class="language-css"><code><span class="token selector">.container</span> <span class="token punctuation">{</span>\n <span class="token property">flex-direction</span><span class="token punctuation">:</span> row | row-reverse | column | column-reverse<span class="token punctuation">;</span>\n<span class="token punctuation">}</span>\n</code></pre><div class="line-numbers"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br></div></div><ul><li>row ï¼é»è®¤å¼ï¼ï¼ å¨ ltr ä¸ä¸æä¸ä¸ºç±å·¦å°å³ï¼å¨ rtl ä¸ä¸æä¸ä¸ºç±å³å°å·¦ã</li><li>row-reverse ï¼ å¨ ltr ä¸ä¸æä¸ä¸ºç±å³å°å·¦ï¼å¨ rtl ä¸ä¸æä¸ä¸ºç±å·¦å°å³ã</li><li>column ï¼ ä¸ row 类似ï¼åªä¸è¿æ¯ç±ä¸å°ä¸ã</li><li>column-reverse ï¼ ä¸ row-reverse 类似ï¼åªä¸è¿æ¯ç±ä¸å°ä¸ã</li></ul><p><strong>flex-wrap</strong></p><p><img src="/posts/images/flex/flex-wrap-c.png" alt="flex-wrap"></p><p>é»è®¤æ
åµä¸ï¼ææç flex item é½å°å°½éä¿æå¨ä¸ä¸ª line ï¼è¡æè
åï¼ä¸åï¼ä¹å
ãå¯ä»¥éè¿è¿ä¸ªå±æ§è®© flex item å¨éè¦çæ
åµä¸æ¢è¡æè
æ¢åãè¿éï¼æ°è¡ææ°åä»åªéå¼å§ç± flex-direction å³å®ã</p><div class="language-css ext-css line-numbers-mode"><pre class="language-css"><code><span class="token selector">.container</span> <span class="token punctuation">{</span>\n <span class="token property">flex-wrap</span><span class="token punctuation">:</span> nowrap | wrap | wrap-reverse<span class="token punctuation">;</span>\n<span class="token punctuation">}</span>\n</code></pre><div class="line-numbers"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br></div></div><ul><li>nowrap ï¼é»è®¤å¼ï¼ï¼ å lineãå¨ ltr ä¸ä¸æä¸ä¸ºç±å·¦å°å³ï¼å¨ rtl ä¸ä¸æä¸ä¸ºç±å³å°å·¦ã</li><li>wrap ï¼ å¤ lineãå¨ ltr ä¸ä¸æä¸ä¸ºç±å·¦å°å³ï¼å¨ rtl ä¸ä¸æä¸ä¸ºç±å³å°å·¦ã</li><li>wrap-reverse ï¼ å¤ lineãå¨ ltr ä¸ä¸æä¸ä¸ºç±å³å°å·¦ï¼å¨ rtl ä¸ä¸æä¸ä¸ºç±å·¦å°å³ã</li></ul><p><strong>flex-flow</strong> è¯¥å±æ§ä¸º flex-direction å flex-wrap çç®å屿§ï¼åæ¶å®ä¹äº flex container ç主轴å交åè½´ãé»è®¤å¼ä¸º row nowrapã</p><div class="language-css ext-css line-numbers-mode"><pre class="language-css"><code><span class="token property">flex-flow</span><span class="token punctuation">:</span> <âflex-directionâ> || <âflex-wrapâ><span class="token punctuation">;</span>\n</code></pre><div class="line-numbers"><span class="line-number">1</span><br></div></div><p><strong>justify-content</strong></p><p><img src="/posts/images/flex/justify-content-c.png" alt="justify-content"></p><p>
1è¯¥å±æ§å®ä¹äºæ²¿ç主轴ç坹齿¹å¼ãå®è¢«ç¨æ¥å¤ç彿æ flex item é½å·²ç»æ¾ç½®å®æ¯åçå©ä½ç©ºç½ç©ºé´ã</p><div class="language-css ext-css line-numbers-mode"><pre class="language-css"><code><span class="token selector">.container</span> <span class="token punctuation">{</span>\n <span class="token property">justify-content</span><span class="token punctuation">:</span> flex-start | flex-end | center | space-between | space-around<span class="token punctuation">;</span>\n<span class="token punctuation">}</span>\n</code></pre><div class="line-numbers"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br></div></div><ul><li>flex-start ï¼é»è®¤å¼ï¼ï¼ ææç flex item é½å line çå¼å§ä½ç½®å¯¹é½ã</li><li>flex-end ï¼ ææç flex item é½å line ç»æä½ç½®å¯¹é½ã</li><li>center ï¼ ææç flex item 齿²¿ç line çä¸é´ä½ç½®å¯¹é½ã</li><li>space-between ï¼ ææç flex item é½ååçæ²¿ç line åå¸ï¼ç¬¬ä¸ä¸ª item æå¨ line çå¼å§ä½ç½®ï¼æåä¸ä¸ª item æå¨ line çç»æä½ç½®ã</li><li>space-around ï¼ ææç flex item é½ååçæ²¿ç line åå¸ï¼æ¯ä¸ª item å¨å´ç空ç½ç©ºé´ç¸çãæ³¨æï¼çä¸å»æ¯ä¸ª item å¨å´ç空ç½ç©ºé´ä¸ä¸å®å®å
¨ç¸çï¼å 为ææç item çä¸¤è¾¹é½æ¥æå¤§å°å®å
¨ç¸åç空ç½ç©ºé´ã</li></ul><p><strong>align-items</strong></p><p><img src="/posts/images/flex/align-items-c.png" alt="align-items"></p><p>è¯¥å±æ§å®ä¹äºå¨å½å line ä¸ flex item 沿ç交åè½´å¸å±çé»è®¤è¡ä¸ºãå¯ä»¥è®¤ä¸ºå®æ¯é对交åè½´ç justify-contentã</p><div class="language-css ext-css line-numbers-mode"><pre class="language-css"><code><span class="token selector">.container</span> <span class="token punctuation">{</span>\n <span class="token property">align-items</span><span class="token punctuation">:</span> flex-start | flex-end | center | baseline | stretch<span class="token punctuation">;</span>\n<span class="token punctuation">}</span>\n</code></pre><div class="line-numbers"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br></div></div><ul><li>flex-start ï¼ æ²¿ç交åè½´æ¹åç margin è¾¹ç¼å°ä¼æ²¿ç交åè½´çå¼å§ä½ç½®å¯¹é½ã</li><li>flex-end ï¼ æ²¿ç交åè½´æ¹åç margin è¾¹ç¼å°ä¼æ²¿ç交åè½´çç»æä½ç½®å¯¹é½ã</li><li>center ï¼ ææç flex item å°æ²¿ç交åè½´çä¸å¤®å¯¹é½ã</li><li>baseline ï¼ ææç flex item å°ä¼æ²¿çä»ä»¬ç baseline 对é½ã</li><li>stretch ï¼é»è®¤å¼ï¼ï¼ æä¼¸ä»¥å¡«æ»¡å®¹å¨ï¼ä¾ç¶å min-width/max-width éå¶ï¼ã</li></ul><p><strong>align-content</strong></p><p><img src="/posts/images/flex/align-content-c.png" alt="align-content"></p><p>è¯¥å±æ§ç¨æ¥å¨äº¤åè½´è¿æç©ºç½ç©ºé´çæ
åµä¸æ§å¶ flex container å
çææ line ç坹齿¹å¼ãä¸ justify-content æ§å¶ flex item å¦ä½æ²¿ç主轴æ¹å对é½çæ¹å¼ç±»ä¼¼ã 注æï¼ å line æ
åµä¸ï¼è¯¥å±æ§ä¸çæã</p><div class="language-css ext-css line-numbers-mode"><pre class="language-css"><code><span class="token selector">.container</span> <span class="token punctuation">{</span>\n <span class="token property">align-content</span><span class="token punctuation">:</span> flex-start | flex-end | center | space-between | space-around |\n stretch<span class="token punctuation">;</span>\n<span class="token punctuation">}</span>\n</code></pre><div class="line-numbers"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br></div></div><ul><li>flex-start ï¼ ææç line é½å container çå¼å§ä½ç½®å¯¹é½ã</li><li>flex-end ï¼ ææç line é½å container çç»æä½ç½®å¯¹é½ã</li><li>center ï¼ ææç line 齿²¿ç container çä¸å¤®å¯¹é½ã</li><li>space-between ï¼ ææç line åååå¸ï¼ç¬¬ä¸ä¸ª line å¨ container çå¼å§ä½ç½®ï¼æåä¸ä¸ª line å¨ container çç»æä½ç½®ã</li><li>space-around ï¼ ææç line åååå¸ï¼æ¯ä¸ª line å¨å´ç空ç½ç©ºé´ç¸çã</li><li>stretch ï¼é»è®¤å¼ï¼ï¼ ææç line æä¼¸ä»¥å¡«æ»¡å©ä½ç©ºé´ã</li></ul><h2 id="åºç¨äº-flex-item-ç屿§" tabindex="-1"><a class="header-anchor" href="#åºç¨äº-flex-item-ç屿§" aria-hidden="true">
1#</a> åºç¨äº flex item ç屿§</h2><p><img src="/posts/images/flex/flex-items-c.png" alt="flex-items"></p><p><strong>order</strong></p><p><img src="/posts/images/flex/order-c.png" alt="order"></p><p>å¨é»è®¤æ
åµä¸ï¼ææç flex items æç
§æºä»£ç ä¸å®ä¹ç顺åºå¸å±ã使¯ï¼ order 屿§æ§å¶äº flex item å¨ flex container 䏿¾ç¤ºçä¼å
级ã</p><div class="language-css ext-css line-numbers-mode"><pre class="language-css"><code><span class="token selector">.item</span> <span class="token punctuation">{</span>\n <span class="token property">order</span><span class="token punctuation">:</span> <integer><span class="token punctuation">;</span>\n<span class="token punctuation">}</span>\n</code></pre><div class="line-numbers"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br></div></div><p><strong>flex-grow</strong></p><p><img src="/posts/images/flex/flex-grow-c.png" alt="flex-grow"></p><p>è¯¥å±æ§èµäº flex item çé¿ï¼growï¼çè½åã宿¥åä¸ä¸ªæ åä½çå¼ï¼å¹¶å°å
¶ä½ä¸ºæ¯ä¾å¼ï¼è¡¨ç¤ºå¨ flex container ä¸ï¼è¿ä¸ª flex item è½å¤å æå¤å¤§æ¯ä¾çå¯ç¨ç©ºé´ã 妿ææç flex item ç flex-grow 屿§é½è®¾ç½®ä¸º 1ï¼é£ä¹ container çå©ä½ç©ºé´å°è¢«ååçåé
ç»ææ flex itemã妿å½ä¸æä¸ä¸ª item ç flex-grow 屿§è®¾ç½®ä¸º 2ï¼é£ä¹ è¿ä¸ª item å°å æ 2 åäºå
¶ä» item å æçå¯ç¨ç©ºé´ã</p><div class="language-css ext-css line-numbers-mode"><pre class="language-css"><code><span class="token selector">.item</span> <span class="token punctuation">{</span>\n <span class="token property">flex-grow</span><span class="token punctuation">:</span> <number><span class="token punctuation">;</span> <span class="token comment">/* default 0 */</span>\n<span class="token punctuation">}</span>\n</code></pre><div class="line-numbers"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br></div></div><p>è´å¼æ¯éæ³åå¼ã</p><p><strong>flex-shrink</strong> è¯¥å±æ§èµäº flex item å¨å¿
è¦çæ
åµä¸æ¶ç¼©çè½åã</p><div class="language-css ext-css line-numbers-mode"><pre class="language-css"><code><span class="token selector">.item</span> <span class="token punctuation">{</span>\n <span class="token property">flex-shrink</span><span class="token punctuation">:</span> <number><span class="token punctuation">;</span> <span class="token comment">/* default 1 */</span>\n<span class="token punctuation">}</span>\n</code></pre><div class="line-numbers"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br></div></div><p>è´å¼æ¯éæ³åå¼ã</p><p><strong>flex-basis</strong> è¯¥å±æ§ç¨äºå¨åé
å©ä½ç©ºé´ä¹åå®ä¹ flex item çé»è®¤å°ºå¯¸å¤§å°ãå®çåå¼å¯ä»¥ä¸ºä¸ä¸ªç»å¯¹é¿åº¦å¼ï¼æ¯å¦ 20%ï¼5remï¼çï¼æè
æ¯ä¸ä¸ªå
³é®åãauto å
³é®åè¡¨ç¤ºæ ¹æ® flex item èªèº«ç width å height 屿§åå¼ç¡®å®ã content å
³é®åè¡¨ç¤ºæ ¹æ® flex item ç content æ¥ç¡®å®ï¼ä½æ¯ç®å并没æå¾å°å¾
1å¥½çæ¯æã</p><div class="language-css ext-css line-numbers-mode"><pre class="language-css"><code><span class="token selector">.item</span> <span class="token punctuation">{</span>\n <span class="token property">flex-basis</span><span class="token punctuation">:</span> <length> | auto<span class="token punctuation">;</span> <span class="token comment">/* default auto */</span>\n<span class="token punctuation">}</span>\n</code></pre><div class="line-numbers"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br></div></div>',48),t=(0,a.Uk)("å¦æè¯¥å±æ§åå¼ä¸º 0ï¼é£ä¹å¨è¯¥ flex item ç content å¨å´çé¢å¤ç©ºé´å°ä¸è¢«è®¡ç®å¨å
ã妿åå¼ä¸º autoï¼é£ä¹ flex item ç大å°å°æ ¹æ® flex-grow çå弿¥ç¡®å®ãå¯ä»¥åè"),p={href:"https://www.w3.org/TR/css-flexbox-1/images/rel-vs-abs-flex.svg",target:"_blank",rel:"noopener noreferrer"},i=(0,a.Uk)("è¿å¼ å¾"),c=(0,a.Uk)("ã"),r=(0,a.uE)('<p><strong>flex</strong> è¯¥å±æ§ä¸º flex-grow, flex-shrink å flex-basis çæ··åç®åæ¹å¼ã å
¶ä¸ç¬¬äºä¸ªå第ä¸ä¸ªåæ°ï¼flex-shrink å flex-basisï¼ä¸ºå¯éåæ°ãè¯¥å±æ§çé»è®¤å¼ä¸º 0 1 autoã</p><div class="language-css ext-css line-numbers-mode"><pre class="language-css"><code><span class="token selector">.item</span> <span class="token punctuation">{</span>\n <span class="token property">flex</span><span class="token punctuation">:</span> none | [ < <span class="token string">"flex-grow"</span> > < <span class="token string">"flex-shrink"</span> >? || < <span class="token string">"flex-basis"</span> > ]<span class="token punctuation">;</span>\n<span class="token punctuation">}</span>\n</code></pre><div class="line-numbers"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br></div></div><p><strong>align-self</strong></p><p><img src="/posts/images/flex/align-self-c.png" alt="align-self"></p><p>è¯¥å±æ§å¯ä»¥ä¸ºæ¯ä¸ª flex item æå®å¯¹é½æ¹å¼ãæä»¬å¯ä»¥éè¿è¯¥å±æ§ä¿®æ¹ flex item é»è®¤çæè
ç± align-items æå®ç坹齿¹å¼ãå®çåå¼è¯´æåè align-items çåå¼è¯´æã</p><div class="language-css ext-css line-numbers-mode"><pre class="language-css"><code><span class="token selector">.item</span> <span class="token punctuation">{</span>\n <span class="token property">align-self</span><span class="token punctuation">:</span> auto | flex-start | flex-end | center | baseline | stretch<span class="token punctuation">;</span>\n<span class="token punctuation">}</span>\n</code></pre><div class="line-numbers"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br></div></div><p>注æï¼floatï¼clear å vertical-align 对 flex item æ ä»»ä½å½±åã</p><h2 id="åè龿¥" tabindex="-1"><a class="header-anchor" href="#åè龿¥" aria-hidden="true">#</a> åè龿¥</h2>',8),o={href:"https://css-tricks.com/snippets/css/a-guide-to-flexbox/",target:"_blank",rel:"noopener noreferrer"},u=(0,a.Uk)("A Complete Guide to Flexbox"),m=(0,a.uE)('<div style="display:flex;align-items:center;justify-content:center;"><p style="text-align:center;margin-top:10px;color:#999;"><img src="/qrcode-c.jpg" style="width:200px;height:200px;display:block;margin:10px auto;opacity:0.8;">å
³æ³¨å¾®ä¿¡å
¬ä¼å·ï¼è·åææ°æ¨é~</p><p style="text-align:center;margin-top:10px;color:#999;"><img src="/card-c.jpeg" style="width:200px;height:200px;display:block;margin:10px auto;opacity:0.8;">å å¾®ä¿¡ï¼æ·±å
¥äº¤æµ~</p></div>',1),g={render:function(n,s){const e=(0,a.up)("OutboundLink");return(0,a.wg)(),(0,a.j4)(a.HY,null,[l,(0,a.Wm)("p",null,[t,(0,a.Wm)("a",p,[i,(0,a.Wm)(e)]),c]),r,(0,a.Wm)("ul",null,[(0,a.Wm)("li",null,[(0,a.Wm)("a",o,[u,(0,a.Wm)(e)])])]),m],64)}}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.