|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2007 Messages : 58 ![]() |
Salut tout le monde,
Voilà j'ai un gros problème, j'ai terminé mon site et même mis en ligne, tout fonctionne sauf ... l'ascenseur (le scrolleur). Donc si l'écran est plus petit que prévu, tout une partie de la page ne s'affiche pas ! Pourtant j'essaye de forcer l'affichage de l'ascenseur par un overflow: visible, ou overflow: auto dans la balise body ou html, mais ça ne marche pas. avec un overflow: scroll, l'ascenseur s'affiche mais il est désactivé. Mon site est fait d'images (banière) et de différents panels contenant du texte. Une idée ? |
|
|
00
|
|
|
#2 |
![]() ![]() Michel DirixDoctorant Inscription : juin 2009 Messages : 718 ![]() |
Salut,
Tu pourrais mettre un peu de code pour t'aider?
__________________
Outil UML en ligne : http://www.genmymodel.com La communauté GenMyModel pour le feedback et les avis : https://plus.google.com/u/0/communit...37220192818520 Page perso : http://personalpage.dirix.cloudbees.net/ |
|
00
|
|
|
#3 | ||
|
Nouveau Membre du Club
![]() Inscription : novembre 2007 Messages : 58 ![]() |
yo,
J'ai comme l'impression que les navigateurs interprètent la page comme si elle avait une largeur et une hauteur de 0, puisque finalement il n'y a que des containers JavaScript avec du texte dedans ? Voici le code que j'ai épuré (les panels peuvent contenir des objets html et/ou des images) : Code :
|
||
|
|
00
|
|
|
#4 | ||
|
Nouveau Membre du Club
![]() Inscription : novembre 2007 Messages : 58 ![]() |
Les styles CSS utilisés ci-dessus (mais je ne pense pas que cela ait quoi que ce soit à voir avec le problème) :
Code :
|
||
|
|
00
|
|
|
#5 |
|
Membre confirmé
![]() ![]() Inscription : novembre 2008 Messages : 152 ![]() |
Si tu rajoutes
dans ta classe .center de ton CSS ? |
|
|
00
|
|
|
#6 |
|
Membre confirmé
![]() ![]() Inscription : novembre 2008 Messages : 152 ![]() |
Ou encore :
Code :
dlp.getElement().getParentElement().getParentElement().getStyle().setOverflow(Overflow.VISIBLE); |
|
|
00
|
|
|
#7 | |||
|
Nouveau Membre du Club
![]() Inscription : novembre 2007 Messages : 58 ![]() |
Citation:
J'ai ajouté 'overflow: auto' dans la classe .center ==> pas de changement J'ai essayé 'dlp.getElement().getParentElement().getParentElement().getStyle().setOverflow(Overflow.VISIBLE);' et j'ai l'exception suivante : Code :
|
|||
|
|
00
|
|
|
#8 | |
|
Membre confirmé
![]() ![]() Inscription : novembre 2008 Messages : 152 ![]() |
Citation:
Tu as essayé de debuguer avec FireBug ? voir si le paramètre overflow:auto est bien pris en compte et voir si les composants à l'intérieur de la div qui reçoit le paramètre overflow:auto ont bien des dimensions correctes ? |
|
|
|
00
|
|
|
#9 | |||
|
Nouveau Membre du Club
![]() Inscription : novembre 2007 Messages : 58 ![]() |
Citation:
Je pense que ça vient de TabLayoutPanel car si je prend l'exemple du showCase de GWT sur le TabLayoutPanel et que j'insère une image de 345 x 420 pixels dans un des des deux onglets, lorsque je réduit la résolution de mon écran (Ctrl + molette et/ou via les propriétés de l'affichage écran) ==> je n'ai pas d'ascenseur vertical : l'image devient tronquée. Par contre, j'ai quand même l'ascenseur horizontal. Je commence à me demander si ce n'est pas plutôt un bug gwt ... Voici le code simplissime qui montre qu'on a pas d'ascenseur vertical : Code :
Et bien si j'abaisse la résolution de mon écran comme expliqué précédemment j'ai pas d'ascenseur non plus : je ne peux plus voir tous leurs onglets Je ne pense pas que ça vienne de mon navigateur ou PC puisque je n'ai pas ce problème sur d'autres sites ... ça veut dire que leur page peut ne pas être entièrement visible sur un smartphone, par exemple, et ça c'est un sérieux problème ... |
|||
|
|
00
|
|
|
#10 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2007 Messages : 58 ![]() |
Du nouveau :
Le problème se pose sous Firefox, mais pas sous Internet Explorer ! Attention ! je parle non seulement pour mon site, mais même pour le site de gwt.google en personne !!! (page sur la disposition des panneaux Tab). Et je viens de vérifier sur un autre PC chez un ami, c'est pareil. Avec Firefox, il n'y ni ascenseur vertical, ni ascenseur horizontal lorsqu'on baisse la résolution de l'écran ou lorsqu'on essaye de zoomer, une partie de la page est alors tronquée !!! Par contre avec Internet Explorer, ça marche. Pour moi c'est un bug provoqué par l'utilisation de l'objet TabLayoutPanel avec Firefox, et il me semble que ça pose un sacré problème pour l'utilisation de GWT... Merci de vos avis, si vous avez IE et Firefox, vous pouvez facilement vérifier |
|
|
00
|
|
|
#11 | |
|
Membre confirmé
![]() ![]() Inscription : novembre 2008 Messages : 152 ![]() |
Citation:
Il faudrait que tu regardes un peu le code généré dans ton cas pour voir où GWT pose son "overflow: hidden;"... Je ne peux pas plus t'aider puisque je n'ai pas la totalité de ton projet. Si tu trouves cet attribut, c'est gagné : il te suffit de forcer la valeur à "auto". Mais c'est peut-être plus compliqué si tu as un chargement différé de données dans une div... car la div reçoit une dimension au chargement de l'application et sa dimension n'est pas modifiée après le chargement des données ! Dans ce cas il faut jouer avec les événements et la méthode "forceLayout()"... |
|
|
|
00
|
|
|
#12 | |
|
Nouveau Membre du Club
![]() Inscription : novembre 2007 Messages : 58 ![]() |
Citation:
|
|
|
|
00
|
|
|
#13 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2007 Messages : 58 ![]() |
Juste pour dire que si, tu as le code juste au-dessus, celui où je me suis contenté d'ajouter une image, il n'y a besoin de rien d'autre pour mettre en évidence le problème
|
|
|
00
|
|
|
#14 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2007 Messages : 58 ![]() |
J'ai regardé le code JavaScript généré : Dans le dossier war du WorkSpace, il y a un fichier hosted.html et en l'ouvrant j'ai trouvé la ligne suivante :
hostBodyStyle.overflow = "hidden"; j'ai passé la propriété à 'auto' et j'y ai vraiment cru, mais non ça n'a pas fonctionné, même après avoir vidé le cache du navigateur. |
|
|
00
|
|
|
#15 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2007 Messages : 58 ![]() |
Bon la seule solution que j'ai trouvée pour l'instant c'est d'utiliser un TabPanel au lieu d'un TabLayoutPanel, les scrollbars s'affichent alors sans problème dès que nécessaire.
Selon moi ça reste un bug GWT pour l'objet TabLayoutPanel ... |
|
|
00
|
|
|
#16 | ||
|
Membre confirmé
![]() ![]() Inscription : novembre 2008 Messages : 152 ![]() |
TabPanel c'est obsolète depuis GWT2.x...
Je vais chercher un peu avec toi mais ça prend du temps J'ai recopié ton code ds un petit projet et debuggé avec FireBug, et je vois le problème. C'est ça : Code :
|
||
|
|
00
|
|
|
#17 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2007 Messages : 58 ![]() |
D'abord merci d'avoir testé le code.
Je pense que le 'overflow: hidden;' pouvait effectivement se trouver dans un des fichiers de styles standard GWT, mais en fait, j'avais commenté tous les styles de GWT dans le fichier XML, donc il ne restait plus que mon fichier CSS. Mais ... en regardant mon fichier CSS, j'ai vu qu'il y avait la propriété overflow:hidden pour l'objet gwt-TabLayoutPanelContent !!! ... certainement un reste de copier/coller qui m'avait échappé ... Alors j'ai remplacé la valeur par 'auto' et je me suis dit que cette fois, ça y est, et que j'allais encore me taper la honte sur le forum pour un truc aussi naz ... mais vla je teste et ... toujours pas de scrollbar.Par contre sur l'exemple très simple que j'ai posté au-dessus, avec une image de 345x420, et bien j'ai retesté et la scrollbar est apparue ... pourtant pour ce projet je n'ai absolument rien changé au code et je suis formel, la dernière fois que j'avais testé, il n'y avait pas de scrollbar !!! Si un jour j'arrive à trouver pourquoi je reviendrais sur le sujet .. En tous cas merci, tu m'as bien aidé à explorer toutes les pistes. |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com