28234 sujets

CSS et mise en forme, CSS3

bonjour,

je souhaiterais mettre des divs autour de contenu css afin de pouvoir le redimensionner. je souhaiterais ne pas modifier le contenu css en question qui contient des instructions utilisant des tailles en 'px', 'pt'...

mamato
par contenu css, je voulais dire du contenu html avec ids et classes renvoyant vers des feuilles de style css.
par exemple: ... <div class=titepolice>... machin truc chose <div class=jolipolice> et plein d'autres ids/classes ...

ce contenu utilise plein d'ids et de classes qui sont mises en forme par un fichier CSS qui utilise des px et autres (pour définir des font-size, des marges, etc...)
je souhaiterais éviter d'avoir à modifier les valeurs du fichier CSS existant...

l'idéal serait du style:
#arapticir { scale: 40% } ou #arapticir { px: 30mm }

<div id=arapticir>
... <div class=titepolice>... machin truc chose <div class=jolipolice> et plein d'autres ids/classes ...
</div>


j'espère que c'est un peu plus clair... je sais que j'essaye de faire des choses un peu bizarres... c'est lié aux contraintes du projet sur lequel je travaille...


mamato
Administrateur
Ah! Tu veux modifier le rendu final (il sera ramené de 100 à 40% dans ton exemple) avec des instructions identiques dans ton CSS par ailleurs (sauf celle de "arapticir" bien sûr)??

Je pense pas que ce soit possible tel quel et dans cette hypothèse, je verrais:
- générer ta feuille CSS avec un langage de programmation (PHP, ...) en définissant d'une part les constantes (40) px, (15) pt, etc et d'autre part la ou les variables (renduglobal=40.0/100.0)
- réécrire le moteur de rendu de Mozilla selon tes besoins Smiley biggrin


EDIT: CSS n'est malheureusement pas un langage de programmation ni un PDF-like ou un DJVU-like, mais uniquement:
"Le CSS1 est un mécanisme de feuille de style simple qui permet aux auteurs et aux lecteurs de lier un style (par exemple les polices de caractères, les couleurs et l'espacement) à un document HTML. Le langage CSS1 peut être lu et écrit par un humain" (source)
Le truc en gras est finalement une bonne chose je pense Smiley rolleyes
merci pour ta réponse felipe, j'ai posté un bug à mozilla pour qu'ils rajoutent une option. la hotline de MS m'a malheureusement raccroché au nez, je doute donc que mon option ne soit pas supporté par IE Smiley decu

(je reprends mon serieux...)

la solution de préprocesser le CSS est en effet celle vers laquelle je m'orientais... je le fais déjà à moitié...

j'avais toutefois l'impression que la révolution CSS allait résoudre tous les problèmes du net en deux lignes, trois modifs. j'ai toutefois pu trouver un peu de réconfort grace à René Crevel selon qui "il faut beaucoup de naïveté pour faire de grandes choses"... il ne me reste donc plus qu'à faire de grandes choses Smiley cligne

pour rassurer moustiko, les CSS en question ne sont pas les miens mais ceux de sites existants sur lesquels je n'ai pas de contrôle... je lirai toutefois les liens qui m'ont l'air intéressants.

mamat
Si tu n'as pas accès aux originaux c'est insoluble, mais dans l'absolu tu peux utiliser des dimensions relatives (em). Cela permet par exemple d'avoir un layout qui suit la taille de ta police. Défini la taille de la police en dimensions fixe dans un élément haut dans ta hiérarchie (cad le body, le plus facile) de par exemple 10px, les dimensions des éléments enfants se baseront sur cette référence; p{font:1.2em} et te voila avec 12px de corps. Rien n'empèche d'utiliser ces valeurs pour des blocs, un menu latéral de 30em fera 300px à un affichage de police de 100%, si l'utilisateur redimensionne le texte la largeur de la colonne suivra. J'ai fait un truc du genre ici pour un projet 3d (wip tj): http://www.mentalwarp.com/burp/

bonne journée

ps: sur mozilla pavé numérique + et - pour changer la taille de la police à la volée