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

Discussion :

include() et CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 224
    Par défaut include() et CSS
    Bonjour à tous,
    Je débute en conception web et je suis confronté à deux problèmes.
    J'ai vu qu'il ne fallait plus utiliser les frame mais plutôt les pseudo-frame en php. J'essaye donc d'utiliser la fonction include().
    Je veux que Page1 contienne un div dans lequel sera affiché le contenu de Page2. Plutot facile à faire avec des frame, mais là ...

    1.Premier problème, include recopie l'integralité du code de Page2. Il faut donc "nettoyer" la page pour ne garder que le contenu de <body></body>. Pas très pratique ...

    2.Justement, si je nettoie Page2.htm, qu'en est-il de la mise en page css qui lui était associée ? Comment dans Page1, expliquer que j'inclue Page2 avec telle feuille css ?

    J'espère avoir été clair,
    merci pour votre aide.

  2. #2
    Membre Expert Avatar de HiRoN
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 035
    Par défaut
    Salut,

    1.Premier problème, include recopie l'integralité du code de Page2. Il faut donc "nettoyer" la page pour ne garder que le contenu de <body></body>. Pas très pratique ...
    Si tu fais :
    Cela recopie l'intégralité du code contenant dans page2. Je ne vois pas vraiment ce que tu veux dire par "nettoyer". Le but du include étant justement de pouvoir rappeler du code "hebergé" sur un autre page.

    2.Justement, si je nettoie Page2.htm, qu'en est-il de la mise en page css qui lui était associée ? Comment dans Page1, expliquer que j'inclue Page2 avec telle feuille css ?
    Il te suffit d'appeler ton CSS de la même façon que pour Page1.

    Pour apprendre CSS lis ses tutoriels et cours pour CSS : http://css.developpez.com/cours/
    Pensez à utiliser les ressources disponibles en Dev. Web :
    (x)HTML : Cours (X)HTML / FAQ (X)HTML
    CSS : Cours CSS / FAQ CSS / Galerie CSS
    Javascript : Cours / FAQ / Sources
    Mon site : Développeur Web Freelance

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 224
    Par défaut
    Cela recopie l'intégralité du code contenant dans page2. Je ne vois pas vraiment ce que tu veux dire par "nettoyer". Le but du include étant justement de pouvoir rappeler du code "hebergé" sur un autre page.
    Bah grosso modo, voilà à quoi ressembleraient mes deux pages. Le contenu (et le style css) de Page2.htm doit être inclu dans un div de Page1.php


    Page1.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <html>
      <head>
      ...
      <LINK rel=stylesheet type="text/css" href="style_Page1.css">
      </head>
    
      <body>
         <div> <?php include('Page2.htm');?></div>
      </body>
    
    </html>
    Page2.htm:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <html>
      <head>
      ...
      <LINK rel=stylesheet type="text/css" href="style_Page2.css">
      </head>
    
      <body>
       Corps de Page2 à afficher dans Page1
      </body>
    
    </html>
    Page1.php après appel de include :
    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
    <html>
      <head>
      ...
      <LINK rel=stylesheet type="text/css" href="style_Page1.css">
      </head>
    
      <body>
         <div> 
           
            <html>
              <head>              
                   ...
                  <LINK rel=stylesheet type="text/css" href=" style_Page2.css">
              </head>
    
              <body>
               Corps de Page2 à afficher dans Page1
      
              </body>
            </html>
    
        </div>
      </body>
    </html>
    Donc on est bien d'accord que toutes les balises en rouge dans le dernier exemple sont en doubles, et doivent être supprimées ? C'est ce que j'appelle "nettoyer", ou alors il y a quelque chose que je n'ai pas compris ...
    Du coup, comment appeller style_Page2.css sur la partie de code provenant de Page2.htm ? Peut-ont dans Page1.php specifier plusieurs feuilles de style ? Si oui comment indiquer quand utiliser tel ou telle feuille ?

    Merci.

  4. #4
    Membre Expert Avatar de HiRoN
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 035
    Par défaut
    Tu peux très bien faire Page 2 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <div>
    <p>Contenu Page 2</p>
    </div>
    Donc sans balise <html> & <head>

    Et mettre dans page1 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <html>
    <head>
    <LINK rel=stylesheet type="text/css" href="style_Page1.css">
    <LINK rel=stylesheet type="text/css" href="style_Page2.css">
    </head>
    
    <body>
    <div> Blablabla Page1</div>
    <?php include('page2.php');
    </body>
    </html>
    Ce qui évite d'avoir les balises <html> & <head> en double, mais Page2 doit être obligatoire contenu dans une autre page (étant dépourvu de DocType et autres balises essentielles au fonctionnement d'une page normale).

    Le fichier CSS style_Page2 agira donc sur le code généré...

    Car il sera du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <html>
    <head>
    <LINK rel=stylesheet type="text/css" href="style_Page1.css">
    <LINK rel=stylesheet type="text/css" href="style_Page2.css">
    </head>
    
    <body>
    <div> Blablabla Page1</div>
    <div>
    <p>Contenu Page 2</p>
    </div>
    </body>
    </html>
    Pensez à utiliser les ressources disponibles en Dev. Web :
    (x)HTML : Cours (X)HTML / FAQ (X)HTML
    CSS : Cours CSS / FAQ CSS / Galerie CSS
    Javascript : Cours / FAQ / Sources
    Mon site : Développeur Web Freelance

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 224
    Par défaut
    Oui c'est sur je peux créer une page sans balises html et head, mais c'est pas le but de l'operation. J'ai bel et bien une vraie page html, visible dans un browser, donc avec toutes ses balises.
    Je pense que j'ais pas d'autre solution que de créer une fonction php qui après l'include enlève le code inutile. Bon soit ...

    Sinon concernant les feuilles de style, je comprends pas bien. Si je fais ça dans Page1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <head>
    <LINK rel=stylesheet type="text/css" href="style_Page1.css">
    <LINK rel=stylesheet type="text/css" href="style_Page2.css">
    </head>
    Et que dans les deux .css je modifie <p> par exemple. Quelle feuille de style sera utilisée ?

  6. #6
    Membre Expert Avatar de HiRoN
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 035
    Par défaut
    Mon exemple était pensé si p était seulement défini dans style_Page2.css.
    C'était pour montrer que style_page2.css ne pouvait agir que sur le contenu de l'include (donc page2) si tu le souhaité...

    Après, il est clair qu'il vaut mieu dans ce cas, englober les éléments de type p,h1,h2 etc... dans un div de façon à bien les appeler et qu'une modification sur style_page1.css n'entraîne pas de modifications sur le contenu de l'include (si tu m'as compris )
    Pensez à utiliser les ressources disponibles en Dev. Web :
    (x)HTML : Cours (X)HTML / FAQ (X)HTML
    CSS : Cours CSS / FAQ CSS / Galerie CSS
    Javascript : Cours / FAQ / Sources
    Mon site : Développeur Web Freelance

Discussions similaires

  1. Include header+css = Pas de css
    Par malgach dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 13/10/2012, 12h44
  2. probleme positionnement include css
    Par sd110676 dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 18/06/2007, 16h31
  3. Réponses: 4
    Dernier message: 01/04/2007, 13h05
  4. Style Switcher CSS/PHP > redirection avec 2 includes
    Par swaag dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 11/12/2006, 15h50
  5. CSS : fichier include différent selon chaque resolution
    Par Sylvain245 dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 31/03/2005, 17h57

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