{"id":3987,"date":"2014-04-12T20:35:40","date_gmt":"2014-04-12T18:35:40","guid":{"rendered":"https:\/\/www.creativejuiz.fr\/blog\/?p=3987"},"modified":"2014-04-13T01:02:03","modified_gmt":"2014-04-12T23:02:03","slug":"effet-animation-transition-css3-menu-vertical","status":"publish","type":"post","link":"https:\/\/www.creativejuiz.fr\/blog\/tutoriels\/effet-animation-transition-css3-menu-vertical","title":{"rendered":"Effet d&rsquo;animation CSS3 sur menu vertical"},"content":{"rendered":"<p>On m&rsquo;a demand\u00e9 une vingtaine de fois comment reproduire l&rsquo;effet d&rsquo;animation assez simple de mes menus sur la barre lat\u00e9rale de ce blog (si le design actuel est toujours le m\u00eame d&rsquo;ici \u00e0 ce que vous lisiez cet article). Du coup je prends un peu de temps pour vous faire un mini tutoriel et vous expliquer le principe&nbsp;!<\/p>\n<p><!--more--><\/p>\n<p class=\"center\"><a href=\"\/blog\/doc\/animation-css3-menu-vertical.html\" class=\"demonstration\">D\u00e9monstration<\/a><\/p>\n<h2>La base HTML du menu<\/h2>\n<p>\u00c0 quelques variations pr\u00e8s, votre menu va certainement ressembler \u00e0 cela au niveau du code HTML :<\/p>\n<pre class=\"code\"><code class=\"html boc-nocontrols boc-nogutter\">&lt;ul class=\"menu-vertical\"&gt;\n    &lt;li class=\"mv-item\"&gt;&lt;a href=\"#\"&gt;Lorem ipsum&lt;\/a&gt;&lt;\/li&gt;\n    &lt;li class=\"mv-item\"&gt;&lt;a href=\"#\"&gt;Dolor Sit&lt;\/a&gt;&lt;\/li&gt;\n    &lt;li class=\"mv-item\"&gt;&lt;a href=\"#\"&gt;Amet consectetur&lt;\/a&gt;&lt;\/li&gt;\n    &lt;li class=\"mv-item\"&gt;&lt;a href=\"#\"&gt;Adipiscing elit&lt;\/a&gt;&lt;\/li&gt;\n&lt;\/ul&gt;<\/code><\/pre>\n<p>Il s&rsquo;agit d&rsquo;une b\u00eate liste de liens. \u00c0 vous de voir s&rsquo;il convient de la placer en plus dans un \u00e9l\u00e9ment HTML5 <code>nav<\/code> ou pas.<br \/>\nLes classes sont \u00e0 adapter selon votre projet et votre nomenclature, bien entendu.<\/p>\n<h2>Un exemple de CSS<\/h2>\n<p>Il va donc falloir supprimer les styles de base d&rsquo;une liste, et animer les changements de propri\u00e9t\u00e9 gr\u00e2ce \u00e0 <code>transition<\/code>.<br \/>\nJe mets des commentaires dans le code pour vous faciliter sa compr\u00e9hension.<\/p>\n<pre class=\"code\"><code class=\"css boc-nocontrols boc-nogutter\">\/* style du bloc ul *\/\n.menu-vertical {\n  width: 250px; \/* optionnel, c'est pour la d\u00e9mo *\/\n  list-style: none; \/* supprime les puces de liste *\/\n  padding: 4px; \/* on fait un peu de place autour des liens *\/\n  margin: 0; \/* on annule les marges *\/\n  background: #F2F2F2;\n}\n&nbsp;\n\/* styles des liens et \u00e9l\u00e9ments de liste *\/\n.mv-item,\n.mv-item a {\n  \/* les liens et item deviennent des blocs *\/\n  \/* suffit th\u00e9oriquement \u00e0 virer les puces de liste *\/\n  display: block;\n}\n&nbsp;\n\/* styles des liens *\/\n.mv-item a {\n  margin: 1px 0; \/* espace les liens d'1 px *\/\n  padding: 8px 20px; \/* marges internes pour a\u00e9rer *\/ \n  color: #666;\n  background: #FFF;\n  text-decoration: none; \/* on vire le soulignement *\/\n\n  \/* on d\u00e9finit la transition pour les navigateurs *\/\n  -webkit-transition: all .3s; \/* Chrome\/Safari *\/\n  -moz-transition: all .3s; \/* Firefox (plus trop n\u00e9cessaire) *\/\n  transition: all .3s; \/* syntaxe officielle *\/\n}\n&nbsp;\n\/* styles changeants au survol et focus *\/\n.mv-item a:hover,\n.mv-item a:focus {\n  background: #1ABC9C;\n  color: #FFF;\n  padding-left: 30px; \/* d\u00e9calage du contenu de 10px vers la droite (30-20 = 10) *\/\n}<\/code><\/pre>\n<p>Grosso-modo le code force une largeur globale du menu, mais votre conteneur fera peut-\u00eatre d\u00e9j\u00e0 le travail, vous pouvez donc supprimer cette ligne <code>width: 250px;<\/code> si vous placez le menu dans une barre lat\u00e9rale dimensionn\u00e9e.<\/p>\n<p class=\"center\"><a href=\"\/blog\/doc\/animation-css3-menu-vertical.html\" class=\"demonstration\">D\u00e9monstration<\/a><\/p>\n<p>Notez bien que les liens n&rsquo;ont pas de largeur d\u00e9finie, du coup la marge int\u00e9rieure changeante ne provoque pas de redimensionnement complet de l&rsquo;\u00e9l\u00e9ment. Si jamais vous avez donn\u00e9 un <code>width<\/code> \u00e0 vos liens, il faudra peut-\u00eatre envisager d&rsquo;utiliser le code suivant sur vos liens :<\/p>\n<pre class=\"code\"><code class=\"css boc-nocontrols boc-nogutter\">\/* changement du type de bo\u00eete *\/\n.mv-item a {\n  -webkit-box-sizing: padding-box;\n  -moz-box-sizing: padding-box;\n  box-sizing: padding-box;\n}<\/code><\/pre>\n<p>La valeur <code>border-box<\/code> peut-\u00eatre envisag\u00e9e si vous utilisez en plus une bordure sur vos liens.<\/p>\n<p>Amusez-vous bien !<\/p>\n","protected":false},"excerpt":{"rendered":"<p>On m&rsquo;a demand\u00e9 une vingtaine de fois comment reproduire l&rsquo;effet d&rsquo;animation assez simple de mes menus sur la barre lat\u00e9rale de ce blog (si le design actuel est toujours le m\u00eame d&rsquo;ici \u00e0 ce que vous lisiez cet article). Du coup je prends un peu de temps pour vous faire un mini tutoriel et vous [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":3990,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_bluesky_dont_syndicate":"","_bluesky_syndication_accounts":"","_bluesky_syndication_text":"","footnotes":""},"categories":[17,9],"tags":[120,428,468,157],"coauthors":[],"class_list":["post-3987","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-css-css3","category-tutoriels","tag-animation","tag-css3","tag-interface","tag-menu"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/posts\/3987","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/comments?post=3987"}],"version-history":[{"count":0,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/posts\/3987\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/media\/3990"}],"wp:attachment":[{"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/media?parent=3987"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/categories?post=3987"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/tags?post=3987"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/coauthors?post=3987"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}