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 :

modification d'un fichier CSS existant


Sujet :

CSS

  1. #1
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 495
    Billets dans le blog
    1
    Par défaut modification d'un fichier CSS existant
    Bonjour,

    j'ai déjà un site avec un fichier CSS appelé par plein de pages, et ce que je voudrais faire, c'est modifier un attribut déjà utilisé dans ce CSS (un font-size) et de plus ajouter un ID (et faire cette modif en PHP, car je crois qu'il n'y aurait pas moyen autrement) : est-ce possible ?

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 228
    Par défaut
    Citation Envoyé par laurentSc Voir le message
    Bonjour,

    j'ai déjà un site avec un fichier CSS appelé par plein de pages, et ce que je voudrais faire, c'est modifier un attribut déjà utilisé dans ce CSS (un font-size) et de plus ajouter un ID (et faire cette modif en PHP, car je crois qu'il n'y aurait pas moyen autrement) : est-ce possible ?
    pourquoi ne pas l'ajouter dans le fichier CSS directement

  3. #3
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 495
    Billets dans le blog
    1
    Par défaut
    Ca a besoin d'être dynamique, car je souhaite modifier la taille des caractères (d'où le font-size) sur action de l'utilisateur (il s'agirait de pouvoir modifier cette taille par les mal-voyants, mais tout le monde n'en a pas besoin...). Je viens d'ailleurs de faire un essai manuel : dans un fichier css existant, j'ai rajouté un ID plus un attribut sur un élément qui était déjà présent :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    body{
    font-size:30;
    }
    et c'était bien pris en compte.
    Et il me semble que c'est quasiment au point :
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    <?php
    $filename = 'fichier.css';
    $somecontent = "#id1{
    font-size:30;
    }
    \n";
     
    // Assurons nous que le fichier est accessible en écriture
    if (is_writable($filename)) {
     
        // Dans notre exemple, nous ouvrons le fichier $filename en mode d'ajout
        // Le pointeur de fichier est placé à la fin du fichier
        // c'est là que $somecontent sera placé
        if (!$handle = fopen($filename, 'a+')) {
             echo "Impossible d'ouvrir le fichier ($filename)";
             exit;
        }
     
        // Ecrivons quelque chose dans notre fichier.
        if (fwrite($handle, $somecontent) === FALSE) {
            echo "Impossible d'écrire dans le fichier ($filename)";
            exit;
        }
     
     
        fclose($handle);
     
    } else {
        echo "Le fichier $filename n'est pas accessible en écriture.";
    }
    ?> 
    <p id="id1">
    coucou
    </p>
    Car c'est bien pris en compte : est-ce que tu crois que c'est résolu ?

  4. #4
    Membre Expert
    Avatar de kaiser59
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 264
    Par défaut
    Salut,

    Utiliser JavaScript (ou jQuery) serait plus approprié nan ? Comme le font la plupart des templates de joomla...

  5. #5
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 495
    Billets dans le blog
    1
    Par défaut
    Utiliser JavaScript (ou jQuery) serait plus approprié nan ?
    Pourrais-tu préciser un peu ton idée ?

    Je suis d'autant plus intéressé que venant d'essayer mon idée, le fichier css que je voudrais modifier n'est pas accessible en écriture...

  6. #6
    Membre éprouvé Avatar de Pierrot2Mars
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2010
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2010
    Messages : 79
    Par défaut
    Salut,
    Tu pourrais également ajouter du code dans ton head HTML.
    Par ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <style type="text/css">
    if(isset($_GET['size']) and !empty($_GET['size'])) echo '#id1 { font-size:'.intval($_GET['size']).'px'; }
    </style>
    Edit: Corrigé

  7. #7
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 495
    Billets dans le blog
    1
    Par défaut
    Merci du tuyau, et comme j'ai déjà mis du code css (entre balises <style> et </style>) dans le début du body, ça doit aussi être possible, non ? (Je te demande ça, car vu mon contexte, ça serait beaucoup plus facile d'encapsuler ton code dans une fonction PHP et d'appeler celle-ci dans le body des pages).

    Et il me semble que pour que ton code soit juste, il faudrait plutôt faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    echo '<style type="text/css">'
    if(isset($_GET['size']) and !empty($_GET['size'])) echo '#id1 { font-size='.intval($_GET['size']).'px'; }
    echo '</style>'
    Es-tu d'accord avec moi sur les 2 points abordés ?

  8. #8
    Membre éprouvé Avatar de Pierrot2Mars
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2010
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2010
    Messages : 79
    Par défaut
    Bien sûr !
    ...Sans oublier les ; à la fin des echo

  9. #9
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 495
    Billets dans le blog
    1
    Par défaut
    Et voilà :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo '<style type="text/css">';
    if(isset($_GET['size']) and !empty($_GET['size'])) echo '#id1 { font-size='.intval($_GET['size']).'px'; }
    echo '</style>';
    (j'avais oublié)

  10. #10
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 495
    Billets dans le blog
    1
    Par défaut
    J'ai décoché "résolu", car ça n'est pas au point.
    Voilà ce que je fais :
    j'ai un bouton "A+" qui fait un lien sur cette fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php 
    $taille_pol= (!isset($_COOKIE["taille_pol"]))? "12":$_COOKIE["taille_pol"];
    switch($taille_pol) {
    case 10 : $taille_pol= "12"; break;
    case 12 : $taille_pol= "15"; break;
    case 15 : $taille_pol= "20"; break;
    case 20 : $taille_pol= "30"; break;
    case 30 : $taille_pol= "30"; break;
    default : $taille_pol= "12"; break;
    }
    setcookie("taille_pol",  $taille_pol);
    $_SESSION['size']=$taille_pol;
    ?>
    et dans ma page d'essai, j'ai ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    echo '<style type="text/css">';
    if (isset($_SESSION['size'])) echo '#id1 { font-size='.intval($_SESSION['size']).'px; }';
    echo '</style>';
    ?>
    <p id="id1">
    coucou
    </p>
    bien sûr, je fais les session_start() nécessaires, mais ça ne marche pas quand même (le "coucou" ne grossit pas). Qu'est-ce qui ne va pas ?

  11. #11
    Membre éprouvé Avatar de Pierrot2Mars
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2010
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2010
    Messages : 79
    Par défaut
    Je vois une erreur ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $taille_pol= (!isset($_COOKIE["taille_pol"]))? "12":$_COOKIE["taille_pol"];
    Corrigé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $taille_pol= (!isset($_COOKIE["taille_pol"]) ? "12" : $_COOKIE["taille_pol"]);

  12. #12
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 495
    Billets dans le blog
    1
    Par défaut
    Non, ce code est juste ; par contre, ce que tu ne pouvais voir, c'est qu'il était mal placé vu qu'il y a dedans un setcookie et qu'il faut donc le placer avant tout affichage ; je l'ai fait (placé avant le doctype) et du coup la variable PHP est bien positionnée ; le cookie est effectivement "setté" et du coup, la variable augmente bien à chaque fois que j'appelle le code ; pour rappel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $taille_pol= (!isset($_COOKIE["taille_pol"]))? "12":$_COOKIE["taille_pol"];
    donc si le cookie n'existe pas, on repart à chaque fois de la même valeur.
    Par contre, dans le code html il y a
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <style type="text/css">#id1 { font-size=30px; }</style>taille=30<br><p id="id1">
    coucou
    </p>
    (le taille=30 est le résultat d'un echo de contrôle), mais pourtant, le coucou ne prend pas en compte ce font-size ; tu comprends ?

  13. #13
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 228
    Par défaut
    ce n'est pas
    mais
    le séparateur est : et non =

  14. #14
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 495
    Billets dans le blog
    1
    Par défaut
    Merci, et lamentable ce Pierrot2Mars, vu que le code venait de lui Merci quand même de votre aide à tous les 2.

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

Discussions similaires

  1. [QtXml] Modification d'un fichier XML existant
    Par Jiyuu dans le forum PyQt
    Réponses: 0
    Dernier message: 25/09/2011, 20h28
  2. Réponses: 2
    Dernier message: 12/08/2011, 15h07
  3. [CS4] modification d'un fichier css
    Par stephanech dans le forum Dreamweaver
    Réponses: 3
    Dernier message: 28/05/2009, 16h59
  4. [ASP .Net 2.0] Modification d'un fichier CSS
    Par XtoX dans le forum ASP.NET
    Réponses: 5
    Dernier message: 16/02/2007, 12h48

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