Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Problèmes avec un layout

0 views
Skip to first unread message

Pierre Maurette

unread,
Dec 24, 2009, 2:53:00 AM12/24/09
to
Bonjour,

J'avais un layout qui fonctionnait "ᅵ peu prᅵs" et dont je me suis
rendu compte qu'il ï¿œtait devenu presque inmaintenable et que la
plaisianterie commenᅵait ᅵ me coᅵter pas mal de temps. Pour info:
<URL:http://assembleur.maurette.free.fr/>
Lᅵ, le menu latᅵral est en javascript (pompᅵ sur la toile). Il y avait
mï¿œme une version antï¿œrieure avec des angles arrondis pour tous les
navigateurs, en fait Opera et IE.

J'ai voulu nettoyer tout ᅵa, j'en suis arrivᅵ lᅵ en virant le
javascript:
<URL:http://pierremaurette.dyndns.org/assembleur.maurette/index.php>
Dᅵs que j'ai vu que ᅵa merdait sous IE7, j'ai dᅵcidᅵ d'arrᅵter et de
tout remettre ᅵ plat. C'est ᅵ dire de valider le layout pour un certain
nombre de navigateurs, avant de remonter vers le site rï¿œel. J'ai donc
fait une page minimale:
<URL:http://pierremaurette.dyndns.org/layout07/index.php>
Le code .css et .php est affichᅵ sur la page (sans indentation), je
copie plus bas une version nettoyï¿œe d'un .css et d'un .html.

Ce que je sollicite c'est une approche, un site bien fait, que sais-je,
en tout cas pas nᅵcessairement que vous fassiez le boulot ᅵ ma place,
pour rï¿œsoudre les problï¿œmes rï¿œsiduels en gardant un code sain et
maintenable:
- Descendre la compatibilitᅵ ᅵ au moins IE6, voire IE5.5, ou proposer
un layout alternatif qui passerait "avec tout". J'aimerais sans
modifier le contenu des pages pouvoir au moins remonter en haut de page
ᅵ partir de n'importe oᅵ mᅵme dans une trᅵs longue page.
- Rï¿œsoudre impï¿œrativement un souci qui apparait dans Firefox
essentiellement: le clic dans la zone principale ᅵ hauteur du menu
"fixᅵ" ne doit pas ᅵtre interceptᅵ par les div de ce menu. Il faut
qu'on puisse cliquer sur des liens et des images .png qui ouvrent une
fenï¿œtre .swf, et qu'on puisse sï¿œlectionner du contenu pour
copier-coller.
- Presque dï¿œrisoire: que la div "menuside" puisse passer sous la div
"banner". Mais ce n'est vraiment pas important.

Merci pour vos suggestions.

Le CSS simplifiᅵ:
* {
margin: 0;
padding: 0;
}

#outermenuside {
position: fixed;
display: block;
top: 115px;
width: 100%;
left:0;
}

#global, #innermenuside {
width: 925px;
margin: 0 auto;
text-align: left;
}

#global {
}

#menuside {
position:relative;
display: block;
left: -40px;
width: 100px;
}

#banner {
display: block;
height: 140px;
}

#page {
margin-left: 65px;
padding: 2px;
}

Le HTML simpliifiᅵ:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head></head>
<body>
<div id="outermenuside">
<div id="innermenuside">
<div id="menuside">Le menu</div>
</div>
</div>
<div id="global">
<div id="banner">L'entï¿œte</div>
<div id="page">L'utile</div>
</div>
</body>
</html>

--
Pierre Maurette


Olivier Masson

unread,
Dec 24, 2009, 4:54:18 AM12/24/09
to
Le 24/12/2009 08:53, Pierre Maurette a ï¿œcrit :

> Ce que je sollicite c'est une approche, un site bien fait, que sais-je,
> en tout cas pas nᅵcessairement que vous fassiez le boulot ᅵ ma place,
> pour rï¿œsoudre les problï¿œmes rï¿œsiduels en gardant un code sain et
> maintenable:
> - Descendre la compatibilitᅵ ᅵ au moins IE6, voire IE5.5, ou proposer un
> layout alternatif qui passerait "avec tout". J'aimerais sans modifier le
> contenu des pages pouvoir au moins remonter en haut de page ᅵ partir de
> n'importe oᅵ mᅵme dans une trᅵs longue page.

Salut,

Descendre la compatibilitᅵ ᅵ IE6 et mᅵme pire, IE5.5, ne signifiera
surement pas que ton code sera ᅵpurᅵ et parfait, bien au contraire
puisque plus tu descends dans les versions d'IE, plus tu as
d'imperfections cᅵtᅵ navigateur ᅵ gᅵrer.
Garder une compatibilitᅵ IE6, pourquoi pas (moi j'ai arrᅵtᅵ) mais ce
sera toujours en parallï¿œle d'une version amï¿œliorï¿œe.
Donc feuille de style sᅵparᅵ, via commentaires conditionnels, pour IE6
d'une part, et IE7/8 d'autre part pour les petites problï¿œmes de
margin/padding.

Pas de position fixed pour IE6 dᅵjᅵ. Donc tu places en absolute avec un
top pour ne pas ï¿œtre sur ton header.

Avec un hack (pour pas s'emmerder avec un comm.cond.), ï¿œa donne ï¿œa :
#menu { position: absolute; top: 115px }
html>body #menu { position: fixed }


> - Rï¿œsoudre impï¿œrativement un souci qui apparait dans Firefox
> essentiellement: le clic dans la zone principale ᅵ hauteur du menu
> "fixᅵ" ne doit pas ᅵtre interceptᅵ par les div de ce menu. Il faut qu'on
> puisse cliquer sur des liens et des images .png qui ouvrent une fenï¿œtre
> .swf, et qu'on puisse sï¿œlectionner du contenu pour copier-coller.

Je n'ai pas ce problï¿œme.
Mais il faudrait ᅵgalement donner la finalitᅵ de tout ᅵa car je ne
comprends par pourquoi tu mets un width: 100% alors que le menu est tout
ï¿œtroit.
Si tu as des problï¿œmes d'ordre d'affichage, tu mets essayer de mettre un
z-index ᅵ 1 sur global (voire sur #global *) et ᅵ 2 sur outermenuside
(voire sur #outermenuside *)

> - Presque dï¿œrisoire: que la div "menuside" puisse passer sous la div
> "banner". Mais ce n'est vraiment pas important.

Ah, faudra peut-ï¿œtre sortir banner de global alors si les z-index sont
aussi mal gᅵrᅵs que l'opacitᅵ. Mais dans tous les cas, un z-index ᅵ 3
pour #banner, que tu devras positionner alors en relative ou absolute.

SAM

unread,
Dec 24, 2009, 6:51:55 AM12/24/09
to
Le 12/24/09 10:54 AM, Olivier Masson a ï¿œcrit :

>
> Pas de position fixed pour IE6 dᅵjᅵ. Donc tu places en absolute avec un
> top pour ne pas ï¿œtre sur ton header.

Ou bien j'ai loupᅵ qque chose
ou bien je me mï¿œprends sur la faï¿œon dont IE6 devrait rï¿œagir
mais
le menu en absolute y reste bien en absolute
et ne scrolle pas avec la page (ne joue pas au fixed quoi)

> Avec un hack (pour pas s'emmerder avec un comm.cond.), ï¿œa donne ï¿œa :
> #menu { position: absolute; top: 115px }
> html>body #menu { position: fixed }

--
sm

Olivier Miakinen

unread,
Dec 24, 2009, 8:15:30 AM12/24/09
to
Le 24/12/2009 12:51, SAM a ï¿œcrit :
>
> [<http://assembleur.maurette.free.fr/>]

> le menu en absolute y reste bien en absolute
> et ne scrolle pas avec la page (ne joue pas au fixed quoi)

Il fait tantï¿œt l'un tantï¿œt l'autre, selon la position de l'ascenseur
(grᅵce ᅵ <http://assembleur.maurette.free.fr/livres/commun/livres.js>
je suppose).

En fait il commence ᅵ scroller avec la page, comme tout 'absolute' qui
se respecte, puis il devient 'fixed' aussitï¿œt qu'il se trouve tout en
haut...

SAM

unread,
Dec 24, 2009, 8:39:43 AM12/24/09
to
Le 12/24/09 2:15 PM, Olivier Miakinen a ï¿œcrit :

> Le 24/12/2009 12:51, SAM a ï¿œcrit :
>> [<http://assembleur.maurette.free.fr/>]

Ha! non !
je ne faisait pas rᅵfᅵrence ᅵ cette url

>> le menu en absolute y reste bien en absolute
>> et ne scrolle pas avec la page (ne joue pas au fixed quoi)

mais bien aux css d'Olivier Masson

> Il fait tantï¿œt l'un tantï¿œt l'autre, selon la position de l'ascenseur
> (grᅵce ᅵ <http://assembleur.maurette.free.fr/livres/commun/livres.js>
> je suppose).

supposant qu'alors l'artifice JS ï¿œtait exclus.

--
sm

Pierre Maurette

unread,
Dec 24, 2009, 9:25:39 AM12/24/09
to
(supersedes <mn.c2147d9c3...@wanadoo.fr>)

Bonjour,

J'avais un layout qui fonctionnait "ᅵ peu prᅵs" et dont je me suis
rendu compte qu'il ï¿œtait devenu presque inmaintenable et que la
plaisianterie commenᅵait ᅵ me coᅵter pas mal de temps. Pour info:
<URL:http://assembleur.maurette.free.fr/>
Lᅵ, le menu latᅵral est en javascript (pompᅵ sur la toile). Il y avait
mï¿œme une version antï¿œrieure avec des angles arrondis pour tous les
navigateurs, en fait Opera et IE.

J'ai voulu nettoyer tout ᅵa, j'en suis arrivᅵ lᅵ en virant le
javascript:
<URL:http://pierremaurette.dyndns.org/assembleur.maurette/index.php>
Dᅵs que j'ai vu que ᅵa merdait sous IE7, j'ai dᅵcidᅵ d'arrᅵter et de
tout remettre ᅵ plat. C'est ᅵ dire de valider le layout pour un certain
nombre de navigateurs, avant de remonter vers le site rï¿œel. J'ai donc
fait une page minimale:
<URL:http://pierremaurette.dyndns.org/layout07/index.php>

Bien qu'il y ait dᅵjᅵ des rᅵponses, je corrige le message. Plutᅵt que
laisser une machine en fontionnement, j'ai transfᅵrᅵ la /page minimale/
en:
<URL:http://assembleur.maurette.free.fr/test/>
dont je rappelle que c'est la seule sur laquelle porte les questions.
Les URL en http://pierremaurette.dyndns.org/... ne sont pas
permanentes.

Le code .css et .php est affichᅵ sur la page (sans indentation), je
copie plus bas une version nettoyï¿œe d'un .css et d'un .html.

Ce que je sollicite c'est une approche, un site bien fait, que sais-je,

en tout cas pas nᅵcessairement que vous fassiez le boulot ᅵ ma place,
pour rï¿œsoudre les problï¿œmes rï¿œsiduels en gardant un code sain et
maintenable:
- Descendre la compatibilitᅵ ᅵ au moins IE6, voire IE5.5, ou proposer
un layout alternatif qui passerait "avec tout". J'aimerais sans
modifier le contenu des pages pouvoir au moins remonter en haut de page
ᅵ partir de n'importe oᅵ mᅵme dans une trᅵs longue page.

- Rï¿œsoudre impï¿œrativement un souci qui apparait dans Firefox
essentiellement: le clic dans la zone principale ᅵ hauteur du menu
"fixᅵ" ne doit pas ᅵtre interceptᅵ par les div de ce menu. Il faut
qu'on puisse cliquer sur des liens et des images .png qui ouvrent une
fenï¿œtre .swf, et qu'on puisse sï¿œlectionner du contenu pour
copier-coller.

- Presque dï¿œrisoire: que la div "menuside" puisse passer sous la div
"banner". Mais ce n'est vraiment pas important.

Merci pour vos suggestions.

Pierre Maurette

unread,
Dec 24, 2009, 10:08:03 AM12/24/09
to
Olivier Masson, le 24/12/2009 a ï¿œcrit :

> Le 24/12/2009 08:53, Pierre Maurette a ï¿œcrit :
>
>> Ce que je sollicite c'est une approche, un site bien fait, que sais-je,
>> en tout cas pas nᅵcessairement que vous fassiez le boulot ᅵ ma place,
>> pour rï¿œsoudre les problï¿œmes rï¿œsiduels en gardant un code sain et
>> maintenable:
>> - Descendre la compatibilitᅵ ᅵ au moins IE6, voire IE5.5, ou proposer un
>> layout alternatif qui passerait "avec tout". J'aimerais sans modifier le
>> contenu des pages pouvoir au moins remonter en haut de page ᅵ partir de
>> n'importe oᅵ mᅵme dans une trᅵs longue page.
>
> Salut,
>
> Descendre la compatibilitᅵ ᅵ IE6 et mᅵme pire, IE5.5, ne signifiera surement
> pas que ton code sera ᅵpurᅵ et parfait, bien au contraire puisque plus tu
> descends dans les versions d'IE, plus tu as d'imperfections cᅵtᅵ navigateur ᅵ
> gï¿œrer.
> Garder une compatibilitᅵ IE6, pourquoi pas (moi j'ai arrᅵtᅵ) mais ce sera
> toujours en parallï¿œle d'une version amï¿œliorï¿œe.
> Donc feuille de style sᅵparᅵ, via commentaires conditionnels, pour IE6 d'une
> part, et IE7/8 d'autre part pour les petites problï¿œmes de margin/padding.
>
> Pas de position fixed pour IE6 dᅵjᅵ. Donc tu places en absolute avec un top
> pour ne pas ï¿œtre sur ton header.
>
> Avec un hack (pour pas s'emmerder avec un comm.cond.), ï¿œa donne ï¿œa :
> #menu { position: absolute; top: 115px }
> html>body #menu { position: fixed }

OK, en fait j'avais utilisᅵ l'inverse, ou presque inverse, avec * html.

Je pense que je vais simplement me replier sur une feuille style
"universitaire US" pour tous les navigateurs ᅵ problᅵme. En fait, le
seul qui me chagrine un peu, c'est IE6 ᅵ cause de Windows 2000. Mais
Windows 2000 supporte jusqu'aux derniï¿œres versions de Firefox, alors...

>> - Rï¿œsoudre impï¿œrativement un souci qui apparait dans Firefox
>> essentiellement: le clic dans la zone principale ᅵ hauteur du menu
>> "fixᅵ" ne doit pas ᅵtre interceptᅵ par les div de ce menu. Il faut qu'on
>> puisse cliquer sur des liens et des images .png qui ouvrent une fenï¿œtre
>> .swf, et qu'on puisse sï¿œlectionner du contenu pour copier-coller.
>
> Je n'ai pas ce problï¿œme.

Je l'ai mal expliquᅵ, alors. Je rappelle que ᅵa ne concerne que:
<URL:http://pierremaurette.dyndns.org/layout07/index.php>
qui est devenu:
<URL:http://assembleur.maurette.free.fr/test/index.php>

On ne peut pas cliquer sur l'image .png ni sï¿œlectionner du texte en
face du menu latï¿œral, sur aucun navigateur sauf Opera et partiellement
IE.

> Mais il faudrait ᅵgalement donner la finalitᅵ de tout ᅵa car je ne comprends
> par pourquoi tu mets un width: 100% alors que le menu est tout ï¿œtroit.
> Si tu as des problï¿œmes d'ordre d'affichage, tu mets essayer de mettre un
> z-index ᅵ 1 sur global (voire sur #global *) et ᅵ 2 sur outermenuside (voire
> sur #outermenuside *)

Je veux positionner #menuside en fixed en vertical, mais par rapport ᅵ
#global en horizontal. Faire varier la largeur de la fenï¿œtre sur la
page de test minimale pour constater. De plus je ne suis pas contre une
certaine souplesse par rapport ᅵ #global (largeur fixe comme ici,
marges fixes, etc.).
Donc je positionne un #outermenuside en fixed, width 100% (et left 0
pour IE7 !).
Ensuite je veux positionner #menuside par rapport ᅵ #global, je vais
donc en appliquant le mᅵmes rᅵgles ᅵ #global et ᅵ #innermenuside faire
en sorte qu'horizontgalement #innermenuside soit ᅵ #outermenuside ce
que #global est ᅵ body. Il ne me reste plus qu'ᅵ placer #menuside en
relatif dans #innermenuside.

>> - Presque dï¿œrisoire: que la div "menuside" puisse passer sous la div
>> "banner". Mais ce n'est vraiment pas important.
>
> Ah, faudra peut-ï¿œtre sortir banner de global alors si les z-index sont aussi
> mal gᅵrᅵs que l'opacitᅵ. Mais dans tous les cas, un z-index ᅵ 3 pour #banner,
> que tu devras positionner alors en relative ou absolute.

Je verrais ï¿œa plus tard. Je me doutais bien qu'il me faudrait un
masque, que ce soit #banner ou un autre, qui soit "positionnᅵ" pour
utiliser z-index. Mais ᅵa ressemble aussi ᅵ une source d'emmerdes.

Merci ᅵ vous, merci ᅵ tous, en passez un bon Noᅵl,

--
Pierre Maurette


0 new messages