Envoyé par : Gregco
Date : 24/05/2007 19:46
Bonjour,
Je reviens vers vous car je cherche une solution pour contourner mon problème visible sur ce post http://xulfr.org/forums/read.php?1,8690.
Mon objectif : Via XBL créer un bouton. Etant perfectionniste, je veux que mes boutons aient 2 bordures, afin d'avoir un petit dégradé au niveau right et bottom.
Ce que j'ai effectué et qui marche: Rien de bien folichon, mais c'est le bête résultat que je souhaites obtenir avec un xbl. voici mon fichier xul de test
<?xml version="1.0" encoding="UTF-8" ?> <?xml-stylesheet href="chrome://pigron/skin/gestionnaire_listeserveurs.css" type="text/css" ?> <window id="w_fenetre" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" align="center" onload="init();"> <script type="application/x-javascript" src="chrome://pigron/content/js/gestionnaire_listeserveurs.js" /> <spacer height="20px" /> <stack> <image style="background-color: #333333;" width="30" height="30" /> <image style="background-color: #dfdfdf;border-color: #cccccc;border-style:solid;border-width:1px;" width="29" height="29" top="0" left="0" /> </stack> </window>
La version xbl qui ne marche pas :
Mon fichier xbl
<?xml version="1.0"?> <bindings xmlns="http://www.mozilla.org/xbl" xmlns:xbl="http://www.mozilla.org/xbl" xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <binding id="illbtn"> <content minwidth="30" minheight="30" extends="xul:stack"> <stack equalsize="never" pack="start" position="1" sortDirection="ascending" align="start"> <xul:ombrebtn /> <xul:bordurebtn /> </stack> </content> </binding> <binding id="bordurebtn" extends="xul:image"> <content minheight="30" minwidth="30" /> </binding> <binding id="ombrebtn" extends="xul:image"> <content minheight="30" minwidth="30" /> </binding> </bindings>
ma feuille de style CSS
illbtn { -moz-binding: url('chrome://pigron/content/binding/global.xml#illbtn'); padding: 0px; margin:0px; background-color:#990000; /**/ } bordurebtn { -moz-binding: url('chrome://pigron/content/binding/global.xml#bordurebtn'); background-image:url('chrome://pigron/skin/images/flecheh.png'); background-repeat: no-repeat; background-position: center center; border-width: 1px; border-style: solid; border-color: #cccccc; background-color: #dfdfdf; padding: 0px; margin: 0px; top: -1px; left: -31px; } ombrebtn { -moz-binding: url('chrome://pigron/content/binding/global.xml#ombrebtn'); background-color: #333333; padding: 0px; margin: 0px; top: 0px; left: 0px; }
et pour finir mon fichier xul
<?xml version="1.0" encoding="UTF-8" ?> <?xml-stylesheet href="chrome://pigron/skin/gestionnaire_listeserveurs.css" type="text/css" ?> <window id="w_fenetre" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" align="center" onload="init();"> <script type="application/x-javascript" src="chrome://pigron/content/js/gestionnaire_listeserveurs.js" /> <spacer height="20px" /> <illbtn /> </window>
Et là les 2 <xul:ombrebtn /> et <xul:bordurebtn /> défini dant mon xbl s'affiche, mais ne se superpose pas. J'ai essayé des position: absolute; position: fixed; top="0" et autre variente mais je n'ai pas de résultat :-(:-(:-(:-(
Je travail avec Xulrunner 1.8.1.3 et WIN XP.
D'avance un gros merci à ceux qui liront mon roman et qui peut être m'apporteront leurs lumières que se soit sur ce problème ou alors celui du post que j'ai linké plus haut.
@+
Greg
Envoyé par : David Marteau
Date : 24/05/2007 23:56
Heu, cela me parait bien compliqué alors que j'ai l'impression que tout cela pourrait bien se faire plus simplement : par exemple une box avec une image en fond (bakground-image) qui contient lui même un tag <image>
Une remarque toutefois : pourquoi faire extends="xul:stack" et puis declarer de nouveau une stack ?
Il n'est plus possible de poster des messages dans ce forum.
Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.
Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™
sont des marques de la fondation Mozilla.