28173 sujets

CSS et mise en forme, CSS3

Bonjour

Comment fait on en javascript pour accèder aux attributs d'une feuille de style externe?

merci
Salut & bienvenue !

A priori, on fait exactement comme d'habitude Smiley smile

Aurais-tu un exemple, pour qu'on cerne mieux ton problème ?
pour un style inline genre <div id="lid" style="border-width:1px"></div>

On fait a = document.getElementById('lid').style.borderWidth;

Mais pour une feuille de style externe ceci ne fonctionne pas!
donc j ai une feuille de style externe ou je definis tout les style du site.

Via un formulaire je veut pouvoir modifier ces style.
Pour les modifier il faut dans un premier temps que je sache ce qu'il valent.

Donc je dois accèder (lire) la feuille de style pour compléter le fomulaire.
Une possibilité : créer 2 classes opposées ...

1) classe initiale
2) classe changement d'état

Et faire la modification par Javascript du className ... Smiley cligne
je du mal a comprendre ce que tu veut dire mais moi je procède de la sorte :

- je lis ma feuille de style.
- j'affiche la valeur des attributs dans un formulaire.
- on modifie les valeur du formulaire.
- Un script php réecris la feuille de style.
Ok, tu utilises un formulaire pour générer une css ...

Regarde le post que j'ai laissé dans mon post précédent ...

Cette fonction te permet d'avoir les propriétés css d'un selecteur id ... maintenant il faut trouver le moyen de récupérer les propriétés css d'un selecteur "plus compliqué" (exemple : .class, #id .class ...). ce qui risque d'être beaucoup plus compliqué Smiley sweatdrop .
Bonjour,
MWeiss a écrit :
je du mal a comprendre ce que tu veut dire mais moi je procède de la sorte :

- je lis ma feuille de style.
- j'affiche la valeur des attributs dans un formulaire.
- on modifie les valeur du formulaire.
- Un script php réecris la feuille de style.
Dans ce cas-là, pourquoi ne lis-tu pas ta feuille de styles (puis remplis le formulaire) en PHP ? Tu auras une solution beaucoup plus solide et compatible avec bien plus de navigateurs.
Modifié par Eldebaran (11 Jan 2007 - 12:15)
en fait il faut passer par la méthode getComputedStyle ..... sauf pour IE pour lequel il faut passer par element.currentStyle, bref c'est un peu compliqué.

la doc de getComputedStyle chez Mozilla

La doc de currentStyle chez Microsoft

Ce que je te conseille c'est d'utiliser la libraire Prototype, qui possède une méthode getStyle qui fait tout ce boulot pour toi, par exemple :


couleur_du_texte = Element.getStyle(element, "color");


voir ici pour la doc de getStyle

voilou
Eldebaran a écrit :
Bonjour,Dans ce cas-là, pourquoi ne lis-tu pas ta feuille de styles (puis remplies le formulaire) en PHP ? Tu auras une solution beaucoup plus solide et compatible avec bien plus de navigateurs.

+74
oui j'ai pensé a lire ma feuille de style avec PHP mais je pense que c'est un peu long et lourd pour le serveur.
Vous allez me dire : "idem pour l'ecriture" mais dans le cas de l'ecriture il me semble que je n'est pas d autre choix.

En fait je prefererai le faire en javascript tant que j arrive a une compatibilité avec (cf : cahier des charges ^^):
Konqueror 3.3
Microsoft IE 6.0
Mozilla 1.4
Mozilla Firefox 0.8
Netscape 7.1
Opera 8.01
Safari 1.2.1


(et version supérieur)

je vais essayer d'utiliser les fonction getstyle que me propose MrPatate, voila merci ++
Dans ce cas-là, tu fonces dans le mur... Voir par exemple les tableaux de compatibilité de Quirks Mode.

Et je ne comprends pas ton problème de lourdeur sur le serveur. Est-ce que ce changement de la feuille de styles est extrêmement fréquent ? Je ne suis pas sûr que le fait de lire un fichier en PHP soit très coûteux. Si c'est ton opinion, je suppose que tu n'utilises jamais "include" ?
c'est l'opinion d'un d'un amateur! Je suis ouvert à toutes suggestions.
Si cela ne sucharge pas le serveur je vais le tenter en php alors.

PS : si si j'utilise des include Smiley hum ... enfin je vois pas trop le rapport mais bon ^^
MWeiss a écrit :
PS : si si j'utilise des include Smiley hum ... enfin je vois pas trop le rapport mais bon ^^
Ben disons que la démarche est un peu la même. Demander à l'interpréteur PHP de traiter un fichier via include, j'imagine que ça revient un peu au même que de récupérer le contenu d'un fichier CSS sur le serveur pour l'utiliser.