28172 sujets

CSS et mise en forme, CSS3

Bonjour

je suis nouvelle ici et débutante....
je viens de créer un menu accordéon via un exemple trouvé quelque part sur ce site
je souhaiterais arrondir les coins (sans passer par l'intégration d'une image si possible),j'ai testé plein de chose dans la feuille externe .css, rien n'y fait, je ne connais pas la syntaxe
le menu est celui sur la gauche (nav verticale)
http://www.sokebana.net/test/article-mariage/index.html

par ailleurs lorsque je suis dans un article et que je clic sur "sommaire des articles (en hau de ce menu) pour revenir au sommaire, le menu est tout déroulé puis se remet en place, c'est pas top... je ne le vois que sous IE, en réalité l'image de fond se charge le menu est grand développé et lorsque l'image est chargée, il se remet en place, est ce lié? je ne sais pas, c'est un élément que je viens de remarquer.

pour finir n'y a t il pas un moyen d'adapter le code pour que le menu se rétrécisse tout seul lorsque nous sommes sur une réso 1024 780

par avance un grand merci pour votre aide


voici le style:
/*--------- ci dessous nav verticale articles---------*/
dl, dt, dd, ul, li {
margin: 0;
padding: 0;
list-style-type: none;
}
#menu {
	position: absolute;
	top: 233px;
	left: 13px;
}
#menu {
	width: 225px;
}
#menu dt {
cursor: pointer;
margin: 2px 0;
height: 20px;
line-height: 20px;
text-align: left;
font-weight: bold;
background: #0cbfdf;
}
#menu dd {
border: 0px solid gray;
}
#menu li {
text-align: left;
background:
}
#menu li a, #menu dt a { /* sous menu*/
color: #ffffdd;
text-decoration: none;
display: block;
height: 100%;
font-weight: normal;
font-size:10px;
}

#menu li a:hover, #menu dt a:hover {
background: #0cbfdf;
font-weight: normal;
font-size:10px;
}
/*--------- FIN verticale articles---------*/




voici le script ds la head:
<script type="text/javascript">
<!--
window.onload=montre;
function montre(id) {
var d = document.getElementById(id);
	for (var i = 1; i<=10; i++) {
		if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
	}
if (d) {d.style.display='block';}
}
//-->
</script>




et voici le contenu ds le body:
<dl id="menu">

  <dt onclick="javascript:montre();"><a href="index.html">Sommaire des articles</a></dt>
			
            
  <dt onclick="javascript:montre('smenu1');">Photographe</dt>
			<dd id="smenu1">
				<ul>
					<li><a href="#">dddd</a></li>
					<li><a href="#">ddd</a></li>
					<li><a href="#">Sous-Menu 2.3</a></li>
                    <li><a href="#">Sous-Menu 2.4</a></li>
					<li><a href="#">Sous-Menu 2.5</a></li>
				</ul>
			</dd>	
            
            
		<dt onclick="javascript:montre('smenu2');">DJ - Animation</dt>
			<dd id="smenu2">
				<ul>
					<li><a href="play-list-de-soiree-dansante.html">Play list de votre soirée dansante</a></li>
				  <li><a href="moments-cles-d-une-soiree-d-animation.html">Moments clés d'une soirée d'animation</a></li>
				  <li><a href="comment-choisir-son-animateur-ou-dj.html">Comment choisir son animateur ou  DJ?</a></li>
                  <li><a href="#">Sous-Menu 2.4</a></li>
					<li><a href="#">Sous-Menu 2.5</a></li>
				</ul>
			</dd>	

		<dt onclick="javascript:montre('smenu3');">Magie</dt>
			<dd id="smenu3">
				<ul><li><a href="pourquoi-pas-un-magicien.html">Et pourquoi pas un Magicien?</a></li>
				  <li><a href="#">Sous-Menu 3.1</a></li>

					<li><a href="#">Sous-Menu 3.1</a></li>
					<li><a href="#">Sous-Menu 3.1</a></li>
					<li><a href="#">Sous-Menu 3.1</a></li>
					<li><a href="#">Sous-Menu 3.1</a></li>
				</ul>
			</dd>

		<dt onclick="javascript:montre('smenu4');">Vidéaste</dt>
			<dd id="smenu4">
				<ul>
					<li><a href="#">Sous-Menu 4.1</a></li>
					<li><a href="#">Sous-Menu 4.1</a></li>
				</ul>
			</dd>
            
            
            
            	<dt onclick="javascript:montre('smenu5');">Faire Part</dt>
			<dd id="smenu5">
				<ul>
					<li><a href="#">Sous-Menu 5.1</a></li>
					<li><a href="#">Sous-Menu 5.1</a></li>
				</ul>
			</dd>

	<dt onclick="javascript:montre('smenu6');">Robe</dt>
			<dd id="smenu6">
				<ul>
					<li><a href="#">Sous-Menu 6.1</a></li>
					<li><a href="#">Sous-Menu 6.1</a></li>
				</ul>
			</dd>
</dl>

Modifié par sokebana (04 Nov 2008 - 11:25)
j'ai oublié....
les titres sont super collés à gauche je voudrais le décoller de 5px, mais pareil je tente plein de choses et ça ne bouge pas!!

merci...
Pour les bords arrondis, il te faudra forcément une image (bon il y aurait des solutions du côté de cssplay mais je crois que ça reste de la bidouille). Les bords arrondis arrivent avec css3 mais il faudra un moment avant de pouvoir réellement les utiliser.
Pour le problème ie je laisse quelqu'un d'autre répondre (ici c'est un peu la galère pour tester sous ie).
Pour tes textes collé je dirai un petit :

li{
padding-left:5px;
}

Modifié par cahnory (03 Nov 2008 - 12:30)
Merci Cahnory, voilà qui est résolu pour ce point, c'est idiot mais quand on ne sait pas..
n'existe t il pas un site où il y aurait toutes syntaxe?
un autre petit point...

est il envisageable, dans ce meme menu de mettre une petite puce (ordinaire) devant chaque ligne de sous menu?

merci beaucoup de votre patience Smiley confused
Pour le point devant tes listes c'est le comportement par défaut que tu as désactivé ici :

dl, dt, dd, ul, li {
margin: 0;
padding: 0;
[b]list-style-type: none;[/b]
}

Donc à priori tu fais du copier coller sans trop t'intéresser à "qu'est-ce qui fait quoi"... bref, les sites listant point par point chaque propriété existent mais sans connaissance des bases de css ça ne te servira pas à grand chose... donc je ne saurai trop te conseiller de lire le contenu du site alsacreations qui est un passage obligé pour l'internaute francophone en mal de connaissance css.
oui je fais du copier coller comme tu dis j'ai bine précisé que je débutais et quand on débute, souviens toi, il est difficile de se souvenir tout ce qui fait quoi en un bloc...
j'ai besoin de qqc qui marche et je suis obligée d'apprendre tout d'un coup en + de mon activité à gérer, mais porter un projet et se mettre sur le tas est mieux que de ne rien tenter non??

merci de ton indulgence ET de ton aide!! Smiley cligne
Loin de moi l'idée de te jeter la pierre mais quand même, je me souviens de mes débuts et je sais que je farfouiller plus que ce que je copiai collai... maintenant à l'époque il y avait moins de forum, sources...
ba tu vois un truc ne vas pas et j'ose même pas demander, si un forum n'est pas là pour aider alors, c'est dommage...

j'ai cherché un moment avant de trouver ce menu (idem l'horizontal), je lui ai apporté pas mal de modif, preuve que je cherche bien à apprendre... et en plus je me justifie...

depuis la semaine dernière je sais faire des choses que je ne savais pas faire juste avant, enfin bon j'apprends comme tout le monde, à ma mesure et j'ai pas un esprit matheu alors le code et tt ces machins ce n'est aps tres simple pour moi, mais je participe!! lol

je t'emmène en reportage?? Smiley cligne
Bon..
j'ai ajouté cette balise dans le css pour arrondir mes bords:
.fullsample { width: 250px; border-radius: 10px 10px; -moz-border-radius: 10px; background-color: #F00; padding: 5px; }


c'est superbe sous FF, mais sous IE, il ne gere pas...

puis je pallier à cette incompatibilité sans passer par une image? merci de votre aide...
cahnory a écrit :
Pour les bords arrondis, il te faudra forcément une image (bon il y aurait des solutions du côté de cssplay mais je crois que ça reste de la bidouille). Les bords arrondis arrivent avec css3 mais il faudra un moment avant de pouvoir réellement les utiliser.

Les propriétés que tu utilises là sont du css3 (ça tu n'étais pas obligé de le savoir Smiley cligne ), la technique de cssplay :
http://www.cssplay.co.uk/boxes/curves.html
je viens de céder à l'image...
c'est formidable mais sous IE c'est tout déroulé....

j'ai mis en ligne sur http://www.sokebana.net/test/article-mariage/index.html
c'est tres bien sous FF....

oui je sais que c'était du css3 c'était précisé...
le reste du code ets il en css3? est ce pour cela que IE ne gere pas le déroulement? enfin l'enroulement je dirais plutot? Smiley lol

merci et bon ap
Modifié par sokebana (04 Nov 2008 - 13:26)
oui pardon c'était précisé là http://www.e-t172.net/articles/round/ (tout en bas de la page)
la fonction que tu viens de me proposer je dosi la mettre dans la feuille css? à la place d'autre chose?

merci de ton aide

ma feuille actuelle:
/*--------- ci dessous nav verticale articles---------*/
dl, dt, dd, ul, li {
margin: 6px;
padding: 0px;
list-style-type:inherit;
}
#menu {
	position: absolute;
	top: 296px;
	left: 13px;
	
}
#menu {
	width: 175px;
}
#menu dt {
cursor: pointer;
margin: 2px 0;
height: 20px;
line-height: 20px;
text-align: left;
font-weight: bold;
background: ;
padding-left:5px;
background-image:url(photos-espace-mariage/bouton-menu-vertical.png);

}
#menu dd {
border: 0px solid gray;
}
#menu li {
text-align: left;
background:;
}
#menu li a, #menu dt a { /* sous menu*/
color: #ffffdd;
text-decoration: none;
display: block;
height: 100%;
font-weight: normal;
font-size:10px;
padding-left:5px;
}

#menu li a:hover, #menu dt a:hover {

color:#0cbfdf;
font-weight: normal;
font-size:10px;
}
/*--------- FIN verticale articles---------*/
Arg, sincèrement j'y met toute la bonne volonté du monde mais t'as tout juste jeté un oeuil distrait à ton code... Ce bout de code est du javascript, comme celui que tu utilises pour ton menu. Donc dans ta page il y a un appel js à la fin du chargement de celle-ci (window.onload), c'est cette ligne que tu dois remplacer. Le truc c'est qu'il faudra que tu personnalise cette ligne pour chaque page pour qu'il s'ouvre en fonction de la section dans laquelle le visiteur se trouve... mais sincèrement, je pense que tu as du regarder mais que tu n'as tout simplement pas suffisament de connaissance pour savoir ce qui peut ou non avoir un lien avec ton menu et donc je te conseille, comme dit sur un autre topic, de voir moins grand afin de mieux comprendre ce que tu fais.
ba oui je suis naze en ce domaine, je le dis depuis le début, c'est un mon job ni ma passion Smiley lol mais cela ne m'empêchera pas d'arriver à mes fins, ce qui compte ici pour moi c'est le résultat, donc je te remercie une fois encore pour ta patience

j'ai cherché ds le css dans le body mais pas dans la head... sorry pas taper

je viens d'essayer et cela ne répond pas à ma demande que j'ai du mal formuler... cela laisse le menu2 déroulé, je ne veux pas cela, je veux juste que sous iE ce soit comme sous FF, c'est à dire tout enroulé et que cela se déroule par clic, peut etre faut il regarder sur ff et IE pour comparer et comprendre.

visiblement souci de cache, ça marche à présent (sans cette ligne de code qui il reste le petit bug ou tt s'affiche déroulé puis se réenroule (bug cité au depart de ce fil)
Modifié par sokebana (04 Nov 2008 - 14:55)
si ça n'a aucun influence sur ff par contre sous IE, tout reste fermé et je ne peux pas dérouler du tout!
Dans ce cas plutot que

dd{display:none;}

tu définis display none pour chaqu'un des id de tes sous menu.
Modifié par cahnory (04 Nov 2008 - 15:43)