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 :

plusieurs css pour une page


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2005
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 68
    Par défaut plusieurs css pour une page
    Bonjour,

    j'utilise des includes php pour construire mon site. il est constitué de 4 élément.
    - un titre
    - un Menu
    - un contenu
    - un pied de page

    pour chaque partie j'ai une page html (php parfois mais bon ca reveint presqu'au même)

    seulement pour chaque page j'ai une feuille de style. donc j'ai cette entête.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <html>
    <head>
    	<link href="..\css\miseenpage.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
    ilood m'a dit que ce n'est pas une bonne construction de page.

    comment faire autrement?

  2. #2
    Membre chevronné
    Avatar de ilood
    Inscrit en
    Mars 2005
    Messages
    468
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 468
    Par défaut
    Dans la page php qui contient ta déclaration de feuille de style il faut que tu mettes toutes les autres feuilles de styles.

    Le but final est d'obtenir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <html>
    <head>
    <link href="..." rel="..." type="...">
    <link href="..." rel="..." type="...">
    <link href="..." rel="..." type="...">
    </head>
    <body>
    ...
    </body>
    </html>
    Si tu fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <html>
    <head>
    <?
       include("stylesheet.php");
    ?></head>
    <body>
    ...
    </body>
    </html>
    Ton fichier stylesheet.php doit contenir exactement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <link href="..." rel="..." type="...">
    <link href="..." rel="..."  type="...">
    <link href="..." rel="..."  type="...">
    pour obtenir le même résultat que ci-dessus.

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2005
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 68
    Par défaut
    désolé mais je n'ai pas bien compris ton explication.

    je te donne plus d'info.

    voici le php "index.php" le seul à être lancé. c'est le paramètre "page" qui indique la page demandée :

    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    <html>
    <head>
    	<link href="file\css\standard.css" rel="stylesheet" type="text/css" />
    </head>
    <body oncontextmenu="return false;">
     
    	<div class="entete">
     
    <?php
      	...
     
    	// test si l'id du menu est correcte
    	// ---------------------------------
    	if (($page>7) or ($page< 0))
          	$id_page = 0;
    	else
    		$id_page = $page;
    	// ---------------------------------
     
    	// Affiche le titre de la page
    	// ---------------------------------
    	echo '<div class="titre">'.$titre[$id_page].'</div>';
    	// ---------------------------------
     
    	// affiche le menu
    	// ---------------------------------
    	include('file/menu.php');
    	// ---------------------------------
     
    	echo '</div><div class="contenu">';
     
    		include 'file/src/'.$liens[$id_page].'.php';
     
     
    	echo '</div>';
     
    	// affiche le pied de page
    	// ---------------------------------
    	include('file/html/pieddepage.htm');
    	// ---------------------------------
    ?>
    </body>
    </html>
    cette page à une feuille de style défissant la mise en page global "standard.css".

    il inclut comme on le voit 3 parties.
    - le titre (simple div)
    - un fichier php définissent le menu (elle a sa propre page de style "menu.css")
    - un fichier définissant le contenu (fichier html ou php qui a aussi son propre fichier css)
    - un fichier html définissant le pied de page elle reprend la feuille de style global "standard.css".

    pour le moment j'ai retiré, sur tous les fichiers incluts, tout les <body> et <head> en laisant simplement le lien du fichier ccs.

    voici le debut du fichier "menu.php"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <link href="file/css/menu.css" rel="stylesheet" type="text/css" />
     
    <div class="menu">
    ...
    merci de me donner la demarche pour inclure mes css comme il faut pour qu'il soit prise en compte.

    voici la page on l'on peut tester :
    http://j.miot.free.fr/new/index.php?page=4

    encore merci pour votre aide.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Par défaut
    Comme l'a expliqué ilood, tu dois inclure tous tes css (<link href="..." rel="..." type="..."> ) dans le tag <head></head>.
    Par contre, vu que tu utilises apparement une page pour afficher tout ton site, tu va devoir faire un appel dynamique pour ton css dédié au contenu appelé (du même style l'appel dynamique de ton contenu).

  5. #5
    Membre éprouvé Avatar de Death83
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 667
    Par défaut
    Juste une petite remarque.

    L'avantage d'utiliser plusieurs feuilles de style est qu'elle ne sont pas focrément toute appelé lorsqu'un visiteurs visite le site.

    La methode avec l'include n'est donc pas la plus conseillé. En mettant manuellement les
    <link href="..." rel="..." type="...">
    sur chacune des pages faisant des catégorie "logique". On peut gagner un peu de bande passante en diminuant la taille des pages.

    Par exemple les styles pour un forum ne seront appelé que si une personne visite le forum...

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Par défaut
    Je suis d'accord et c'est pour cela que je proposais un appel dynamique (en fonction de la page à appeler). Le tag <head> etant défini dans la page index.php, l'appel des css doit etre défini dans cette page et ne peut etre défini dans les pages appelées.

  7. #7
    Membre confirmé
    Inscrit en
    Septembre 2005
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 68
    Par défaut
    Voilà j'ai suivi vos conseils et ca fonctionne très bien.

    j'ai fait une autre erreur en fait c'est que j'avais pris des "\" et des "/" dans les liens des fichiers.

    maintenant tout fonctionne.

    merci à vous.

    voici ce que j'ai fait :

    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
    <html>
    <head>
    	<link href="file/css/standard.css" rel="stylesheet" type="text/css" />
    	<link href="file/css/menu.css" rel="stylesheet" type="text/css" />
     
    <?php
    	// On definie les fichiers CSS pour la mise en page des fichiers appelés
    	// ----------------------------------------------------
    	$file_css = array("miseenpage", "miseenpage", "miseenpage", "miseenpage"
    					, "miseenpage", "miseenpage", "miseenpage");
    	// ----------------------------------------------------
     
    	echo '<link href="file/css/'.$file_css[$page].'.css" rel="stylesheet" type="text/css" />'
     
    ?>
     
    </head>

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

Discussions similaires

  1. CSS pour une page a imprimer
    Par zerkos dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 06/01/2011, 07h32
  2. Changement de CSS pour une même page html, erreur sous IE
    Par shadow54 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 10/02/2010, 19h38
  3. plusieurs feuilles css pour un page HTML
    Par sam01 dans le forum Mise en page CSS
    Réponses: 11
    Dernier message: 07/01/2009, 11h49
  4. [CSS] Div fixed pour une page.
    Par hazardous_material dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 31/07/2006, 13h32
  5. plusieurs formulaires pour une seule page ?
    Par lifecraft dans le forum ASP
    Réponses: 9
    Dernier message: 01/02/2006, 09h48

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