28172 sujets

CSS et mise en forme, CSS3

Bonjour,

dans un soucis d'éliminer complètement la mise-en-page du code html, je me trouve confronter à un soucis.
Dans un point précis de mon code, je charge à partir de mes tables MySQL une URL relative d'une image que j'utilise en fond d'un tableau. C'est mon $skinmap.

$affCarte .= "<center><table cellspacing='0' cellpadding='0' border='0' background='".$skinmap."'>";


$skinmap est en fait la carte sur laquelle le personnage se déplace, il y a dans les cases du tableau les PNJ, les PJ, les monstres et autres machins ayant des coordonnées.

Il me paraît intéressant de signaler que $skinmap :
-> ne dépend pas de l'adresse. Quoiqu'il arrive, il s'agit de carte.php.
-> dépend uniquement des coordonnées du PJ connecté.
-> dois rester en BG, ne serait-ce que parce que les autres trucs au-dessus sont dans les cases du tableaux (et ont des raisons d'y être^^ Smiley langue ) et parce que la taille de mes tableaux varient (en gros je passe de 210 px/210px jusqu'à 630px/420px).


Ma question, ça serait de savoir si y aurait moyen de transmettre au CSS une variable php, en l'occurrence $skinmap ou si y a une solution plus propre que la mienne qui existe.
Modifié par Lothindil (28 Oct 2010 - 15:15)
Bonjour,

Dans le HEAD de la page:
<link rel="stylesheet" href="ma-feuille-de-styles-externe.css">
<style>
/* Background image for the current map */
#map {background-image: url(<?php echo $skinmap ?>);}
</style>


En passant, c'est une bonne idée de te mettre enfin aux CSS (en 2010!). Par contre pour un jeu en ligne je m'intéresserais plutôt à JavaScript à des technos telles que Canvas et SVG. Avec un support pour les deux qui débarquera l'année prochaine dans IE9, et des implémentations déjà bien établies dans les autres navigateurs, c'est <del>l'avenir</del> le présent. Smiley smile

Un jeu (certes plus ambitieux) qui utilise Canvas, par exemple:
http://www.canvasdemos.com/2010/10/01/biolab-disaster/
Euh, le css est présent sur tout le site...
J'ai juste à tout casser 4 pages, dont celle-là, qui ne sont pas full css Smiley cligne (sur pas moins de 130 ^^)

Et le javascript, je m'y intéresse aussi, ainsi qu'au Jquery et à l'ajax; même si l'essentiel du jeu tourne très bien en php/MySQL ^^

mais je vais essayer avec ta technique, je pensais bien à un truc dans le genre, même si j'aurais espérer faire plus simple Smiley langue


ps: sympa le jeu, même si c'est pas ce type de jeux-là que je veux faire, j'aime BEAUCOUP les possibilités que ça offre pour des mini-jeux dans mes jeux ^^
Modifié par Lothindil (27 Oct 2010 - 18:23)
Lothindil a écrit :
mais je vais essayer avec ta technique, je pensais bien à un truc dans le genre, même si j'aurais espérer faire plus simple Smiley langue

Tu imaginais quel type de solution? Je vois mal comment on peut faire plus simple.
Tu peux aussi déclarer l'image de fond dans l'attribut style de l'élément, mais ce n'est pas particulièrement plus simple. Personnellement je préfère avoir les styles propres à la page dans le HEAD plutôt que dans les attributs style du contenu de la page, quand c'est possible.
bah j'aurais aimé pouvoir avoir tous mon css dans le fichier au lieu d'en avoir un bout dans mon carte.php.