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 :

affichage de mon site en fonction de la résolution d'écran


Sujet :

CSS

  1. #1
    Membre du Club Avatar de poupouille
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 72
    Points : 50
    Points
    50
    Par défaut affichage de mon site en fonction de la résolution d'écran
    Bonjour a tous

    j'ai trouvé plusieurs topics à ce sujet, mais je ne parviens pas résoudre mon problème. Mon site s'affiche correctement pour ma résolution (1680x1050) et aussi pour du 1280. J'ai réussi à le centrer pour ces 2 résolutions, mais dès que la résolution est plus petite, le site est trop gros par rapport à la page.
    Beaucoup parle de pourcentage à la place d'une taille en pixel. J'ai essayé, mais le site n'était toujours pas adapté et il n'était plus centré pour les résolutions où avant je n'avais pas de problème.
    Comment puis-je résoudre ce problème? Dois-je commencé par m'occuper de l'adaptation de la taille de l'écran avant le centrage, ou l'ordre importe peu? Dois-je recalculer toutes les tailles et tout et tout?
    Comment fonctionne la méthode des pourcentages?
    Merci Bonne journée

    voila mon site:
    http://une-plume.net/munich/test2.php

    le CSS:
    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
     
    body{
        width:1208px;
        height:1987px;
        margin:auto; 
        padding:0;
        background:black;
    }
     
    .clearer{
        clear: both;
    }
     
    #all{
        /* float:left; */
        float:middle; 
        margin: auto;
        width:1168px;  
        height:1807px; 
    }
     
    #titre{
        float:left;
        width:1168px;
        height:80px;
        text-align:center;
        padding-top:60px;
        font-size:22px;
        color:white;
        font-family:Euphemia,arial;
        font-weight:bold;
    }
     
    #main{
        float:left;
        width:1168px;
        height:1648px;
    }
     
        .ligne{
            float:left;
            width:1168px;
            height:436px;
        }
     
            .photo{
                float:left;
                display:inline;
                width:564px;
                height:415px;
                padding-left:10px;    
                padding-right:10px;
                padding-bottom:10px;
                padding-top:10px;
                border-left:blue solid 1px;
                border-right:blue solid 1px;
                border-top:blue solid 1px;
                border-bottom:blue solid 1px;        
            }
     
                .img{
                    float:left;
                    width:562px;
                    height:412px;
                    border-left:white solid 1px;
                    border-right:white solid 1px;
                    border-top:white solid 1px;
                    border-bottom:white solid 1px;                
                }
     
            .descriptif{
                float:left;
                display:inline;
                width:561px; 
                height:415px;
                padding-left:10px;    
                padding-right:10px;
                padding-bottom:10px;
                padding-top:10px;
                border-bottom:blue solid 1px;
                border-right:blue solid 1px;
                border-top:blue solid 1px;
                font-size:12;
                color:white;
                font-family:Euphemia,arial;
            }
                .date{
                    float:left;
                    width:545px;
                    height:24px;
                    font-size:12;
                    color:white;
                    font-family:Euphemia,arial;
                    font-weight:bold;
                }
     
                .desc{
                    float:left;
                    width:541px;
                    height:361px;
                    padding-top:10px;
                    padding-left:10px;
                    padding-right:10px;
                    padding-bottom:10px;
                    font-size:12;
                    color:white;
                    font-family:Euphemia,arial;
                    overflow:auto;
                }
    et mon php:
    Code php : 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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    <?php
        $serveur = 'localhost';
        $login =  '';
        $mdp = '';
        $base = 'uneplumemunich';
        $connexion=mysql_connect($serveur,$login,$mdp)or die("connexion impossible");
        mysql_select_db($base,$connexion)or die("connexion à la base impossible");
    ?>
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
        <head>
            <title>Mon stage à Munich</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
            <link rel="stylesheet" type="text/css" href="styles2.css">
            <script type="text/javascript">
                var page_courante=1;
                var nb_pages=1;
                function pagePrecedente() {
                   if (page_courante==1) {
                      alert("Vous êtes déjà sur la première page !");
                   } else {
                      affichePage(page_courante-1);
                   }
                }
                function pageSuivante() {
                   if (page_courante==nbpages) {
                      alert("Vous êtes déjà sur la dernière page !");
                   } else {
                      affichePage(page_courante+1);
                   }
                }
                function affichePage (page){
                   document.getElementById("page"+page_courante).style.display = "none";
                   document.getElementById("lienpage"+page_courante).style.fontWeight = "normal";
                   document.getElementById("page"+page).style.display = "block";
                   document.getElementById("lienpage"+page).style.fontWeight = "bold";
                   page_courante=page;
     
                }
            </script>
        </head>
        <body>
        <div id='all'>
            <div id="titre">MON STAGE A MUNICH</div>
     
        <?php
            $requete = "SELECT photos.id, photos.nom, photos.date, photos.descriptif FROM photos";
            $resultat = mysql_query($requete);
            $cpt = mysql_num_rows($resultat);//Nombre de résultats de la requète
            $rpp = 4;//Nombre de résultats à afficher par page
            $nbpages = ceil($cpt / $rpp);//Calcul du nombre de pages total
            $cpt2 = 0;//Compteur permettant de limiter le nombre de résultats par page à rpp
            $cpt3 = 0;//Compteur permettant vérifier  lorsque tous les enregistrement ont étés parcourus
            $cpt4 = 1;//Compteur permettant de donner un id à chaque calque
     
            if ($nbpages > 1) {
                //Affichage des liens vers les numéros de page
                echo "<p>Page :";
                $stylelien1=" style=\"font-weight: bold;\"";
                for ($i=1; $i<=$nbpages; $i++) {
                    echo " <a href=\"#\" id=\"lienpage".$i."\" ".$stylelien1."onClick=\"javascript:affichePage(".$i.")\">".$i."</a>";
                    $stylelien1="";
               }
               echo "</p>";
            }
     
            //Affichage des calques
            while($ligne=mysql_fetch_array($resultat)){
               if ($cpt2 == 0) {
                    if ($cpt4 == 1) {//Lors de la requète, on affiche les premiers enregistrements
                        echo "<div id=\"page1\" style=\"display: inline;\">";
                    } else {//Ensuite, les enregistements suivants sont cachés
                        echo "<div id=\"page".$cpt4."\" style=\"display: none;\">";
                    }
                    echo "<div id='main'>";
                    $cpt4++;
                }
                $cpt2++;
                $cpt3++;
                echo "<div class='ligne'>
                        <div class='photo'><img src='./photo/".$ligne['nom']."' class='img'/></div>
                        <div class='descriptif'>
                            <div class='date'>".$ligne['date']."</div>
                            <div class='desc'>".$ligne['descriptif']."</div>                     </div>
                        <div class='clearer'></div>
                    </div>
                    <div class='clearer'></div>";
                if ($cpt2 == $rpp || $cpt3 == $cpt) {//Lorsque l'on affiché rpp enregistrements ou que tous les enregistrements ont été affichés, on ferme le calque
                    echo "</div></div>";
                    $cpt2 = 0;
                }
            }
        ?>
                </div> 
            </div>
            <script type="text/javascript">
       var nbpages=<?php echo $nbpages; ?>
    </script>
        </body>
    </html>

  2. #2
    Membre émérite Avatar de Erwan31
    Profil pro
    Inscrit en
    Février 2008
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 2 177
    Points : 2 444
    Points
    2 444
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #all{
    	/* float:left; */
    	float:middle; 
    	margin: auto;
    	width:1168px;  
    	height:1807px; 
    }
    float:middle Bien tenté mais cette valeur n'existe pas
    Ce que tu as choisi là (taille fixe au delà de 1000px ou de 775px) est à la première chose à éviter.

    Tu dois faire un choix en fonction de ce qui n'est ou n'est pas ergonomiquement ou esthétiquement préjudiciable pour tes pages.
    J'inclus dans l'ergonomie, les longueur de lignes qui ne devraient
    pas dépasser 70 à 80 caractères sachant que la justification optimale varie
    entre 30 et 55 caractères.

    Selon ta mise en page lé résolution maximale pourra être de 980px ou alors 1200px par exemple.
    Pour ma part je déconseille des largeur d'interface supèrieures.

    Tout dépendra aussi à qui s'adresse ton site et sur quel support tu souhaiteras le rendre visible, par exemple pour les petites écrans (PDA, smartphone, Iphone...)

    Si on oublie les petits écran et si ton site s'adresse à un très large public,
    je te conseillerais de prévoir une mise en page pour du 800X600 même si son pourcentage décroit de jour en jour.

    Donc ce qui donnera par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    #all{
    	margin: auto;
    	max-width:1000px;
            width: 90%;
            /*min-width: 775px; eventuel*/
    }
    De cette manière ton interface aura toujours des marges latérales
    et ne dépassera jamais les 1000px de large.
    Un min-width éviterait que la largeur de l'interface descende au dessous de 775px en cas de redimensionnement de la zone d'affichage (le viewport)
    mais si tu peux éviter c'est mieux.

    Trouver sur le net le correctif pour IE6 et infèrieur pour qu'il prenne en compte les max/min-width.


    Eviter de spécifier des hauteur pour adapter la hauteur de ton fond de page
    en cas de redimensionnement du texte ou en cas d'ajout de contenu.

    Attention je vois que tout ou presque tout tes éléments sont flottants.
    Est ce vraiment nécessaire?

  3. #3
    Membre du Club Avatar de poupouille
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 72
    Points : 50
    Points
    50
    Par défaut
    Salut
    merci pour ta réponse et tous les conseils qui s'en suivent!!!
    j'aimerais que mon site soit visible sur écran pc donc la plus basse résolution devra être 800x600.
    Je ne sais pas s'il est nécessaire de mettre tous les éléments en float, mais je fais ça pour savoir quel est le point d'ancrage de mes div.
    Si je choisis ta solution, à savoir width:1000px, je vais devoir tout recalculer ???
    dommage pour moi, je n'ai pas été très efficace, j'aurais du penser à ça plus tôt.
    en tout cas, je vais essayer, bidouiller pour voir ce que ça donne et puis si je réussis, tant mieux, sinon, je reviendrais peut être sur le forum!
    bonne journée
    Sophie

  4. #4
    Membre du Club Avatar de poupouille
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 72
    Points : 50
    Points
    50
    Par défaut
    C'est remoi.
    Si j'ai bien compris en utilisant width:1000px, mon site s'adaptera aux résolutions de plus de 1000px de largeur, mais pas à celles inférieures?
    Donc si je revois toutes mes largeurs en basant sur 800px,je ne devrais pas avoir de problèmes avec les résolutions supérieures, et le site "grossira" plus la résolution sera élevée?
    C'est bien ça?
    je vais essayer.

  5. #5
    Membre du Club Avatar de poupouille
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 72
    Points : 50
    Points
    50
    Par défaut
    Ouhla je viens de penser à un truc: je vais devoir redimensionner toutes mes photos???

  6. #6
    Membre émérite Avatar de Erwan31
    Profil pro
    Inscrit en
    Février 2008
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 2 177
    Points : 2 444
    Points
    2 444
    Par défaut
    Ouhla je viens de penser à un truc: je vais devoir redimensionner toutes mes photos???
    Pas forcément.

    Je ne sais pas s'il est nécessaire de mettre tous les éléments en float, mais je fais ça pour savoir quel est le point d'ancrage de mes div.
    Si je choisis ta solution, à savoir width:1000px, je vais devoir tout recalculer ???
    Attention, pour faire en sorte que tous tes div servent de référents pour leur descendant en position:absolute, ce n'est pas la propriété float mais
    position:relative qui s'en chargera.
    Eviter autant que possible les multiples flottants dont les effets sur la mise en page sont parfois différents d'un navigateur à l'autre ou imprévisibles. D'autre part, il faut pouvoir être en mesure d'anticiper et de contourner les nombreux bugs IE6 inhérents a l'utilisation des flottant.
    Mais un des avantages des flottants est qu'ils élimineront d'emblé les bugs d'IE liés au haslayout.

    Un design fluide en % implique de repenser ta mise en page dans son ensemble avec des largeurs spécifiées en %, d'autres en pixels ou sans largeur, ce qui demande une bonne anticipation sur les comportement qui vont en découler.

    Mais sans une maquette image ou un lien, difficile de t'aiguiller

  7. #7
    Membre émérite Avatar de Erwan31
    Profil pro
    Inscrit en
    Février 2008
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 2 177
    Points : 2 444
    Points
    2 444
    Par défaut
    Autre chose:
    Toujours préciser l'unité en CSS contrairement aux valeur d'attribut HTML.
    Il est préférable d'utiliser une taille relative en % dans le body entre 75% et 85% (pour en savoir plus lire cet article et celui-là)

  8. #8
    Membre du Club Avatar de poupouille
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 72
    Points : 50
    Points
    50
    Par défaut
    Salut

    j'ai pas encore eu le temps de tout regarder et tester ce que tu m'avais dit. Mais le peu que j'ai fais a suffit à me faire baisser les bras le week end dernier
    En attendant de me replonger dedans, voici le lien du petit site:
    http://www.une-plume.net/munich/test2.php

    avec des résolutions inférieures a 1680 les photos sont déformées, le site est moche comme tout, c'est bien dommage, parce que le but c'est quand même de garder contact avec mes amis et ma famille et de leur faire découvrir Munich avec de zoolies photos.
    merci
    bonne soirée a+

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/05/2013, 12h00
  2. [CSS 2.1] Affichage de mon site avec n'importe quelle résolution
    Par beegees dans le forum Mise en page CSS
    Réponses: 13
    Dernier message: 12/03/2011, 11h10
  3. [CSS] Probleme avec l'affichage de mon site :
    Par vampyrx dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 28/08/2005, 23h23
  4. Probleme affichage de mon site
    Par Braq dans le forum Webdesign & Ergonomie
    Réponses: 15
    Dernier message: 10/08/2005, 14h08
  5. Affichage de mon site en fonction de l'écran
    Par mobeida dans le forum Webdesign & Ergonomie
    Réponses: 1
    Dernier message: 07/08/2005, 18h08

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