Background sur DL non appliqué sur DT ?
justin_gridou
Messages postés
13
Statut
Membre
-
justin_gridou Messages postés 13 Statut Membre -
justin_gridou Messages postés 13 Statut Membre -
Bonjour,
Je fais un menu en utilisant les listes html (dl). J'utilise les dt et dd pour définir des menus et sous-menu qui sont affichés lorsqu'on passe sur un item de menu. Mon menu a aussi des bords arrondis. Je met une image à bord arrondis pour faire l'entête et le bas de mon menu que je place dans des dt, comme des items de mon menu (non cliquable biensûr). Les côtés du menu sont quantà eux construit en appliquant un background sur la dl.
Problème, vu que j'ai une image à fond transparent dans un dt, je vois derrière le background du dl qui représente les bords du menu !!!
Je comptais rajouter sur la balise dt un
Voici le code html :
et voici la css :
Y a quelques bidouillages pour que tout marche comme je veux, peut-être pas très beau à voir mais bon ;) je débute avec les css alors on fait ce qu'n peut :)
Auriez-vous une idée pour pouvoir appliqué un background-image sur le dl et non sur le dt ou sinon comment construire mon menu pour y rajouter ces entêtes arrondis ? Ai-je été assez claire ?
Merci d'avance de vos réponse.
Je fais un menu en utilisant les listes html (dl). J'utilise les dt et dd pour définir des menus et sous-menu qui sont affichés lorsqu'on passe sur un item de menu. Mon menu a aussi des bords arrondis. Je met une image à bord arrondis pour faire l'entête et le bas de mon menu que je place dans des dt, comme des items de mon menu (non cliquable biensûr). Les côtés du menu sont quantà eux construit en appliquant un background sur la dl.
Problème, vu que j'ai une image à fond transparent dans un dt, je vois derrière le background du dl qui représente les bords du menu !!!
Je comptais rajouter sur la balise dt un
style="background-image:none;", mais ceci n'écrase pas le background appliqué sur le dl ...
Voici le code html :
<div id="branding" style="position:absolute; visibility:show;">
<dl id="menu">
<dt><img src="images/hautmenu.gif" height="24" width="155"/></dt>
<dt></dt>
<dt onmouseover="javascript:montre('smenu1');" style="padding-left:15px;cursor:pointer;"><p class="flag"><img src="images/point.gif" height="18" width="17" /><span>Grossesse</span></p></dt>
<dd id="smenu1">
<ul>
<li><a href="grossesse_first.php" class="menu">1er Trimestre</a></li>
<li><a href="grossesse_first_2.php" class="menu">2ème Trimestre</a></li>
<li><a href="grossesse_first_3.php" class="menu">3ème Trimestre</a></li>
</ul>
</dd>
<dt onmouseover="javascript:montre('smenu3');" style="padding-left:15px;cursor:pointer;"><p class="flag"><img src="images/point.gif" height="18" width="17" /><span>Photos</span></p></dt>
<dd id="smenu3">
<ul>
<li><a href="gallery_flash/armand.php?gallerie=naissanceArmand&hidemenu=" class="menu">Naissance</a></li>
<li><a href="gallery_flash/armand.php?gallerie=bebeArmand01m&hidemenu=" class="menu">0-1 mois</a></li>
<li><a href="gallery_flash/armand.php?gallerie=bebeArmand13m&hidemenu=" class="menu">1-3 mois</a></li>
</ul>
</dd>
<dt onmouseover="javascript:montre('');" style="padding-left:15px;"><p class="flag"><img src="images/point.gif" height="18" width="17"/><span><a href="videoArmand.php" class="menu">Vidéos</a></span></p></dt>
<dt></dt>
<dt><img src="images/basmenu.gif" height="83" width="155" /></dt>
</dl>
</div>
et voici la css :
body { background-color: #a0c4dd; background-image: url('images/fond.gif'); background-position: center center; background-attachment: fixed; background-repeat: repeat-y; -moz-user-select: none;}
a.menu:link {font-family: Arial, Helvetica, sans-serif; font-size: 12px; color: #3e5667; text-decoration: underline;}
a.menu:visited {font-family: Arial, Helvetica, sans-serif; font-size: 12px; color: #3e5667; text-decoration: underline;}
a.menu:hover {font-family: Arial, Helvetica, sans-serif; font-size: 12px; color: #36729a; text-decoration: none; background-color: #ffe4b5;}
a.menu:active {font-family: Arial, Helvetica, sans-serif; font-size: 12px; color: #36729a; text-decoration: none; background-color: #ffe4b5;}
.text {font-family: Arial, Helvetica, sans-serif; font-size: 12px; color: #3e5667;}
.title {font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: #3e5667; font-weight: bold;}
.subtitle {font-family: Arial, Helvetica, sans-serif; font-size: 12px; color: #3e5667; font-weight: bold;}
.minus {font-family: Arial, Helvetica, sans-serif; font-size: 10px; color: #3e5667; font-weight: bold;}
p {
margin: 0.1em;
}
p.flag img, span {
vertical-align: middle;
display: inline-block;
}
p.flag span {
padding-left: 5px;
}
dl, dt, dd, ul, li {
margin: 0;
padding: 0;
list-style-type: none;
font-family: Arial, Helvetica, sans-serif;
color: #3e5667;
}
dl {
background-image: url('images/fondmenu.gif');
background-position: center center;
background-repeat: repeat-y;
}
#menu {
position: absolute; /* placement du menu, à modifier selon vos besoins */
top: 0;
left: 0;
width: 155px;
}
#menu dt {
height: 20px;
line-height: 20px;
text-align: left;
border: 0px;
font-size: 12px;
+margin-bottom: -4px;
}
#menu dd {
border: 1px solid white;
width: 100px;
margin: 0 0 0 40px;
background-color: #fff;
filter: alpha(opacity=60);
-moz-opacity: 0.60;
opacity:0.60;
}
#menu li {
text-align: left;
background-color: #fff;
padding: 0 0 0 5px;
}
#menu li a, #menu dt a {
cursor: pointer;
text-decoration: none;
border: 0 none;
height: 100%;
}
#menu dt a {
display: inline;
}
#menu li a {
font-size: 10px;
display: block;
}
#menu li a:hover {
background: #ffe4b5;
}
#menu dt a:hover {
background: none;
}
Y a quelques bidouillages pour que tout marche comme je veux, peut-être pas très beau à voir mais bon ;) je débute avec les css alors on fait ce qu'n peut :)
Auriez-vous une idée pour pouvoir appliqué un background-image sur le dl et non sur le dt ou sinon comment construire mon menu pour y rajouter ces entêtes arrondis ? Ai-je été assez claire ?
Merci d'avance de vos réponse.
A voir également:
- Background sur DL non appliqué sur DT ?
- Desinstaller application sur windows - Guide
- Comment supprimer une application préinstallée sur android - Guide
- Winrar dl - Télécharger - Compression & Décompression
- Chrome dl - Télécharger - Navigateurs
- Comment lire un message supprimé sur whatsapp sans application - Guide
15 réponses
voici une image du menu ...
http://picasaweb.google.fr/justin.gridou/Divers/photo#5122611187333499538
les entêtes arrondies sont entre des balises dt ... du coup on voit le fond d'écran appliqué au dl : les côté gauche et droit du menu ...
Gihef : je comprend pas ton message ...
http://picasaweb.google.fr/justin.gridou/Divers/photo#5122611187333499538
les entêtes arrondies sont entre des balises dt ... du coup on voit le fond d'écran appliqué au dl : les côté gauche et droit du menu ...
Gihef : je comprend pas ton message ...
Avec une capture d'écran personnellement ça demandes trop d'imagination pour deviner ce que fait ton code et surtout je ne peux absolument rien essayer.
Désolée,
La version en ligne n'est pas la bonne : les images à bord arrondi on un fond bleu pour écraser l'autre background, mais cette solution ne me va pas car c'est moche lorsque le menu chevauche quelque chose. Donc faut remplacer les images hautmenu.gif et basmenu.gif par hautmenu_bis.gif et basmenu_bis.gif pour voir le problème.
je t'envoi le lien du site par message privé car je tiens pas à le mettre en public (le site est privé et je tiens pas à ce qu'on puisse y accéder de google ou autre ;) beaucoup dechose pour pas grand chose ;) lol )
Pour les autres :) désolée aussi. SI vous avez besoin vous aussi du lien je vous l'enverais en privé ;)
La version en ligne n'est pas la bonne : les images à bord arrondi on un fond bleu pour écraser l'autre background, mais cette solution ne me va pas car c'est moche lorsque le menu chevauche quelque chose. Donc faut remplacer les images hautmenu.gif et basmenu.gif par hautmenu_bis.gif et basmenu_bis.gif pour voir le problème.
je t'envoi le lien du site par message privé car je tiens pas à le mettre en public (le site est privé et je tiens pas à ce qu'on puisse y accéder de google ou autre ;) beaucoup dechose pour pas grand chose ;) lol )
Pour les autres :) désolée aussi. SI vous avez besoin vous aussi du lien je vous l'enverais en privé ;)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Dans tes dt je ne pense pas que mettre des balises p soit utile (ce que tu peux mettre à p, tu peux le mettre à dt), le span aussi est complètement inutile. Ce n'est pas sémantique non plus je pense, bien qu'a ce sujet beaucoup d’autre chose sont discutables, comme par exemple mettre tantôt du css dans les balise, tantôt dans la feuille de style, utiliser des tableaux pour le design, ou encore n'adopter aucun doctype.
Dans ta feuille de style plutôt que de mettre une image en background à la balise dl, tu ne devrais rien mettre.
A la place mets plutôt aux balises ul :
L'icône devant le titre (point.gif) n'apporte rien au contenu, c'est pour faire jolie, ça devrait être en background
display: inline-block; Ca n'existe pas, la balise est soit block soit inline, pas les deux.
Tout ça est inutile :
Tu as ça dans ton code :
<span class="subtitle">|</span>
Quel est l'intérêt de mettre un span et d'applique un style d'une classe css à des espaces et à un séparateur | ??? De plus cette class ce sert qu'a ça.
On retrouve à de nombreuse reprise ce morceau de css:
Alors qu'il suffirait de le mettre une seul fois dans body.
Je m'arrête là parce que plus je découvre le code, plus c'est du n'importe quoi, ça sent le logiciel qui génère les pages automatiquement.
Dans ta feuille de style plutôt que de mettre une image en background à la balise dl, tu ne devrais rien mettre.
A la place mets plutôt aux balises ul :
ul
{
background: #a0c4dd;
border-left, border-right : 1 px solid #cae1f1;
}
L'icône devant le titre (point.gif) n'apporte rien au contenu, c'est pour faire jolie, ça devrait être en background
dt
{
background: url('images/point.gif') no-repeat ;
padding-left: 20px;
}
<dt class="flag" onmouseover="javascript:montre('smenu1');">Grossesse</dt>
display: inline-block; Ca n'existe pas, la balise est soit block soit inline, pas les deux.
Tout ça est inutile :
p.flag img, span {
vertical-align: middle;
display: inline-block;
}
p.flag span {
padding-left: 5px;
}
Tu as ça dans ton code :
<span class="subtitle"> </span>
<span class="subtitle">|</span>
Quel est l'intérêt de mettre un span et d'applique un style d'une classe css à des espaces et à un séparateur | ??? De plus cette class ce sert qu'a ça.
On retrouve à de nombreuse reprise ce morceau de css:
font-family: Arial, Helvetica, sans-serif;
Alors qu'il suffirait de le mettre une seul fois dans body.
Je m'arrête là parce que plus je découvre le code, plus c'est du n'importe quoi, ça sent le logiciel qui génère les pages automatiquement.
Bonjour s.spark,
Merci de t'être penché un peu sur mon code, mais j'avais prévenu que c'était peut-être pas écrit très bien :)
Le code n'est pas généré automatiquement, c'est moi qu'il est écrit, et j'ai récupéré des petitq trucs sur le net pour contourner d'autre petit problème (alignement vertical des images avec le milieu du texte avec l'histoire du span ... )
Enfin, y a pas mal de bidouille pour la mise en page (comme le span avec les ). Mais là n'est pas le problème.
Ma question se pose sur l'application du background sur le dl que je voudrais ne pas voir afficher pour "certains" dt ...
Voilà ... :)
Personne n'a l'air d'avoir d'idée ... je vais être obligée de laisser mon entête bidouillée quoi :)
Merci de t'être penché un peu sur mon code, mais j'avais prévenu que c'était peut-être pas écrit très bien :)
Le code n'est pas généré automatiquement, c'est moi qu'il est écrit, et j'ai récupéré des petitq trucs sur le net pour contourner d'autre petit problème (alignement vertical des images avec le milieu du texte avec l'histoire du span ... )
Enfin, y a pas mal de bidouille pour la mise en page (comme le span avec les ). Mais là n'est pas le problème.
Ma question se pose sur l'application du background sur le dl que je voudrais ne pas voir afficher pour "certains" dt ...
Voilà ... :)
Personne n'a l'air d'avoir d'idée ... je vais être obligée de laisser mon entête bidouillée quoi :)
J'ai commencé par ton problème avant d'évoquer les nombreux autres.
Mais si tu n'écoutes pas ... Voilà ... :)
Mais si tu n'écoutes pas ... Voilà ... :)
Effectivement, pardon, je vais trop vite ...
Tu me conseilles de le mettre au niveau de ul ...
J'ai testé, çà marche pas ... même ta ligne de code direct ... je supprime ce qui a dans la css au niveau du dl et rajoute pour le ul ... mais rien ? Tu fais autre chose dans la css ou le code ?
Tu me conseilles de le mettre au niveau de ul ...
J'ai testé, çà marche pas ... même ta ligne de code direct ... je supprime ce qui a dans la css au niveau du dl et rajoute pour le ul ... mais rien ? Tu fais autre chose dans la css ou le code ?
Mets plutôt ça (ce que je t'ai donné est faut) :
Le problème c'est que je ne peux pas faire de test sur ta page puisque tu n'as pas mis le code qui pose problème.
dl
{
background: #a0c4dd;
border-left : 1px solid #cae1f1;
border-right : 1px solid #cae1f1;
}
Le problème c'est que je ne peux pas faire de test sur ta page puisque tu n'as pas mis le code qui pose problème.
s.spark dit “je ne pense pas que mettre des balises p soit utile (ce que tu peux mettre à p, tu peux le mettre à dt), le span aussi est complètement inutile”
En effet, les <p> sont carrément prohibés dans des <dl>, <dt>, <ul>, <li> parce qu'inutiles.
Les <dl>, <dt>, <ul>, <li> sont suffisants.
Surtout qu'on peut aussi agir sur les <a>.
Quant aux <span>, ils ne sont utiles que si tu veux avoir un effet particulier sur une partie de ton texte.
--
En effet, les <p> sont carrément prohibés dans des <dl>, <dt>, <ul>, <li> parce qu'inutiles.
Les <dl>, <dt>, <ul>, <li> sont suffisants.
Surtout qu'on peut aussi agir sur les <a>.
Quant aux <span>, ils ne sont utiles que si tu veux avoir un effet particulier sur une partie de ton texte.
--
s.spark : le problème est le même. On a un background pour le dl et on met une image arrondie dans un dt, mais on voit le background du dl ... que ce soit une image ou directetement appliqué des border, c'est pareil !
Et pourquoi pas bleu comme la couleur du fond ? Et quel est le problème avec ce que tu as mis actuellement ?
Ben actuellement il y un bug qui fait que si la fenêtre du navigateur est plus petite en hauteur que la hauteur du menu, le menu défile à l'infini ... et là, on voit que le menu est a un fond bleu ... j'ai pas réussi à résoudre le bug alors je voulais au moins que ce soit plus joli : que le menu est vraiment des bord arrondis !
Voilà :)
Désolée de pas avoir répondu avant mais j'étais en vacances ;)
Voilà :)
Désolée de pas avoir répondu avant mais j'étais en vacances ;)
En dehors des erreurs de construction, +1
--