22/02/2016, 17:00:38
Jean le Chauve a écrit :Au lieu de mettre une classe, tu utilises le sélecteur :first-childCode :ul > :first-child {
//les propriétés contenues dans ta classe icon-home
}
Ca, je suis d'accord pour pour la feuille de css mais pour remplacer le texte du menu par une icone font, il faut que je passe par une classe et que je supprime le texte directement dans le menu:
Code :
[== PHP ==]
{if preg_match("/^\d[\.][1]$/", $node->hierarchy)}
{$href_class = ['icon-home']}
{/if}
...
{* regular item *}
<li{do_class classes=$list_class}{$aria_support}>
<a{do_class classes=$href_class} href='{$node->url}'{if $node->target != ''} target='{$node->target}'{/if}>{if !preg_match("/^\d[\.][1]$/", $node->hierarchy)}{$node->menutext}{$parent_indicator}{/if}</a><br/><span class="menuborder"></span>
{if isset($node->children)}
{Simplex_menu data=$node->children depth=$depth+1}
{/if}
</li>
avec mon css qui donne ça:
Code :
[== CSS ==]
[class^="icon-"], [class*=" icon-"] {
font-family: 'icomoon';
speak: none;
font-style: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
line-height: 1;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-home:before {
content: "\e907";
}
Le css, je peux le transposer à ul > :first-child, comme tu le dis, y'a pas de soucis, mais pour supprimer le texte du menu et n'avoir que l'icone... sans passer par des position:absolute et des left: -9999px pour le texte, le plus simple est de conditionner l'affichage directement dans le template du menu.
Du moins, je vois ça comme ça pour le moment...