zobmac Posté 18 Novembre 2005 Posté 18 Novembre 2005 Bonjour et merci de vous pencher sur mes misères. Avant tout je vous précise que je suis hyper débutant et que je découvre le webmastering pour créer un site d'artiste (le mien). Je bricole avec dreamweaver mx et des extensions; parfois teste des copier-coller de codes récupérés sur des faq ou forums. Bref je n'y connait rien, mais il faut bien commencer et j'ai un bon niveau sur plein d'appli en autodidacte Mon problème est que FIREFOX(1,0,7) ne réagit pas à mes actions OnResize historique: Au départ j'ai utilisé une extention de comportement qui fait le code toute seule pour avoir un calque toujours centré sur ma page. (en l'occurence "center layers" v4 de Michael Davis). L'Action est liée au body et se fait sur Onload. Pas de problème ça marche nikel avec Firebox (et IE, Netscape, safari). Mais quand je veux ajouter une deuxième fois l'action et l'associer à OnResize ça ne marche pas sur Firefox (par contre c'est OK avec IE, Netscape, safari) Avant de poster ici J'ai tout essayé ce que mon niveau total débutant (mais bon autodidacte du mac et aguéri à l'empirisme) me permet et rien à faire. J'ai aussi testé : <body onResize="location.reload();"> qui marche très bien sur IE, Netscape, safari mais pas sur Firefox. j'en déduit qu'il doit y avoir un code "onResize" spécifique à Firefox mais j'y connait rien donc je m'en remet à vous ô grands gourous du truc. merci d'aider le bleu noob que je suis. zobmac (le sage montre la lune, l'imbécile regarde le doigt. Souvent j'aime regarder les doigts; pardon!) Edit : Arlette
MS-DOS_1991 Posté 18 Novembre 2005 Posté 18 Novembre 2005 (modifié) Salut euh.... pas obligé d'écrire en majuscules, on n'est pas sourds Sinon, pourrais-tu poster ton code (de façon lisible ) ? Chez moi, une page basique fonctionne: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head><title>Page de Test</title></head> <body onresize="alert('test');"> <p>test de redimensionnement</p> </body></html> Peut-etre a-tu oublié des ; dans ton code, mais on ne pourra pas t'aider plus sans ton script Modifié 18 Novembre 2005 par MS-DOS_1991
zobmac Posté 18 Novembre 2005 Auteur Posté 18 Novembre 2005 (modifié) merci pour ta réponse. en effet j'avait déjà testé le message d'alerte en OnResize et va savoir pourquoi ça marche. Ce qui ne marche pas c'est qu'un OnResize déclanche un reload. exemple: <body onResize="location.reload();"> de toute façon je te met le code qui ne marche pas ci-dessous (après une petite paranthèse d'escuse) et te remercie de ton aide zobmac (désolé pour les majuscules mais comme mon post est long ce n'était qu'un soucis de lisibilté; je sais bien que la cyberCulture veut qu'on associe les majuscule à des cris, mais il me semble que si les majuscules sont génantes dans une liste de login (chat etc..) car elle mettent en avnt un login plutôt qu'un autre, ces mêmes majuscules permettent une lisibilité à l'intérieur d'un message. Enfin désolé, je le frait plus ici. fin de la paranthèse) Le calque (rectangle vert devrait se recadrer à chaque redimensionnement de la fenêtre; ça marche sur IE safari et netscaape, mais pas firefox <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>Document sans titre</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><script language="JavaScript" type="text/JavaScript"><!--function MM_reloadPage(init) { //reloads the window if Nav4 resized if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) { document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }} else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();}MM_reloadPage(true);function MM_findObj(n, d) { //v4.01 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); if(!x && d.getElementById) x=d.getElementById(n); return x;}function BW_centerLayers() { //v4.1.1 if (document.layers || document.all || document.getElementById){ var winWidth, winHeight, i, horz, vert, width, height, offsetX, offsetY, negX, negY, group, x, y, args; args = BW_centerLayers.arguments; onresize = BW_reload; winWidth = (document.all)?document.body.clientWidth:window.innerWidth; winHeight = (document.all)?document.body.clientHeight:window.innerHeight; for (i=0; i<(args.length-9); i+=10) { horz = args[i+1]; vert = args[i+2]; width = parseInt(args[i+3]); height = parseInt(args[i+4]); offsetX = parseInt(args[i+5]); offsetY = parseInt(args[i+6]); negX = args[i+7]; negY = args[i+8]; x = ((winWidth - width)/2) + offsetX; y = ((winHeight - height)/2) + offsetY; x = (negX=='false' && (x < 0))?0:x; y = (negY=='false' && (y < 0))?0:y; layerObj = (document.getElementById)?document.getElementById(args[i]):MM_findObj(args[i]); if (layerObj!=null) { layerObj = (layerObj.style)?layerObj.style:layerObj; layerObj.left = (horz=="true")?x:layerObj.left; layerObj.top = (vert=="true")?y:layerObj.top; } } }}function BW_reload() {location.reload();}//--></script></head><body onLoad="BW_centerLayers('Layer1','true','true','730','475','0','0','false','false','false')" onResize="BW_centerLayers('Layer1','true','true','730','475','0','0','false','false','false')"><div id="Layer1" style="position:absolute; left:71px; top:27px; width:730px; height:475px; z-index:1; background-color: #00FF00; layer-background-color: #00FF00; border: 1px none #000000;"></div></body></html> Modifié 20 Novembre 2005 par Monique
zobmac Posté 29 Novembre 2005 Auteur Posté 29 Novembre 2005 bon apparemment personne ne sait comment obliger firefox à recharger une page si la fenêtre est redimensionnée.... étonnant, non; ça me semblai assez basique comme concept, mais je suis hypper débutant .... bonne fin d'année à tous ZM
Dudu Posté 29 Novembre 2005 Posté 29 Novembre 2005 bon apparemment personne ne sait comment obliger firefox à recharger une page si la fenêtre est redimensionnée....étonnant, non; ça me semblai assez basique comme concept, mais je suis hypper débutant .... bonne fin d'année à tous ZM J'allais dire "tant mieux". Honnêtement, si un site me recharge la page parce que j'ai eu le malheur de redimensionner ma fenêtre, je me sauve en courant immédiatement. Pourquoi ? C'est simple: - çà ce sert à rien, mais alors rien du tout - c'est intrusif au possible - moi qui suis revenu temporairement en 56k je t'assure que je préfère éviter de charger plusieurs fois une même page, vu le temps que çà prend. Intéresses-toi plutôt aux mises en pages élastiques faites par le biais des CSS, tu perdras moins de temps avec ce genre d'inutilités Désolé pour le ton un peu sec du message, mais vraiment un rechargement de page au redimensionnement c'est vraiment le truc qui me sort les yeux, et je ne dois pas être le seul.. Çà fait même partie des raisons pour lesquelles je désactive très souvent le Javascript de mon navigateur, à vrai dire.. PS: ne confonds pas IE pour Mac et IE pour Windows. Ils n'ont en commun que le nom, sinon ce sont deux navigateurs TRÈS différents.
Remi Posté 29 Novembre 2005 Posté 29 Novembre 2005 Je crois qu'il voulait seulement centrer sa page. Il existe des manières beaucoup plus simples de centrer horizontalement (en 2 lignes de CSS) que d'utiliser des procédés qui ont l'air un peu archaïques (ça me rappelle Netscape 4 où il fallait reloader la page à chaque redimensionnement de fenêtre quand on utilisait des calques... ;-) )
zobmac Posté 29 Novembre 2005 Auteur Posté 29 Novembre 2005 (modifié) J'allais dire "tant mieux". Honnêtement, si un site me recharge la page parce que j'ai eu le malheur de redimensionner ma fenêtre, je me sauve en courant immédiatement. Pourquoi ? C'est simple: - çà ce sert à rien, mais alors rien du tout - c'est intrusif au possible - moi qui suis revenu temporairement en 56k je t'assure que je préfère éviter de charger plusieurs fois une même page, vu le temps que çà prend. Intéresses-toi plutôt aux mises en pages élastiques faites par le biais des CSS, tu perdras moins de temps avec ce genre d'inutilités Désolé pour le ton un peu sec du message, mais vraiment un rechargement de page au redimensionnement c'est vraiment le truc qui me sort les yeux, et je ne dois pas être le seul.. Çà fait même partie des raisons pour lesquelles je désactive très souvent le Javascript de mon navigateur, à vrai dire.. <{POST_SNAPBACK}> Bon d'accord mais mon centrage se fait onload et si la fenêtre était déjà ouverte trop petite et que tu la redimensionnes mon site (suite de layer DIV imbriqués dans le layer1) n'est plus centré et ça perd complètement son sens surtout la lisibilité pour les ceusses en 800X600 (tu vois je pense aux gens moi aussi). Si t'as une solution simple et pré& maché pour un novice total en CSS je t'écoutes, moi je cherche un centrage la technique pour y arrivé ça m'est égal voilou... @+ ZM Modifié 29 Novembre 2005 par zobmac
zobmac Posté 29 Novembre 2005 Auteur Posté 29 Novembre 2005 Je crois qu'il voulait seulement centrer sa page. Il existe des manières beaucoup plus simples de centrer horizontalement (en 2 lignes de CSS) que d'utiliser des procédés qui ont l'air un peu archaïques (ça me rappelle Netscape 4 où il fallait reloader la page à chaque redimensionnement de fenêtre quand on utilisait des calques... ;-) ) <{POST_SNAPBACK}> Merci Remi enfin quelqun qui me comprend sans m'engueller. Bon c'est super de me dire et c'est fastoche en 2 ligne de CSS, mais c'est quoi les 2 lignes...... (à moins que ça soit classé secret défense!) @+ ZM
Dudu Posté 29 Novembre 2005 Posté 29 Novembre 2005 (suite de layer DIV imbriqués dans le layer1) Je crois que tout le problème réside là Ce que je te conseilles, je le redis, c'est de t'intéresser aux mises en page élastiques faites par le biais des CSS. Ainsi tes pages seront plus légères, plus accessibles: en un mot: meilleures. Si le fait de te conseiller d'apprendre à construire mieux tes pages c'est t'engueuler, alors excuse-moi de t'engueuler Rien n'est secret défense sur le web: http://pompage.net/pompe/designelastique/
Remi Posté 29 Novembre 2005 Posté 29 Novembre 2005 mais c'est quoi les 2 lignes......(à moins que ça soit classé secret défense!) Le principe global est : body{text-align:center;}#mapage{margin:0 auto;width:...;text-align:left;} Et tu mets tout ton contenu dans le div 'mapage'. (Ne pas oublier de définir la largeur de 'mapage')
zobmac Posté 30 Novembre 2005 Auteur Posté 30 Novembre 2005 Le principe global est : body{text-align:center;}#mapage{margin:0 auto;width:...;text-align:left;} Et tu mets tout ton contenu dans le div 'mapage'. (Ne pas oublier de définir la largeur de 'mapage') <{POST_SNAPBACK}> Merci remi, mais je ne suis pas sûr d'avoir mi le code au bon endroit. peux-tu stp me le mettre dans l'exemple ci-dessous (un calque vertà centrer sur la page) De plus comment faire pour que ça recentre si on agrandi la fenêtre? merci @+ ZM <html> <head> <title>Document sans titre</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <div id="Layer1" style="position:absolute; left:122px; top:62px; width:622px; height:400px; z-index:1; background-color: #00FF00; layer-background-color: #00FF00; border: 1px none #000000;"></div> </body> </html>
zobmac Posté 1 Décembre 2005 Auteur Posté 1 Décembre 2005 J'ai lu plein de trucs sur le centrage négatif mais bon sang qu'estce que c'est compliqué quand c'est expliqué par des pro pour des pros...· Finalement grace aux explications (pas très claires au début) de Stephane Moriaux sur un autre forum, la lumière a jailli, et j'ai fini par comprendre le principe. Je vous livre donc ma solution : Donc pour centrer un site dans un language profane de débutant (nul comme moi), mais compréhensible par tous : 1# Créer un calque calquecentrage de 1pxX1Px marges top et left =50% 2# imbriquer dans claquecentrage un nouveau calque calquecentré (à taille fixe) dont les marges seront: marginleft = (la moitié de sa largeur) et margintop= ( la moitié de sa hauteur)· 3# imbriquer tous les autres calques dans Claquecentré· 4# être heureux car ça marche avec IE 5.2/netscape 6/ safari et FIREFOX et faire un bô site· 5# penser à aider les débutants sur le forum quand je s'rai un bête du webmastering MERCI à tous de vous être pris la tête pour moi et bonne fin d'année. ZM
Remi Posté 1 Décembre 2005 Posté 1 Décembre 2005 Ah, ben à ton tour de nous aider... Puisque tu as lu beaucoup de choses sur le sujet, peux-tu me dire quel sont les inconvénients de la solution que je te proposais... (à part que margin:auto n'est pas reconnu par IE5.2 et inférieur (2% des visiteurs) et NN4 (0,01%) et dans ce cas la page se met à gauche, ce qui ne m'empêche pas de dormir vu que c'est rare d'avoir un browser très ancien et un écran large). Je ne demande pas ça pour polémiquer... S'il y a un autre inconvénient, j'aimerais sincèrement le savoir.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant