Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# 2 xul:image qui ne se superpose pas dans un stack

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

# Re: 2 xul:image qui ne se superpose pas dans un stack

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.