Problème de résolution [Résolu]

Signaler
Messages postés
105
Date d'inscription
dimanche 9 août 2009
Statut
Membre
Dernière intervention
28 avril 2021
-
 Grandul -
Bonjour,

Je suis débutant et je n'arrive pas à faire en sorte que mon site s'adapte automatiquement à la résolution d'écran de la personne qui le visite.

Pourriez-vous m'aider svp ?

Merci d'avance.

Voilà ce que cela devrait donner sur n'importe quel écran :



Voici mon code CSS si besoin plus bas vous trouverez le code de ma page index.php comme exemple :

/* On travaille sur la balise body, donc sur TOUTE la page */
body
{
 /* Fixe l'image en haut à gauche de la page */
 background-image:url(../images/background.png);
 background-repeat: no-repeat;
 position: fixed; 
 top: 0; 
 left: 0;
 bottom: 0;
 /* Préserve le ratio de l'image */
 min-width: 100%;
 min-height: 100%;
 width: auto;
 height: auto;
}
.heure
{
 width:82px; 
 height:24px; 
 position:absolute; 
 left:1120px; 
 top:311px; 
 z-index:1;
}
.horloge
{
 width:68px;
 height:23px;
 position:absolute;
 left:1201px;
 top:311px;
 z-index:1;
 font-weight: bold;
 color:white;
}
.logo
{
 width:41px;
 height:41px;
 position:absolute;
 left:820px;
 top:296px;
 z-index:1;
}
.home
{
 width:83px;
 height:53px;
 position:absolute;
 left:263px;
 top:321px;
 z-index:1;
}
.appels
{
 width:74px;
 height:49px;
 position:absolute;
 left:268px;
 top:417px;
 z-index:1;
}
.mails
{
 width:74px;
 height:49px;
 position:absolute;
 left:264px;
 top:510px;
 z-index:1;
}
.socdocs
{
 width:72px;
 height:50px;
 position:absolute;
 left:259px;
 top:596px;
 z-index:1;
}
.sicknessff
{
 width:77px;
 height:70px;
 position:absolute;
 left:258px;
 top:673px;
 z-index:1;
}
.contenu
{
 width:927px;
 height:387px;
 position:absolute;
 left:367px;
 top:350px;
 z-index:1;
}
p
{
    font-size: 22px; /* Paragraphes de 22 pixels */
 text-align: left;
}



Voici le code de ma page index.php comme exemple :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Cockpit Start People Mid-Office 1st-line</title>
<meta charset="UTF-8">
<link rel="icon" href="images/favicon.ico" />
<link rel="stylesheet" href="css/style.css" />
<script type="text/javascript">
function horloge(){
                var div = document.getElementById("horloge");
                var heure = new Date();
                var hours = (heure.getHours()<10)?"0"+heure.getHours():heure.getHours();
                var minutes = (heure.getMinutes()<10)?"0"+heure.getMinutes():heure.getMinutes();
                var seconds = (heure.getSeconds()<10)?"0"+heure.getSeconds():heure.getSeconds();
                div.firstChild.nodeValue = hours+":"+minutes+":"+seconds;
                window.setTimeout("horloge()",1000);
}

horloge();
</script>
</head>
<?php
header('Content-type: text/html; charset=utf-8');
$current_time=date('d/m/Y');
?>
<body>

<div id="heure" class="heure">
<font color="white"><b><?php echo $current_time;?></b></font></div>
<div id="horloge" class="horloge">
<font color="white"><b><script type="text/javascript" color="white">horloge();</script></font>
</div>

<div id="logo" class="logo">
<img src="images/logo.png" width="39" height="37" border="0">
</div>

<div id="home" class="home">
<a href="index.php"><img src="images/home-green.png" width="77" height="49" border="0" alt="Home"></a>
</div>

<div id="appels" class="appels">
<a href="appels.php"><img src="images/appels-white.png" width="72" height="46" border="0" alt="Appels"></a>
</div>

<div id="mails" class="mails">
<a href="mails.php"><img src="images/mails-white.png" width="72" height="46" border="0" alt="Mails"></a>
</div>

<div id="socdocs" class="socdocs">
<a href="socdocs.php"><img src="images/socdocs-white.png" width="72" height="46" border="0" alt="Socdocs"></a>
</div>

<div id="sicknessff" class="sicknessff">
    <p><a href="sickness.php"><img src="images/sickness-white.png" width="77" height="51" border="0" alt="Sickness" align="absmiddle"></a>
</p>
</div>
<div id="contenu" class="contenu">
<font color="#35fb35">Couleur icone active.</font><br><font color="white">Couleur icone inactive.</font></div>
</body>

</html>



Configuration: Windows Entreprise 10 / Chrome 90.0.4430.85

1 réponse

Messages postés
32276
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
3 mai 2021
3 448
Bonjour,

Premier souci, tu as utilisé des dimensions en Pixelles ... donc fixes ...
Il faut que tu fasses du "proportionnel" ( pourcentage, em ... )
et, dans l'idéal, que tu te tournes vers les queries pour être en mesure de gérer ton affichage en fonction du materiel/résolution utilisée.

Messages postés
105
Date d'inscription
dimanche 9 août 2009
Statut
Membre
Dernière intervention
28 avril 2021

Le problème c’est que j’ai jamais utilisé de proportionnel, ni de queries, j’ai essayé plusieurs choses, je suis très amateur et si j’arrive pas à régler ce soucis cela me bloque dans le reste de mon projet et j’ai encore beaucoup à faire.

Je vais chercher de ce côté ce que je peux trouver...

Merci
>
Messages postés
105
Date d'inscription
dimanche 9 août 2009
Statut
Membre
Dernière intervention
28 avril 2021

Salut,
du proportionnel pourtant vous en utilisez dans vos premières règles CSS:
 min-height: 100%;

100% c'est bien proportionnel à la page!

Par contre pas compris votre commentaire sur la ligne d'avant:
/* Préserve le ratio de l'image */

Quelle image? La règle étant sur la balise body c'est sur celle ci qu'elle s'applique et non sur une image.

Bref c'est simple , vos valeurs sont "fixées" et correspondent à un écran spécifique(le vôtre?)

 width:72px;
 height:50px;


Hors 72 pixels(et non pixelles) c'est plus ou moins d'espace selon la taille de l'écran et sa résolution.
Donc ça peut pas être juste pour tout les écrans.

Par contre

width:3%;


C'est 3% de la largeur du container de l'élément qui a le style, donc c'est 3% de n'importe quelle dimension.
Bien sûr j'ai mis 3% au hasard, c'est à vous d'indiquer la bonne valeur(et les autres bien sûr en proportions).

Il y aussi les media queries qui permettent d'indiquer plusieurs mises en page selon les échelles de dimensions que l'on veut. Parois ce sont les 2 méthodes qu'il faut employer parce que c'est difficile de tenir compte des rapports largeur*hauteur des résolutions possibles(notamment sur mobile mais aussi si l'utilisateur redimensionne sa fenêtre).


Explication en détails des media queries:

https://www.w3schools.com/Css/css3_mediaqueries_ex.asp