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

Problèmes avec un layout

5 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