{"id":1105,"date":"2018-03-18T15:26:45","date_gmt":"2018-03-18T14:26:45","guid":{"rendered":"http:\/\/lamartinieredesign.fr\/?page_id=1105"},"modified":"2019-03-11T09:23:32","modified_gmt":"2019-03-11T08:23:32","slug":"mise-en-page-flex","status":"publish","type":"page","link":"https:\/\/lamartinieredesign.fr\/?page_id=1105","title":{"rendered":"Mise en Page Flex"},"content":{"rendered":"\n<p>Les bo\u00eetes HTML (conteneurs qui renferment le contenu de votre site), de type div, header, footer, nav, main, section, article, aside, etc. doivent \u00eatre r\u00e9partis sur la page afin de cr\u00e9er la mise en page.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2018\/03\/flexbox-1.jpg\"><img decoding=\"async\" loading=\"lazy\" width=\"463\" height=\"235\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2018\/03\/flexbox-1.jpg\" alt=\"\" class=\"wp-image-1107\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2018\/03\/flexbox-1.jpg 463w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2018\/03\/flexbox-1-300x152.jpg 300w\" sizes=\"(max-width: 463px) 100vw, 463px\" \/><\/a><\/figure>\n\n\n\n<p>Il existe plusieurs techniques pour cela :<\/p>\n\n\n\n<p>&#8211; Les tableaux (technique aujourd&rsquo;hui abandonn\u00e9e pour la mise en page; les tableaux ne servent qu&rsquo;\u00e0 faire des \u2026 tableaux ou des newsletters)<br>\n&#8211; La propri\u00e9t\u00e9 float (de moins en moins utilis\u00e9e, mais qui peut d\u00e9panner)<br>\n&#8211; le comportement inline-block (souvent r\u00e9serv\u00e9 aux galeries d&rsquo;images ou aux menus)<br>\n&#8211; le positionnement position: absolute \/ relative \/ fixed (\u00e0 connaitre absolument car encore tr\u00e8s utile pour placer des \u00e9l\u00e9ments sur la page et n\u00e9cessaires dans des situations bien particuli\u00e8res, comme les effets de survol par exemple)<br>\n&#8211; FlexBox (c&rsquo;est la technique moderne que nous allons utiliser principalement)<br>\n&#8211; CSS Grid (cette technique, tr\u00e8s puissante, est trop r\u00e9cente et n&rsquo;est pas encore reconnue correctement par tous les navigateurs; c&rsquo;est l&rsquo;avenir mais il faut la r\u00e9server \u00e0 des projets tr\u00e8s sp\u00e9cifiques. Nous ne l&rsquo;utiliserons donc pas).<\/p>\n\n\n\n<p>Vous trouverez toutes les explications n\u00e9cessaires sur FlexBox \u00e0 ces deux URL :<\/p>\n\n\n\n<p><a href=\"https:\/\/la-cascade.io\/flexbox-guide-complet\/\">https:\/\/la-cascade.io\/flexbox-guide-complet\/<\/a><br>\n<a href=\"https:\/\/openclassrooms.com\/courses\/apprenez-a-creer-votre-site-web-avec-html5-et-css3\/la-mise-en-page-avec-flexbox\">https:\/\/openclassrooms.com\/courses\/apprenez-a-creer-votre-site-web-avec-html5-et-css3\/la-mise-en-page-avec-flexbox<\/a><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Trois types de mise en page \u00e0 partir du m\u00eame code HTML<\/h4>\n\n\n\n<p>Les flexbox permettent souvent d&rsquo;adapter la mise en page en conservant le m\u00eame code HTML. Il est parfois n\u00e9cessaire cependant de rajouter des containers interm\u00e9diares en HTML afin de moduler plus finement la disposition des bo\u00eetes principales.<\/p>\n\n\n\n<p>Ici plusieurs typologies courantes de mise en page sont illustr\u00e9es, \u00e0 partir du m\u00eame code HTML. Seuls les CSS vont \u00eatre diff\u00e9rents.<\/p>\n\n\n\n<p>Voici le code HTML :<\/p>\n\n\n\n<p><code>&lt;div id=\"wrap\"&gt;<\/code><br>\n<code> &lt;header class=\"tete\"&gt;<\/code><br>\n<code> &lt;h2&gt;HEADER&lt;\/h2&gt;<\/code><br>\n<code> &lt;\/header&gt;<\/code><br>\n<code> &lt;nav class=\"menu\"&gt;<\/code><br>\n<code> &lt;h2&gt;NAV&lt;\/h2&gt;<\/code><br>\n<code> &lt;\/nav&gt;<\/code><br>\n<code> &lt;main class=\"contenu\"&gt;<\/code><br>\n<code> &lt;h2&gt;MAIN CONTENT&lt;\/h2&gt;<\/code><br>\n<code> &lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dicta, quo minima voluptatibus inventore tenetur a, eos dolor nulla corrupti omnis dolores nobis repellat quasi ipsam voluptate esse, quam alias magnam!&lt;\/p&gt;<\/code><br>\n<code> &lt;\/main&gt;<\/code><br>\n<code> &lt;footer class=\"pied\"&gt;<\/code><br>\n<code> &lt;h2&gt;FOOTER&lt;\/h2&gt;<\/code><br>\n<code> &lt;\/footer&gt;<\/code><br>\n<code> &lt;\/div&gt;<\/code><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">1. Disposition standard<\/h4>\n\n\n\n<p>Dans ce cas de figure, on utilise flex en colonne. Mais cela traduit le comportement normal. FlexBox est presque inutile dans cette configuration standard.<\/p>\n\n\n\n<p>Voici le code CSS :<\/p>\n\n\n\n<p>#wrap {<br>\ndisplay: flex;<br>\nflex-direction: column;<br>\n}<br>\n.tete {<br>\nbackground-color: cadetblue;<br>\n}<br>\n.menu {<br>\nbackground-color: gold;<br>\n}<br>\n.contenu {<br>\nbackground-color: hotpink;<br>\n}<br>\n.contenu p {<br>\ntext-align: left;<br>\nmargin-left: 10px;<br>\n}<br>\n.pied {<br>\nbackground-color: yellowgreen;<br>\n}<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2018\/03\/flex01-1.png\"><img decoding=\"async\" loading=\"lazy\" width=\"640\" height=\"360\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2018\/03\/flex01-1.png\" alt=\"\" class=\"wp-image-1112\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2018\/03\/flex01-1.png 640w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2018\/03\/flex01-1-300x169.png 300w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">2. Nav lat\u00e9rale \u00e0 gauche<\/h4>\n\n\n\n<p>Voici le code CSS :<\/p>\n\n\n\n<p>#wrap02 {<br>\ndisplay: flex;<br>\nflex-direction: row;<br>\nflex-wrap: wrap;<br>\n}<br>\n.tete {<br>\nbackground-color: cadetblue;<br>\nflex: 1 100%;<br>\n}<br>\n.menu {<br>\nbackground-color: gold;<br>\nflex: 1 20%;<br>\n}<br>\n.contenu{<br>\nbackground-color: hotpink;<br>\nflex: 1 80%;<br>\n}<br>\n.contenu p {<br>\ntext-align: left;<br>\nmargin-left: 10px;<br>\n}<br>\n.pied {<br>\nbackground-color: yellowgreen;<br>\nflex: 1 100%;<br>\n}<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2018\/03\/flex02-1.png\"><img decoding=\"async\" loading=\"lazy\" width=\"640\" height=\"360\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2018\/03\/flex02-1.png\" alt=\"\" class=\"wp-image-1111\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2018\/03\/flex02-1.png 640w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2018\/03\/flex02-1-300x169.png 300w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">3. Nav sur la m\u00eame ligne que le header<\/h4>\n\n\n\n<p>C&rsquo;est une configuration courante, g\u00e9n\u00e9ralement associ\u00e9e au fait de rendre l&rsquo;ensemble header + nav fixes en haut de page. Cet effet n\u00e9cessite un conteneur suppl\u00e9mentaire pour englober les deux containers.<\/p>\n\n\n\n<p>Voici, en version ed base, le code CSS :<\/p>\n\n\n\n<p>#wrap {<br>\ndisplay: flex;<br>\nflex-direction: row;<br>\nflex-wrap: wrap;<br>\n}<br>\n.tete {<br>\nbackground-color: cadetblue;<br>\nflex: 1 30%;<br>\n}<br>\n.menu {<br>\nbackground-color: gold;<br>\nflex: 1 70%;<br>\n}<br>\n.contenu {<br>\nbackground-color: hotpink;<br>\nflex: 1 100%;<br>\n}<br>\n.contenu p {<br>\ntext-align: left;<br>\nmargin-left: 10px;<br>\n}<br>\n.pied {<br>\nbackground-color: yellowgreen;<br>\nflex: 1 100%;<br>\n}<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2018\/03\/flex03.png\"><img decoding=\"async\" loading=\"lazy\" width=\"640\" height=\"360\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2018\/03\/flex03.png\" alt=\"\" class=\"wp-image-1115\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2018\/03\/flex03.png 640w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2018\/03\/flex03-300x169.png 300w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/figure>\n\n\n\n<p>Voir \u00e9galement cette ressource :<\/p>\n\n\n\n<figure class=\"wp-block-embed-wordpress wp-block-embed is-type-wp-embed is-provider-css-tricks\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"G4a533Hhs6\"><a href=\"https:\/\/css-tricks.com\/snippets\/css\/a-guide-to-flexbox\/\">A Complete Guide to Flexbox<\/a><\/blockquote><iframe class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8220;A Complete Guide to Flexbox&#8221; &#8212; CSS-Tricks\" src=\"https:\/\/css-tricks.com\/snippets\/css\/a-guide-to-flexbox\/embed\/#?secret=6UFEQXhPWV#?secret=G4a533Hhs6\" data-secret=\"G4a533Hhs6\" width=\"474\" height=\"267\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Les bo\u00eetes HTML (conteneurs qui renferment le contenu de votre site), de type div, header, footer, nav, main, section, article, aside, etc. doivent \u00eatre r\u00e9partis sur la page afin de cr\u00e9er la mise en page. Il existe plusieurs techniques pour cela : &#8211; Les tableaux (technique aujourd&rsquo;hui abandonn\u00e9e pour la mise en page; les tableaux &hellip; <a href=\"https:\/\/lamartinieredesign.fr\/?page_id=1105\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">Mise en Page Flex<\/span>  <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":931,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"_links":{"self":[{"href":"https:\/\/lamartinieredesign.fr\/index.php?rest_route=\/wp\/v2\/pages\/1105"}],"collection":[{"href":"https:\/\/lamartinieredesign.fr\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/lamartinieredesign.fr\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/lamartinieredesign.fr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lamartinieredesign.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1105"}],"version-history":[{"count":12,"href":"https:\/\/lamartinieredesign.fr\/index.php?rest_route=\/wp\/v2\/pages\/1105\/revisions"}],"predecessor-version":[{"id":4200,"href":"https:\/\/lamartinieredesign.fr\/index.php?rest_route=\/wp\/v2\/pages\/1105\/revisions\/4200"}],"up":[{"embeddable":true,"href":"https:\/\/lamartinieredesign.fr\/index.php?rest_route=\/wp\/v2\/pages\/931"}],"wp:attachment":[{"href":"https:\/\/lamartinieredesign.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1105"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}