Page 1 sur 1

Une liste dans une liste.

Publié : 20 mai 2010, 15:18
par kowalsky
Bonjour tout le monde.

J'ai un html assez simple avec une liste :

Code : Tout sélectionner

		<ul id="menuMain">
			<li class="menuElementLeft" onclick="menuAdmin(this) ; "><span id="menu1">Text text</span></li>
			<li class="menuElementCenter" onclick="menuContact(this)"><span id="menu2">Text text</span></li>
			<li class="menuElementCenter" onclick="menuLog(this)"><span id="menu3">Text text</span></li>
			<li class="menuElementRight" onclick="menuDoc(this)"><span id="menu4">Text text</span></li>
		</ul>

et un code javascript qui créer une liste dans l'element li lors d'un click dessus :

Code : Tout sélectionner

function menuAdmin(O_Parent) {
	var main=document.createElement("ul") ;
	var el1=document.createElement("li") ;
	var el2=document.createElement("li") ;
	var el3=document.createElement("li") ;
	el1.appendChild(document.createTextNode("Bla1")) ;
	el2.appendChild(document.createTextNode("Bla2 Bla2")) ;
	el3.appendChild(document.createTextNode("Bla3 Bla3 Bla3")) ;
	main.appendChild(el1) ; 
	main.appendChild(el2) ;
	main.appendChild(el3) ;
	O_Parent.appendChild(main) ;
}
avec un css comme cela :

Code : Tout sélectionner

ul {
	list-style:none;
	padding:0;
}

li {
	display: table-cell ;
	float: left;
}
Sous Firefox 3 cela fonctionne, mais pas sous IE et Firefox1,5<. Quelqu'un a une idée sur ce problème ?

Re: Une liste dans une liste.

Publié : 20 mai 2010, 15:25
par kowalsky
En fait, j'ai compris, sous Firefox 3.6, la deuxième liste dépasse de la première alors que sous IE, elle reste dedans, du coup, on ne la voit pas.

Comment peut on avoir le même comportement sous IE ?



Arg... Et comment peut on désinstaller tout les IE du monde ? :)

Re: Une liste dans une liste.

Publié : 20 mai 2010, 18:46
par ~HP
kowalsky a écrit :Arg... Et comment peut on désinstaller tout les IE du monde ? :)
Autant ne pas les installer :wink:

Re: Une liste dans une liste.

Publié : 21 mai 2010, 08:57
par calimo
kowalsky a écrit :Comment peut on avoir le même comportement sous IE ?
  1. T'assurer que tu es en mode de respect des standards (voir la fenêtre des infos sur la page)
  2. remettre à 0 toutes les marges, espacements, tailles, et positionner explicitement ta nouvelle liste.
Si je peux me permettre quelques commentaires supplémentaires :
  • Code : Tout sélectionner

    onclick="menuContact(this)"
    Pense à tes visiteurs qui naviguent au clavier et à la recommandation 2.1 du WCAG 2.0 et ajoute un "onkeypress" ou mieux utilise "onfocus" qui est indépendant du matériel.
  • Pense également à tester ton site avec javascript désactivé. A priori, ce n'est pas une bonne idée de générer le contenu par javascript. Mieux vaut le générer de manière HTML classique puis le masquer par javascript au chargement :wink: Au hasard, voir http://www.onlinetools.org/tools/yadm/ mais il y en a des tas d'autres !

Re: Une liste dans une liste.

Publié : 25 mai 2010, 11:21
par kowalsky
@calimo

Le problème du javascript dans le menu c'est qu'il dépendra des droits qu'aura l'utilisateur une fois qu'il se sera logger. Et sachant que le site s'appuie sur un service XML et que tout son contenu viendra de la, je suis obligé de passé par la case javascript. Je vais essayer de faire un truc accéssible au maximum mais pour le javascript, c'est cause perdue (je ne suis pas décideur sur tout sur ce projet...)

Merci en tout cas pour vos remarque.