Bonjour,
Voici un problème sur la taille des fenêtre en fonction de la taille de l'écran.
Préalable : je ne souhaite pas utiliser javascript donc je ne peux pas connaître la résolution de l'écran du client. De plus j'ai testé mon script avec la même résolution sur des écrans de taille différente. L'erreur se produit avec les écran de PC portable.
Problème: je crée 2 fenêtres à l'écran proches l'une de l'autre et chacune contient un champ select multiple. La création se fait via une fonction (fen_generique) qui crée la taille en pourcentage.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4function fen_generique($left,$top,$right,$bottom,$large,$haut) { echo "<div ID='layer2' STYLE='margin:5; padding:1; border-width:1pt; border-color:blue; border-style:solid;background-color:{$_SESSION['couleur_fenetre']};width:".$large."%; height:".$haut."%; position:absolute; left:".$left."%; top:".$top."%; z-index:1';'>"; }
Voici mes 2 fenêtres :
la première :
la seconde:
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 fen_generique(31,15,0,0,22,20) ;style1(); tabu(1);echo $msg_services_immobiliers; echo "<hr>"; $sql="SELECT nom FROM equipements WHERE `type_equipement` =4 and `ref_salle` = '$ref_salle' "; $result=mysql_query($sql); while($tt = mysql_fetch_assoc($result)) { $services_immobiliers[]=$tt[nom]; } $table="referentiel_" . $_SESSION['langue']; $sql="SELECT * FROM $table WHERE `objet` = 'services immobiliers'"; $resultat=mysql_query($sql);echo "<center>"; echo "<select name='services_immobiliers[]' STYLE=' background-color:{$_SESSION['couleur_champ1']};width:90%' size='7' multiple='multiple' >"; while ($row = mysql_fetch_assoc($resultat)) { if ((isset($services_immobiliers)) and (in_array($row[ref_referentiel],$services_immobiliers))) { echo "<option value= {$row[ref_referentiel]} selected='selected' >{$row[libelle]}</option>"; }else{ echo "<option value= {$row[ref_referentiel]} > $row[libelle] </option>"; } } echo "</select>"; echo "</center>"; echo "</div>";
Sur un petit écran (taille physique) malgré une haute définition, la fenêtre n°1 (située au dessus de la seconde) empiète sur la fenêtre n°2 même lorsque je passe en affichage plein écran.
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 //------------------------------------------------------------------------------------- équipement télécommunications fen_generique(31,36,0,0,22,20) ;style1(); tabu(1);echo $msg_telecommunications; echo "<hr>"; $sql="SELECT nom FROM equipements WHERE `type_equipement` =5 and `ref_salle` = '$ref_salle' "; $result=mysql_query($sql); while($tt = mysql_fetch_assoc($result)) { $telecommunications[]=$tt[nom]; } $sql="SELECT * FROM $table WHERE `objet` = 'télécommunications' ORDER BY libelle"; $resultat=mysql_query($sql);echo "<center>"; echo "<select name='telecommunications[]' STYLE=' background-color:{$_SESSION['couleur_champ1']};width:90%' size='7' multiple='multiple' >"; while ($row = mysql_fetch_assoc($resultat)) { if ((isset($telecommunications)) and (in_array($row[ref_referentiel],$telecommunications))) { echo "<option value= {$row[ref_referentiel]} selected='selected' >{$row[libelle]}</option>"; }else{ echo "<option value= {$row[ref_referentiel]} > $row[libelle] </option>"; } } echo "</select>"; echo "</center>"; echo "</div>";
Je ne comprend pas ce comportement (IE). Mes fenêtre sont créées e pourcentage.
D'où cela vient - il ?
- du nombre de ligne du select ?
- de la taille de la police exprimée en pt et non en % ?
Si vous connaissez la réponse, je vous remercie de me faire partager votre connaissance.
![]()
Partager