IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mise en page CSS Discussion :

Gérer la résolution d'écran en CSS/PHP


Sujet :

CSS

  1. #1
    Membre éprouvé

    Inscrit en
    Janvier 2006
    Messages
    969
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 969
    Points : 958
    Points
    958
    Par défaut Gérer la résolution d'écran en CSS/PHP
    Bonjour
    Je développe un site pro, dont les utilisateurs sont normalement en 1280 mais parfois moins. J'ai trop d'informations a faire tenir pour les mettre dans une résolution inférieure (pour ceux qui vont me conseille de passer en résolution inférieure).
    Je souhaite donc faire une feuille de style entièrement dynamique en php, qui prendrait comme arguments les résolutions horizontales et verticales.

    Pour capter la résolution, je mixe php et javascript, mais je n'arrive pas à passer les arguments car je n'arrive pas à faire écrire dans le code html (seulement sur la page).

    Si vous pouviez m'aider, merci beaucoup

    Voici le code correspondant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Javascript
    function resolX()
    {
    	document.write(screen.width)
    }
    function resolY()
    {
    	document.write(screen.height)
    }
     
    PHP
    $resolX = "<script>resolX()</script>";
    $resolY = "<script>resolY()</script>";
    <link rel="stylesheet" type="text/css" href="./scripts/style.php?resolX=<?php echo $resolX ?>&resolY=<?php echo $resolY ?>" media="screen">
     
    CSS
    session_start();
    $ratioX = $_GET['resolX']/1280;
    $ratioY = $_GET['resolY']/1024;
    div {
    font-size:<?php echo 11*$ratioX;?>pt;
    }

  2. #2
    Membre chevronné Avatar de Oluha
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 183
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 183
    Points : 1 967
    Points
    1 967
    Par défaut

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2005
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2005
    Messages : 273
    Points : 322
    Points
    322
    Par défaut
    si j'ai bien compris tu détecte la résolution du visiteur et ensuite tu veux charger différents css selon la résolution?

    je sais pas si j'ai tout compris tes bouts de code (c'est un peu fouilli et du php dans le css j'y crois pas trop)

    admettons que ta fonction resolX et resolY renvoient bien la résolution.
    tu peux alors faire en php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $res = 'script language="javascript" type="text/javascript">';  // on ouvre la balise script
    $res .= 'resolX();'; //on ajoute la largeur
    $res .= 'document.write("_")'; // on ajoute le _
    $res .= 'resolY();'; // on ajoute la hauteur
    $res .= '</script>';  // on ferme la balise script
    et tu devrais avoir une variable $res = '1280_1024'; par exemple
    (pas sûr mais à tester avec un echo $res par ex...)

    une fois que tu as ta résolution sous cette forme
    tu choisis le fichier css dynamiquement avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <link rel="stylesheet" type="text/css" href="fichierCSS_<?php echo $res; ?>.css" media="screen">
    qui dans ce cas équivaut par ex à href="fichierCSS_1280_1024.css"

  4. #4
    Membre éprouvé

    Inscrit en
    Janvier 2006
    Messages
    969
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 969
    Points : 958
    Points
    958
    Par défaut
    Merci, j'ai réussi de mon côté dans le même temps.
    Il s'agit de mettre dans le <head> le bout de code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <script language=JavaScript >
    	document.write('<link rel="stylesheet" type="text/css" href="./scripts/style.php?resolX=' + screen.width + '&resolY=' + screen.height + '" media="screen">');
    </script>
    et dans le CSS
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    	$ratioX = $_GET['resolX']/1280;
    	$ratioY = $_GET['resolY']/1024;
    ?>
    Puis de mettre des fonctions de calcul dans le CSS, du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    font-size:<?php echo 11*$ratioX;?>pt;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. gérer résolution d'écran en PHP
    Par laurentSc dans le forum Langage
    Réponses: 10
    Dernier message: 17/06/2012, 21h43
  2. [CSS/JAVASCRIPT] Résolution d'écran, faire un choix
    Par speedev dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 19/09/2006, 11h19
  3. [CSS] style externe pour differente résolution d'écran
    Par bor1s dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 05/11/2005, 00h04
  4. [CSS]Aligner les div suivant la résolutation d'écran
    Par nebule dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 09/09/2005, 11h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo