28173 sujets

CSS et mise en forme, CSS3

Bonjour,

J'ai dans une page un code genre :

<span id='field_prix'><span id='field_prix_label'>Prix :</span> 420000</span>


Ce qui me donne :

a écrit :
Prix : 420000




Ce code est généré par une application et je ne peux intervenir qu'au niveau CSS. Ma question est il possible d'obtenir résultat suivant grace à CSS :

a écrit :
Prix : 420'000 EUR


C'est à dire symbole des milliers et devise
Modérateur
Salut,

Tel quel, non. Smiley rolleyes

Tu peux tout au mieux ajouter EUR à la fin du prix en passant par le pseudo-élément :after. Ceci dit, ça ne fonctionnera pas sur IE.
#field_prix:after { content: " EUR"; }
Ok merci pour les séparateurs je m'en doutait. Je vais appronfondire le after (version FF, IE et surtout validation CSS).

Je me demandais si la piste des puces ou du background image serai à approfondire (au moins pour le EUR) quitte à l'afficher sous forme d'image.

Le problème est que le span field_prix a une largeur fixe de 500px

et que le span imbriqué field_prix_label aussi, cela fait que j'ai :

[[Prix : ] 420000 ]

donc je ne peux pas vraiment jouer sur background position...

Une idée ?
Modérateur
A la rigueur, si tu as accès à JS, tu peux passer par là pour obtenir le rendu désiré. Tu auras bien plus de chances d'y arriver.
Oui j'ai un accès JS (du moins sur mon poste... parcontre les clients ... ?). Bref, en 2 mots comment puis je reformater un texte ?
Modifié par pelloq1 (31 Dec 2007 - 16:10)
Modérateur
Ben tu extrais la chaine texte puis tu fais une boucle inversée sur celle-ci en insérant une apostrophe tous les 3 chiffres. De là, tu ajoutes EUR à la fin puis tu réinsères le tout.
Oui ok pour l'algo, mais comment récupérer le champs 420000 dans la page :

<span id='field_prix'><span id='field_prix_label'>Prix:</span> 420000</span>
Modérateur
Tu peux obtenir cette valeur en faisant :
var price = document.getElementById('field_prix').lastChild.nodeValue;