Variable PHP et CSS

Résolu
clé de 12 Messages postés 141 Date d'inscription   Statut Membre Dernière intervention   -  
clé de 12 Messages postés 141 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je récupère dans mon fichier index la variable taille de l'écran. J'aimerai intégrer cette information dans mon fichier css pour définir les tailles des TD, UL, des bandeaux, des images background, etc...

Qui connait la syntaxe pour dimensionner des données css en intégrant des variables (session ou php)?
Un exemple des variables à intégrer dans mon CSS :

.menu li li ul{
position:absolute;
margin-left:150px;
margin-top:10px;

Ici par exemple je verrai un truc style margin-left:$largeur/6;
}
.menu li ul li {
width:140px;
}

.menu li{
list-style:none;
width:150px;
height:auto;
display:inline;
display/**/:block;
float:none;
float/**/:left;
margin:0;
padding:0;
}
////////// etc, etc...;
Merci de me donner si possible les syntaxes pour les 2 cas (variables session et variable PHP)....si c'est possible bien sûr.
Cordialement

A voir également:

5 réponses

Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
et si tu définissait tes margin en %


margin-left:33%;
0
clé de 12 Messages postés 141 Date d'inscription   Statut Membre Dernière intervention   1
 
Oui, ça ça marche, mais le but de ma demande est de savoir si on peut et comment déclarer une variable session ou php comme argument dans un fichier CSS (qui n'est par définition pas un fichier php). Mais tu as raison, le % répond à un besoin immédiat mais n'est pas assez précis . Si je veux rajouter un onglet ou 2 dans la barre des menus, le pourcentage changerait. Je voudrais un truc plus souple. Mettre un 25% pour 4 onglets, OK, 20% pour 5, mais si je mets le nombre d'onglets en lecture, ma variable pour UL serait ($longueur/$nb_onglets)
Merci de toutes façons pour ta réponse.
0
dan-b Messages postés 79 Date d'inscription   Statut Membre Dernière intervention   7
 
Bonjour,

Il existe des "préprocesseurs" qui permettent de générer des css dynamiques (cf LESS, SASS). Ou on peut tout simplement créer une page style.php. Voir un article sur les deux méthodes http://blog.internet-formation.fr/2013/12/creer-des-css-dynamiques-avec-php-sans-lesscss-ou-scss/

sinon, pour adapter un design aux différents écrans, il y a les media queries https://www.alsacreations.com/article/lire/930-css3-media-queries.html qui permettent de pallier certains défauts avec les largeurs en pourcentage.
0
clé de 12 Messages postés 141 Date d'inscription   Statut Membre Dernière intervention   1
 
Très intéressant, je vais me pencher sur cette solution qui a l'avantage d'allier souplesse et unicité des couches (faux css mais vrai php).
Mais ça ne répond pas à ma question du début : comment insérer une valeurs variable dans du CSS qui est un fichier texte ? Je suis têtu, un vrai bourricot, mais on m'a affirmé que c'était possible, alors pour le fun, j'aimerai savoir.
Merci quand même, je pense que je vais étudier ta solution, j'ai l'avantage d'avoir le temps.
Cordialement
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
une solution (un peu crade ) serait de mettre la partie concernée de ta feuille de style dans le head de ta page .php

<head>
<link rel="stylesheet" type="text/css" href="xxxxxxxx.css" media="all" /> 

<style type="text/css">
.......
margin-left:<?php echo $variable; ?> px;

</style>
</head>


sinon tu peux aussi regarder du côté de jQuery qui permet de modifier les propriété css au niveau du navigateur, et du même coup lire la résolution et appliquer la formule de calcul.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
clé de 12 Messages postés 141 Date d'inscription   Statut Membre Dernière intervention   1
 
Ouais, finalement, à vous lire tous, je pense que le fichier CSS n'accepte pas de variables et que l'on doit user de variables session ou de simili CSS fait avec du code php, ce qui ne me dérange pas.
Merci à tous
0