28172 sujets

CSS et mise en forme, CSS3

Bonsoir,

Je souhaiterais coder un menu déroulant uniquement en CSS, mais peut-on exploiter un XML avec ce dernier afin d'obtenir toute l'arborescence des sous-menus?

Sinon ça veut dire que je dois passer par du javascript.

Merci
Modérateur
Salut,

ben je viens de faire un petit test... mis à part pour Firefox, c'est pas çà... Smiley ravi

L'exemple était le suivant :

fichier index.xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/css" href="test.css"?>
<menu>
	<ssmenu id="ssmenu1">
		<titre>liste 1</titre>
		<item href="#">item 1</item>
		<item href="#">item 2</item>
		<item href="#">item 3</item>
		<item href="#">item 4</item>
		<item href="#">item 5</item>
	</ssmenu>
	<ssmenu id="ssmenu2">
		<titre>liste 2</titre>
		<item href="#">item 1</item>
		<item href="#">item 2</item>
		<item href="#">item 3</item>
	</ssmenu>
</menu>


fichier test.css

menu
{
	margin: 20px;
	background-color: #CCC;
}
ssmenu
{
	float: left;
	background-color: #FFF;
	border: 1px solid #000;
	width: 150px;
	height: 32px;
	overflow: hidden;
}
ssmenu[id=ssmenu1]:hover
{
	height: 137px;
}

ssmenu[id=ssmenu2]:hover
{
	height: 95px;
}
titre
{
	display: block;
	font-weight: bold;
	height: 32px;
	line-height: 32px;
	border-bottom: 1px solid #000;
	text-align: center;
}
item
{
	display: list-item;
	text-decoration: underline;
	width: 130px;
	padding-left: 20px;
	cursor: pointer;
	list-style-type: disc;
	list-style-position: inside;
}
item:hover
{
	color: #FD6;
}


Pour Firefox, c'est nickel... on a bien le menu déroulant... Smiley biggthumpup
Pour Opera, il manque les marges sur le menu Smiley confuse mais ça fonctionne...
Pour IE, hum... Smiley toilet
Pour les autres, je n'ai pas testé mais faut déjà un navigateur qui comprenne XML, ce qui est loin d'être le cas pour tout le monde...

En fait, je pense que tu dois d'abord transformer ton fichier XML en fichier (X)HTML via XSLT et Xalan (par exemple) pour que ça fonctionne correctement... Smiley cligne

En tout cas, en XML, le CSS a intérêt à être super précis parce que rien n'est défini au départ... Smiley lol
Modifié par koala64 (18 Oct 2006 - 19:27)
Merci et bravo pour cette démo koala64, c'est génial de pouvoir jouer sur les attributs du XML via CSS je savais pas qu'on pouvais faire ça!C'est d'une puissance!!
Mais alors comment ça s'affiche dans le navigateur?
Modérateur
lineTo a écrit :
Mais alors comment ça s'affiche dans le navigateur?
euh... c'est à dire ? Smiley sweatdrop Je ne dois pas bien comprendre parce que sinon, je te dirais que seules 3 touches (Ctrl, C et V) accompagnée d'un bouton (clic gauche de la souris) sont utiles pour recopier le code et constater le résultat dans chaque navigateur... Smiley lol
Modifié par koala64 (19 Oct 2006 - 09:43)