Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
ÉîÈëÀí½âFlex²¼¾ÖÒÔ¼°¼ÆËã
 
À´Ô´£ºOwenµÄ²©¿Í ·¢²¼ÓÚ£º 2017-5-16
  1732  次浏览      29
 

ÆðÒò

¶ÔÓÚFlex²¼¾Ö£¬ÔĶÁÁË ´óÄ®ÀÏʦºÍÆäËûÀÏʦдµÄÎÄÕºó£¬ÎÒ»¹ÊDz»Ì«Àí½âFlexboxÊÇÈçºÎµ¯ÐԵļÆËã×Ó¼¶ÏîÄ¿µÄ´óСÒÔ¼°Ò»Ð©ÆäËûϸ½Ú¡£ÔÚ´óÄ®ÀÏʦµÄ°ïÖúÏ£¬ÎÒÈ¥²éÔÄFlexbox µÄ W3C ¹æ·¶Îĵµ¡£

×¢£º±¾Æª²©ÎIJ»ÊʺÏδ½Ó´¥¹ýFlex ²¼¾ÖµÄÈË, Èç¹ûÏëÁ˽âflex ²¼¾Ö»ù´¡¡£Çë²Î¿¼Àí½âFlexbox£ºÄãÐèÒªÖªµÀµÄÒ»ÇÐ

¶ÔÓÚflexºÐÄ£Ð͵ÄÉè¼ÆÆÚÍû

flexºÐÄ£ÐÍÊDZ»ÆÚÍûÉè¼Æ³É£º

ÔÚÈκÎÁ÷¶¯µÄ·½ÏòÉÏ(°üÀ¨ÉÏÏÂ×óÓÒ)¶¼ÄܽøÐÐÁ¼ºÃµÄ²¼¾Ö

¿ÉÒÔÒÔÄæÐò »òÕß ÒÔÈÎÒâ˳ÐòÅÅÁв¼¾Ö

¿ÉÒÔÏßÐÔµÄÑØ×ÅÖ÷ÖáÒ»×ÖÅÅ¿ª »òÕß ÑØ×ŲàÖá»»ÐÐÅÅÁÐ

¿ÉÒÔµ¯ÐÔµÄÔÚÈÎÒâµÄÈÝÆ÷ÖÐÉìËõ´óС£¨½ñÌìÖØµãÑо¿µÄÖ÷Ì⣩

¿ÉÒÔʹ×ÓÔªËØÃÇÔÚÈÝÆ÷Ö÷Öá·½ÏòÉÏ »òÕß ÔÚÈÝÆ÷²àÖá·½ÏòÉÏ ½øÐÐ¶ÔÆë

¿ÉÒÔ¶¯Ì¬µÄ ÑØ×ÅÖ÷Öá·½Ïò ÉìËõ×Ó¼¶µÄ³ß´ç£¬Óë´Ëͬʱ±£Ö¤¸¸¼¶²àÖá·½ÏòÉϵijߴç

Ö÷ÖáºÍ²àÖá

ºÜÓбØÒªÏÈÏò´ó¼Ò½âÊÍÇå³þ 3¸öÎÊÌâ

ʲôÊÇÖ÷Öá

ʲôÊDzàÖá

ËûÃÇÊÇÈçºÎÇл»µÄ

Ê×ÏÈÿһ¸ùÖá¶¼°üÀ¨ Èý¸ö¶«Î÷£ºÎ¬¶È¡¢·½Ïò¡¢³ß´ç

ʲôÒâË¼ÄØ£¿

ËùνµÄά¶Èʵ¼ÊÉϾÍÊÇÒâ˼¾ÍÊÇ×ÓÔªËØ ºá×ÅÅÅ»¹ÊÇÊú×ÅÅÅ(x Öá »ò y Öᣩ

·½Ïò ¼´ÅÅÁÐ×ÓÔªËØµÄ˳Ðò ˳Ðò»¹ÊÇÄæÐò

³ß´ç ¼´width[height] £º ÿһ¸ö×ÓÔªËØÔÚÖ÷Öá·½ÏòËùÕ¼µÄλÖõÄ×ÜºÍ Èç¹ûÖ÷ÖáÊÇˮƽµÄ£¬ÄÇô³ß´ç¾ÍÊǸ¸ÔªËØÄÚËùÓÐitemµÄouterWidth×ܺÍ,Èç¹ûÖ÷ÖáÊÇ´¹Ö±µÄ£¬ÄÇô³ß´ç¾ÍÊǸ¸ÔªËصÄouterHeight

Ö÷ÖáÊÇÒÀ¿¿ flex-direction ºÍ ËùÓÐ×ÓÔªËØÔÚÖ÷Öá·½ÏòÉϵÄitem-sizeµÄ×ܺÍÈ·¶¨µÄ£¬flex-directionÕâ¸öÊôÐÔ¿ÉÒÔ¿ØÖÆ×ÓÔªËØµÄÅÅÁз½ÏòºÍÅÅÁÐ˳Ðò¡£

²àÖáÊÇÒÀ¿¿ flex-wrap ºÍ ËùÓÐ×ÓÔªËØÔÚÖ÷Öá·½ÏòÉϵÄitem-sizeµÄ×ܺÍÈ·¶¨µÄ£¬flex-wrap ¿ÉÒÔ¿ØÖÆ×ÓÔªËØ ÔÚ²àÖá·½ÏòÉϵÄÅÅÁз½Ê½ÒÔ¼°Ë³Ðò¡£

¶ø¹ØÓÚ²»Í¬ÖÖÀ಻ͬÇé¿öÏ嵀 item-size ÎÒÃÇ»áÔÚÏÂÃæÌÖÂÛ£¬ÏÖÔÚÄú¿ÉÒÔ¼òµ¥½«ËüÀí½âΪwidth[height]¡£

µÁ¹æ·¶ÖеÄÒ»ÕÅͼ

ΪÁË·½±ã flex-direction + flex-wrap ºÏ²¢³ÉÁËÒ»¸öÊôÐÔ flex-flow

ͨ¹ýÕâ¸ö¼òµ¥¶ø¸´ÔÓµÄÊôÐÔ£¬ÎÒÃǾÍÄܹ»¿ØÖÆËùÓÐ×ÓÔªËØµÄˮƽºÍ´¹Ö±·½Ïò£¬ÄæÐòÅÅÁкÍ˳Ðò£¬»»ÐкͲ»»»ÐС£

Ö÷²àÖáµÄÇл»Ê®·Ö¼òµ¥£¬µ±Ö÷ÖáÉ趨µÄʱºò£¬ËüµÄ´¹Ö±Ã棬¾ÍĬÈϱ»É趨³ÉÁ˲àÖá¡£È磺

flex-flow: row-reverse wrap-reverse;

ÕâÌõCSSÊôÐÔÄܹ»¸æËßÎÒÃÇÄÇЩÐÅÏ¢£¿

×ÓÔªËØÊǺá×ÅÅÅÁеģ¬Ö÷ÖáÊÇˮƽµÄºáÖᣬ²àÖáÊÇÊúÖ±µÄ×ÝÖá

×ÓÔªËØÊÇÄæÐò²¢ÑØ×ÅÖ÷ÖáÅÅÁе쬴ÓÓÒµ½×ó

×ÓÔªËØÊÇ»»ÐеÄ

×ÓÔªËØÊÇÄæÐò²¢ÑØ×ŲàÖáÅÅÁе쬴Óϵ½ÉÏ

FFC (flex formatting context)

Flexbox ²¼¾Öж¨ÒåÁ˸ñʽ»¯ÉÏÏÂÎÄ£¬ÀàËÆ BFC£¨block formatting context£©¡£ÓжàÀàËÆÄØ£¿ ¾ÍÊdzýÁ˲¼¾ÖºÍһЩϸ½Ú²»Í¬ÒÔÍâµÄÒ»ÇйæÔò¶¼ºÍ BFC ÊÇÏàͬµÄ¡£

×¢Òâ : ÎÒËùÖ¸µÄFlexbox ÊÇÖ¸ÉèÖÃÁË display: flex; »ò display: inline-flex;µÄºÐ×Ó¡£²»ÊÇÖ¸µ¥µ¥ÉèÖÃÁË display: flex; µÄºÐ×Ó¡£

ÀýÈ磬ÉèÖÃÁË display: flex; »ò display: inline-flexµÄÔªËØ£¬ºÍBFCÒ»Ñù£¬²»»á±»¸¡¶¯µÄÔªËØÕڸǣ¬²»»á´¹Ö±Íâ±ß¾àÌ®ËúµÈµÈ¡£

¶ø¶ÔÓÚÉèÖÃÁË display: inline-flex µÄºÐ×ÓÀ´Ëµ£¬ÎÒÃÇ¿ÉÒÔÀà±È display: inline-box;ÐÐÀí½â¡£¼´ Ò»¸ö±»ÐÐÁл¯ºóµÄ Flexbox¡£Ëü²»»á¶ÀÕ¼Ò»ÐУ¬µ«ÊÇ¿ÉÒÔÉèÖÿíºÍ¸ß¡£

ÓëBFCµÄÏ¸Î¢Çø±ð

µ«ÐèҪעÒâµÄÊÇÒÔϼ¸µãϸ½Ú£¬Flexbox ²¼¾Ö ºÍ Block ²¼¾ÖÊÇÓÐÏ¸Î¢Çø±ðµÄ

Flexbox ²»Ö§³Ö ::first-line ºÍ ::first-letter ÕâÁ½ÖÖÎ±ÔªËØ

vertical-align ¶Ô Flexbox ÖеÄ×ÓÔªËØ ÊÇûÓÐЧ¹ûµÄ

float ºÍ clear ÊôÐÔ¶Ô Flexbox ÖеÄ×ÓÔªËØÊÇûÓÐЧ¹ûµÄ£¬Ò²²»»áʹ×ÓÔªËØÍÑÀëÎĵµÁ÷(µ«ÊǶÔFlexbox ÊÇÓÐЧ¹ûµÄ£¡)

¶àÀ¸²¼¾Ö£¨column-*£© ÔÚ Flexbox ÖÐÒ²ÊÇʧЧµÄ£¬¾ÍÊÇ˵ÎÒÃDz»ÄÜʹÓöàÀ¸²¼¾ÖÔÚFlexbox ÅÅÁÐÆäϵÄ×ÓÔªËØ£¨ÓãºÍÐÜÕÆ²»¿ÉµÃ¼æÂ

Flexbox ϵÄ×ÓÔªËØ²»»á¼Ì³Ð¸¸¼¶ÈÝÆ÷µÄ¿í

flex item£¨flex ×ÓÔªËØ£©

CSS½âÎöÆ÷»á°Ñ ¶¨ÒåÁË display: flex; ºÍ display: inline-flex; µÄ Flexbox ϵÄ×ÓÔªËØÍⲿװ½øÒ»¸ö¿´²»¼ûµÄºÐ×ÓÀÎÒÃÇͨ¹ýÅÅÁÐÕâЩºÐ×ÓÀ´´ïµ½ÅÅÐò¡¢²¼¾Ö¡¢ ÉìËõµÄÄ¿µÄ¡£

¹æ·¶ÖаÑÕâÖÖºÐ×Ó ³ÆÎª flex item£¬¶ø×ÓÔªËØÖаüÀ¨ÁË ±êÇ©½Úµã ÒÔ¼° Îı¾½Úµã¡£±êÇ©½ÚµãºÜÈÝÒ×Àí½â£¬ÐèҪעÒâµÄÊÇÎı¾½Úµã¡£

ĬÈÏÇé¿öÏ£¬flex »á½« Á¬ÐøµÄÎı¾½Úµã ×°½ø flex-item Ö®ÖУ¬Ê¹Îı¾¿ÉÒԺͱêÇ©½ÚµãÒ»ÆðÅÅÐòºÍ¶¨Î»¡£

ÖµµÃ×¢ÒâµÄÊÇ£¬¿Õ¸ñÒ²ÊÇÎı¾½Úµã£¬ËùÒÔ white-space »áÓ°ÏìFlexbox ÖеIJ¼¾Ö£º

ÉèÖÃÁËwhite-space: pre µÄFlexbox

flex-item-size ÈçºÎ¼ÆËãµÄ

item-size£¨³ß´ç£©ÎªÖ÷Öá·½ÏòÉÏitemµÄ content ÔÙ¼ÓÉÏ×ÔÉíµÄmargin ¡¢ border ºÍ padding ¾ÍÊÇÕâ¸ö item µÄ³ß´ç¡£

Ôڹ淶ÖÐ ½éÉÜÁË flex-item content µÄ¼ÆË㷽ʽ

·ÖΪÒÔÏÂÕ⼸ÖÖÇé¿ö

1. flex-basis µÄÓÅÏȼ¶±È width[height]: ·Çauto; ¸ß

Èç¹û×ÓÔªËØÃ»ÓÐÄÚÈݺÍĬÈϹ̶¨¿í¸ß£¬ÇÒÉèÖÃÁËflex-basis¡£flex-item contentÒÔflex-basisÀ´¾ö¶¨£¬ÎÞÂÛwidth[height] ÉèÖÃÁ˶àÉÙ¡£

(¿ÉÀí½âΪ flex-basis ±È width[height]: ·Çauto;µÄÓÅÏȼ¶¸ß)

flex-basisµÄÓÅÏȼ¶±Èwidth[height]¸ß£¬ÎÞÂÛwidth[height]ÉèÖöàÉÙ£¬flex-item content¶¼ÒÔflex-basisÀ´¾ö¶¨¡£

2.ÔªËØ´æÔÚĬÈÏ¿í¸ß

Èç¹û×ÓÔªËØÓÐĬÈϹ̶¨¿í¸ß£¨ÀýÈçinput ±êÇ©£©¡¢²¢ÇÒÉèÖÃÁË flex-basis£¬ÄÇôËüµÄ contentÒÔ ¹Ì¶¨¿í¸ßΪÏÂÏÞ£¬Èç¹ûflex-basis ³¬¹ýÁ˹̶¨¿í¸ß£¬ÄÇôflex-basisÔò³ÉΪÆä content£¬Èç¹ûflex-basis±È¹Ì¶¨¿í¸ßС£¬ÄÇôÒԹ̶¨¿í¸ßΪ content¡£

¶ÔÓڹ̶¨ÔªËصijߴçÉ趨

3.ÔªËØ´æÔÚ min-width[height] »òÕß max-width[height]

Èç¹ûflex-item ÓÐmin-width[min-height] µÄÏÞÖÆ£¬ÄÇôflex-item content°´ÕÕ min-width ֵΪÏÂÏÞ£¬Èç¹û flex-basis µÄÖµ´óÓÚ min-width[min-height] ÄÇôflex-item contentÒÔ flex-basis ¼ÆËã¡£

Èç¹ûflex-basis µÄֵСÓÚ min-width[min-height] ÄÇôflex-item contentÒÔmin-width[min-height] ¼ÆË㣺

Èç¹û min-width[min-height] µÄÖµÒѾ­³¬³öÁËÈÝÆ÷µÄ³ß´ç£¬ÄÇô¼´Ê¹ÉèÖÃÁË flex-shrink¡£ CSS½âÎöÆ÷Ò²²»»á½øÐн«Õâ¸öitemµÄ content shrink£¬¶øÊǼá³Ö±£ÁôËüµÄmin-width[min-height]£º

Èç¹ûFlexbox ÉèÖõÄmin-width ³¬³öÁËflex container µÄ·¶Î§, ²»»á¶ÔÆä½øÐÐѹËõ¡£

·´Ö®£¬Èç¹ûÉèÖÃÁË max-width[height] µÄÖµ£¬ÄÇôÉèÖÃflex-basis ÎÞ·¨³¬¹ýÕâ¸öÖµ£¬¶ÔÓÚflex-grow Ò²½ö½öÖ»»áÔö³¤µ½ max-width[height] Õâ¸öÉÏÏÞ¡£

ÔÚÏÂÃæµÄÕ½ڣ¬ÎÒÃÇ»á×ÐϸÌÖÂÛÕâÖÖÇé¿öÏ£¬²¼¾ÖµÄ¼ÆËã¡£

4.width[height]: auto; ÓÅÏȼ¶µÈÓÚ flex-basis¡£

Ç°ÃæÌáµ½£¬Èç¹û¸øitemͬʱÉèÖÃÁËwidth[height] ºÍ flex-basisµÄ»°¡£flex-item contentÒÔflex-basisÀ´¾ö¶¨¡£µ«ÊÇʵ¼ÊÉÏĬÈ쵀 width[height]: auto; ÓÅÏȼ¶ÊǵÈÓÚ flex-basisµÄ¡£

CSS½âÎöÆ÷¶Ô±ÈÁ½ÕßµÄÖµ£¬Á½ÕßË­´óȡ˭ ×÷ΪitemµÄ»ù±¾³ß´ç£¬Èç¹ûÒ»¸öitemûÓÐÄÚÈÝ£¬flex-item content¾Í»áÒÔflex-basisÀ´¾ö¶¨¡£

µ«ÊÇÈç¹ûitemÓÐÁËÄÚÈÝ£¬ÇÒÄÚÈݳſªµÄ³ß´ç±Èflex-basis´ó£¬ÄÇôflex-item content¾Í»áÒÔwidth[height]: auto; À´¾ö¶¨£¬ÇÒÎÞ·¨±» shrink¡£·´Ö®£¬Èç¹û±Èflex-basisС£¬flex-item content¾Í»áÒÔflex-basisÀ´¾ö¶¨£º

width: auto; ÄÚÈݳ¤¶È±È flex-basis ´ó£¬Ôò flex-item contentÒÔÄÚÈݳ¤¶ÈÀ´¾ö¶¨£¬ÇÒÎÞ·¨shrink

Èç¹û flex-basis µÄ³¤¶È´óÓÚÎÄ×ÖÄÚÈݳ¤¶È£¬ÄÇôflex-item contentÒÔ flex-basis À´¾ö¶¨

ͬʱÉèÖÃÁËflex-basis: 800px; ºÍ width: 1px; flex-item contentÒÔ flex-basis À´¾ö¶¨£¬¿ÉÒÔ·¢Éúshrink

×¢Òâ2ºÅºÐ×ÓÎÒÉèÖÃÁË flex-shrink: 1; 1ºÅºÐ×ÓºÍ3ºÅºÐ×ÓÎÒÉèÖÃÁË flex-shrink: 0; Òâ˼¾ÍÊÇÎÒ½«ËùÓеÄÐèÒªshrinkµÄ¿Õ¼ä¶¼Ñ¹µ½ÁË2ºÅºÐ×ÓÉÏ£¬×ܹ²µÄÐèÒª shrinkµÄ¿Õ¼äΪ 0 * 600 + 1 * 20 + 0 * 100 = -20£»¶ø2ºÅºÐ×ÓÖ»ÓÐ20µÄ¿Õ¼ä£¬ÀíÓ¦±»ÍêÈ«shrink±äΪ0£¬µ«ÊÇÖµµÃ×¢ÒâµÄÊÇ2ºÅºÐ×Ó²¢Ã»Óб»ÍêÈ« shrink£¬»¹±£ÁôÁËÒ»¸öÎÄ×ֵľàÀë¡£

³ý´ËÖ®Í⣬overflow: hidden; Ò²»áÓ°Ïì

overflow: hidden; °ÑÎÄ×Ö³¤¶ÈÏÞÖÆÔÚÁË600px; СÓÚ flex-basis: 700px;ËùÒÔflex-item contentÒÔflex-basisÀ´¾ö¶¨£¬¿ÉÒÔ shrink¡£

Òþ²ØÊôÐÔ¶Ô items-size µÄÓ°Ïì

ÎÒÕë¶ÔÁË display: none; visibility: hidden; visibility: collapse; transform: scale; µÈÊôÐÔ¶Ô items ½øÐвâÊÔ¡£

½á¹ûÈçÏ£º

Èç¹ûÉèÖÃÁË visibility: hidden; | visibility: collapse; | transform: scale;µÄflex-item content ÒÀÈ»±»Ëã½øÖ÷Öá³ß´ç£¬CSS ½âÎöÆ÷ÒÀÈ»»áÒÔËûÃÇ flex-grow | flex-shrink ½«¿ÉÓÃ¿Õ¼ä »òÕß ¸º¿ÉÓÃ¿Õ¼ä ·ÖÅ䏸ËûÃÇ

Èç¹ûÉèÖÃÁËdisplay: none; CSS½âÎöÆ÷²»»á¶Ô¸ÃitemµÄ¿Õ¼ä½øÐмÆË㣬Ҳ²»»á¶ÔÆägrow¿Õ¼ä

¹ØÓÚposition: absolute ¶ÔitemÓ°Ïì

position: absolute Ò²ÊÇÊÊÓà Flexbox ÖеÄ×ÓÔªËØµÄ£¬²¢ÇÒ£¬ÉèÖÃÁËposition: absoluteÊôÐÔµÄ×ÓÔªËØ£¬Ò²»áÊܵ½ Flexbox ÅÅÁеÄÓ°Ïì¡£

ÉèÖÃÁËabsolute µÄ×ÓÔªËØÖØµþÔÚÁËÒ»Æð£¬µ«ÊÇÒÀÈ»»áÊܵ½ align-items: center; µÄÓ°Ïì¶ø¾ÓÖС£¶ÔÓÚ Flexbox À´Ëµ£¬ÉèÖÃÁËposition: absolute;²¢²»»á¶ÔÆäϵÄ×ÓÔªËØ²úÉúÈκÎÓ°Ïì¡£

ÎÒÃÇÖØµã¿´ Flexbox ϵÄ×ÓÔªËØÉèÖÃÁËabsolute ºóÓÐʲô½á¹û¡£

¸ù¾ÝÎÒ×öµÄʵÑ飬Îҵõ½ÁËÈçϵĽáÂÛ£º

flexbox ÏÂÉèÖÃÁËabsoluteµÄ×ÓÔªËØµÄλÖÃÊÜ3¸ö·½ÃæµÄÓ°Ï죺

flexbox Á÷ÏÂÃæµÄ justify-content ºÍ align-items

µ¥¸ö×ÓÔªËØµÄ top¡¢left¡¢right¡¢bottom

µ¥¸ö×ÓÔªËØµÄ margin

ÕâÀïÎÒÃDz»ÌÖÂÛ translate ÒòΪ translate Ö»ÊÇÊÓ¾õÉÏλÖõĸı䣺

ÉèÖÃÁËabsolute µÄitem ²»»áÓ°Ïì²¼¾Ö,Èçͼ,ÆäÖÐ1 2 3 4 5 ºÅÊÇÉèÖÃÁËabsoluteµÄitem,¶ø 6 7 8 9ºÅÊÇûÓÐÉèÖÃabsoluteµÄitem Flexbox ÎÒÉèÖÃÁË justify-content: center; ºÍ align-items: center; ÿһ¸öitemÎÒ¶¼¸øÁË margin: 20px;£º

ÎÒÃÇ¿ÉÒÔ¿´µ½£¬ÓÉÓÚabsolute µÄÔ­Òò£¬ 12345ºÅµÄitem ²»»áÓ°Ïì 6789ºÅµÄÅŲ¼¡£½áÂÛ£ºÍÑÀëÁËÎĵµÁ÷µÄ item ²»»áÓ°Ïì Õý³£µÄflex ²¼¾Ö¡£

ÈçͼÉÏ 4ºÅ item, ÉèÖÃÁËabsolute µ«ÊÇûÓÐÉèÖà top / left ÕâЩֵ£¬Î»ÖþÓÖÐÆ«Ï¡£½áÂÛ£ºÈç¹û¶Ô×ÓÔªËØÉèÖÃÁË position: absolute; ÊôÐÔ¶øÃ»ÓÐÉèÖà top left ÕâЩֵ¡£×ÓÔªËØÊÜ Flexbox µÄjustify-content: center ¡¢ align-items: center ºÍ margin µÄÓ°Ïì

ÈçͼÉÏ1235 ºÅitem, ÎÒ¸øËûÃÇ·Ö±ðÉèÖà top¡¢left¡¢right¡¢bottom µÈÖµ¡£5ºÅÔªËØÉèÖÃÁËmargin-left: 50px; ºÍ padding-bottom: -999999px;½áÂÛ£ºtop¡¢left¡¢right¡¢bottom µÈÖµ»á¸²¸Ç justify-content: center; ºÍ align-items: center; ÉèÖõÄλÖã¬Ê¹item ×ÔÓɶ¨Î»¡£margin×ÔʼÖÁÖÕ¶¼»áÓ°ÏìitemµÄλÖ㬶øpadding²»»á£¨ÎÒÊÔ¹ýpadding Éè500px µÄÇé¿ö£¬padding »áÓ°ÏìitemµÄ´óС£©

Èç¹û¶ÔÉÏͼ 12345ºÅitem ²»ÉèÖà top¡¢left¡¢right¡¢bottom µÈÖµ¡£¶Ô¸¸¼¶µÄ justify-content ºÍ align-items ÉèÖÃcenterÒÔÍâµÄÆäËûÖµµÄ»°£ºÈç¹ûÉèÖÃÁË flex-start ËùÓÐÔªËØ²»·Ö¿ª£¬¶¨Î»ÔÚ Ö÷ÖáÆðµã;Èç¹ûÉèÖÃÁË flex-start ËùÓÐÔªËØ²»·Ö¿ª£¬¶¨Î»ÔÚ Ö÷ÖáÖÕµã;Èç¹ûÉèÖÃjustify-content: space-around;Ч¹ûµÈͬÓÚcenter,¼´ËùÓеÄÔªËØµþÔÚÒ»Æð¾ÓÖУ¬ÇÒitems²»»á²úÉú¼ä¸ô;Èç¹ûÉèÖÃÁË justify-content: space-between; Ч¹ûµÈͬÓÚ flex-start, ÇÒitems²»»á·Ö¿ª;Èç¹ûÉèÖÃÁË align-items: flex-start; ËùÓÐÔªËØ²»·Ö¿ª£¬¶¨Î»ÔÚ ²àÖáÆðµã;Èç¹ûÉèÖÃÁË align-items: flex-end; ËùÓÐÔªËØ²»·Ö¿ª£¬¶¨Î»ÔÚ ²àÖáÖÕµã;Èç¹ûÉèÖÃÁË align-items: stretch | baseline;Ò²ÊÇûÓÐÈκÎЧ¹û, items ²»»á¸úËæ²àÖáÀ­Éì »òÊÇ ¸ù¾Ýbaseline ¶ÔÆë

Èç¹û¶Ôµ¥¸öitem ÉèÖà align-self£¬³ýÁË flex-start | flex-end | center ÓÐЧ֮Í⣬ÆäËû¶¼Ê§Ð§

ͨ¹ýÉÏÃæÒ»ÏµÁеIJâÊÔÎÒÃÇ¿ÉÒÔÇå³þµÄÈÏʶµ½ justify-content¡¢align-items ºÍ top¡¢left¡¢right¡¢bottom ¶¼ÊÇλÖÃÊôÐÔ£¬¶øÇÒ top¡¢left¡¢right¡¢bottom »á¸²¸Çjustify-contentºÍalign-itemsµÄÖµ¡££¨ÒÔÉÏǰÌáÊÇÒ»¶¨ÒªÉèÖÃposition: absolute ²»È» top¡¢left¡¢right¡¢bottom ÎÞЧ£©¡£

¶ø margin µÄÓÅÏȼ¶ÊÇºÍ top¡¢left¡¢right¡¢bottom Ò»ÑùµÄ£¬Ò²¾ÍÊÇ˵ margin ºÍ top¡¢left¡¢right¡¢bottomËùÉèÖõÄÖµ»áͬʱÉúЧ¡£

ÓÅÏȼ¶ÅÅÐòΪ£º margin = justify-content | align-items > top¡¢left¡¢right¡¢bottom¡£

flex-basis¡¢flex-grow¡¢flex-shrink ÒÔ¼°ÏàÓ¦µÄ¼ÆËã

flex-basis¡¢flex-grow¡¢flex-shrinkÊÇFFCÏÂÌØÓеÄÊôÐÔ£¬Ö»Óи¸¼¶ÔªËØÉèÖÃÁË display: flex | inline-flex; ²Å»áÉúЧ£¬²¢ÇÒÖ»Õë¶ÔÖ÷Öá·½ÏòÉúЧ¡£

Èç¹û Ö÷ÖáÊÇˮƽµÄ£¬¼´ flex-direction: row; ÄÇô flex-basis¡¢flex-grow¡¢flex-shrink ¿ØÖƵľÍÊǵ¥¸öitemµÄ¿í¶È¡£

Èç¹û Ö÷ÖáÊÇ´¹Ö±µÄ£¬¼´ flex-direction: column; ÄÇô flex-basis¡¢flex-grow¡¢flex-shrink ¿ØÖƵľÍÊǵ¥¸öitemµÄ¸ß¶È¡£¶øflex-grow ºÍ flex-shrink ÊÇÓÃÓÚ Ö÷Öá·½ÏòÉÏ¶Ô £¨¸º£©¿ÉÓÃ¿Õ¼ä ½øÐÐÉìËõµÄ¡£

ÕâÒª·ÖÁ½ÖÖÇé¿ö£¬»»ÐлòÕß²»»»ÐС£

1.Èç¹û flex-wrap: nowrap; ¼´²»»»ÐС£

ÄÇôËùÓÐitems ¶¼»áÔÚÖ÷Öá·½ÏòÉϵÄÒ»ÌõÏßÉÏÅÅÁУ¬CSS½âÎöÆ÷»á¼ÆËã items ÔÚÖ÷Öá·½ÏòÉÏËùÕ¼µÄ¿Õ¼ä Ïà¶ÔÓÚ Flexbox ÔÚÖ÷Öá·½ÏòµÄËùÕ¼µÄ¿Õ¼ä½øÐбȽϼÆËã¡£

Èç¹û items ËùÕ¼µÄ¿Õ¼äÊÇСÓÚFlexboxµÄ ÄÇô˵Ã÷Flexbox »¹Ã»ÓÐÌîÂú£¬CSS½âÎöÆ÷¾Í»á¼ÆË㻹ÓжàÉÙ¿Õ¼äûÓÐÌîÂú£¬¸ù¾Ýÿһ¸öitemËùÉèÖõÄflex-grow ÉèÖõÄÖµ£¬½«ÕâЩ¿Õ¼ä·ÖÅä°´±ÈÀý·ÖÅä¸øÃ¿Ò»¸öitem¡£

¿ÉÓÿռä

Èç¹û items ËùÕ¼µÄ¿Õ¼äÊÇ´óÓÚFlexboxµÄ ÄÇô˵Ã÷Flexbox ±»ÌîÂúÁË£¬CSS½âÎöÆ÷¾Í»á¼ÆË㳬³öÁ˶àÉٿռ䣬¸ù¾Ýÿһ¸öitemËùÉèÖõÄflex-shrinkÉèÖõÄÖµ£¬½«ÕâЩ¿Õ¼ä·ÖÅä°´±ÈÀýËõСÿһ¸öitem

³¬³öµÄ¿Õ¼ä

ÄÇôCSS½âÎöÆ÷ÔÚÕâÖÖÇé¿öÏÂÊÇÔõÑù¼ÆËãµÄÄØ£¿ÉÏÒ»ÕÂÎÒÃÇÀÍÉñ·ÑÁ¦Àí½âµÄitem-sizeÖÕÓÚÅÉÉÏÓó¡ÁË¡£flex-grow¼ÆËãÁ÷³ÌÊÇ£º

¿ÉÓÿռä = ½«flexbox-content - ÿ¸öitem-sizeµÄ×ܺÍ

½«Ã¿Ò»¸öitemËùÉèÖÃµÄ grow È«²¿¼ÓÆðÀ´£¬½«¿ÉÓÿռä³ýÒÔgrow£¬µÃµ½µ¥Î»·ÖÅä¿Õ¼ä¡£

¸ù¾Ýÿһ¸öitem ÉèÖÃµÄ grow À´Ë㣬Èç¹ûÒ»¸öitem µÄgrow Ϊ 2£¬ÄÇô Õâ¸ö item ÔÚÖ÷ÖáÉϵijߴç¾ÍÐèÒªÑÓÉì 2*µ¥Î»·ÖÅä¿Õ¼äµÄ´óС¡£

ÄÇô ÿһ¸ö item ¾ÍÐèÒªÔÚÔ­»ù´¡ÉÏ ¼ÓÉϱ»·ÖÅäµÄ´óС ¾ÍÍê³ÉÁËgrow£º

·ÖÅäǰ

·ÖÅäºó

¼òµ¥Àí½â¾ÍÊÇ£¬½«³¬³öµÄ²¿·Ö£¬¿ÉÄܶ࣬Ҳ¿ÉÄÜÉÙ£¬¸ù¾Ý grow À´·ÖÅä³É x ·Ý£¬ÔÚ¸ù¾Ýÿ¸ö item ËùÉèÖõķÝÊý£¬½«Ïà²îµÄ²¿·Ö·Ö¸î¸øÃ¿Ò»¸öitem¡£

×¢Ò⣺flex-shrink µÄ¼ÆËãÁ÷³ÌºÍflex-growµÄ¼ÆËãÁ÷³Ì²»Í¬¡£

flex-shrink¼ÆËãÁ÷³ÌÊÇ£ºÏȽ«ËùÓÐÏîÄ¿ °´ÕÕ flex-shrink * item-size µÄ·½Ê½¼ÓÆðÀ´ µÃµ½Ò»¸ö¼ÓȨºÍ£¬È»ºó¼ÆËã³ö ÿһ·Ý item µÄ shrink±ÈÀý:

shrink±ÈÀý = flex-shrink * item-size / ֮ǰµÄ×ܺÍ;

È»ºó¼ÆËã ×ÓÔªËØ³¬³ö¸¸¼¶µÄ²¿·Ö£¨¸º¿ÉÓÿռ䣩£¬Ã¿Ò»¸öitem ¼õÈ¥Õâ¸ö shrink±ÈÀý * ¸º¿ÉÓÿռ伴¿É£º

shrinkǰ

shrinkºó

2. Èç¹ûflex-wrap: wrap[wrap-reverse]; ¼´»»ÐÐ

ÄÇôitems ¶¼»áÏÈÔÚÖ÷Öá·½ÏòÉϵĶàÌõÏßÉÏÅÅÁУ¬CSS½âÎöÆ÷ÏÈ»á¼ÆËã ÿһÌõÏß ÔÚÖ÷Öá·½ÏòÉϳߴç Ïà¶ÔÓÚ Flexbox ÈÝÆ÷µÄwidth[height]½øÐбȽϼÆË㣬ÿÌõÏßÖ®¼ä»¥²»¸ÉÈÅ:

δ·ÖÅä֮ǰ

ƽ¾ù·ÖÅäºó

ÓÉÓÚÔÚÒ»ÐÐÄÚ Èç¹ûitem-size ÀÛ¼Ó³¬¹ýÁËFlexbox µÄ³ß´ç¾Í»áÁíÆðÒ»ÐнøÐÐÅÅÁУ¬ËùÒÔÔÚÕâÖÖÇé¿öÏ£¬²»»á´æÔÚ shrink µÄÇé¿ö£¬¶øÖ»ÓÐ grow µÄÇé¿ö¡£

max-width[height] Çé¿öÏ flex-grow µÄ¼ÆËãÁ÷³Ì

ÓÉÓÚ¿ÉÄÜ´æÔÚijһ¸ö»ò¶à¸öitem ÉèÖÃÁËÓÐmax-width[height]¡£ËùÒÔ£¬CSSÒýÇæ»áÏȽøÐÐÒ»´Î·ÖÅ䣬·ÖÅäºó£¬Í³¼ÆÄÇЩÓÐmax-width[height]µÄitems, ·ÖÅäºóÊÇ·ñÓг¬³öµÄÊ£Óà¿Õ¼ä£¬È»ºó¶ÔÕâЩʣÓà¿Õ¼äÔÙ·ÖÅ䏸ÄÇЩûÓÐÉèÖÃmax-width[height]µÄitem

ÔÙ·ÖÅäÁ÷³Ì

min-width[height] Çé¿öÏ flex-shrink µÄ¼ÆËãÁ÷³Ì

ÓÉÓÚ¿ÉÄÜ´æÔÚijһ¸ö»ò¶à¸öitem ÉèÖÃÁËÓÐmin-width[height]¡£ËùÒÔ£¬CSSÒýÇæ»áÏȽøÐÐÒ»´Î shrink£¬ shrinkºó£¬Í³¼ÆÄÇЩÓÐmin-width[height]µÄitems, shrinkºóÊÇ·ñÓеÄÊ£ÓàµÄδ shrink¿Õ¼ä£¬È»ºó¶ÔÕâЩʣÓà¿Õ¼äÔÙ·ÖÅ䏸ÄÇЩûÓÐÉèÖÃmin-width[height]µÄitem¡£

×¢Ò⣺µÚÒ»´Î shrinkµÄËã·¨ºÍµÚ¶þ´Î·ÖÅäδ shrinkÊ£Óà¿Õ¼äµÄËã·¨²»Í¬£¡

×ܽá

Flexbox ²¼¾ÖºÜ°ô¡£ÃâÈ¥ÁËÎÒÃÇ´óÁ¿¹ØÓÚÊÊÅä·½ÃæµÄ¹¤×÷£¬µ«ÊÇÉîÈëÀí½â£¬²¢ÓúÃËü»¹ÊÇÐèÒªÒ»µãÃż÷µÄ¡£ ÔٴθÐл @´óÄ®ÀÏʦ µÄ¶¦Á¦°ïÖú£¬Ð»Ð»¡£

   
1732 ´Îä¯ÀÀ       29
Ïà¹ØÎÄÕÂ

¹È¸è½ÌÄãÈçºÎ¹¹½¨Ò»¸öÓÅÐãµÄÒÆ¶¯ÍøÕ¾
ÈçºÎ¸ßЧµØ¹ÜÀíÍøÕ¾¾²Ì¬×ÊÔ´
¸ßÐÔÄÜÍøÕ¾½¨ÉèµÄ×î¼Ñʵ¼ù
Ïл°ÍøÕ¾×ó²àµ¼º½µÄʵÏÖ
 
Ïà¹ØÎĵµ

ÍøÕ¾½¨Éè·½°¸Á÷³Ì
ÍøÕ¾½¨Éècss½Ì³Ì
ÆóÒµÍøÕ¾½¨ÉèÓëÍÆ¹ã
ÍøÕ¾½¨Éè·½°¸Êé
Ïà¹Ø¿Î³Ì

Éè¼ÆÄ£Ê½Ô­ÀíÓëÓ¦ÓÃ
´ÓÐèÇó¹ý¶Éµ½Éè¼Æ
Èí¼þÉè¼ÆÔ­ÀíÓëʵ¼ù
ÈçºÎ±àд¸ßÖÊÁ¿´úÂë