von fakespace |
wie gesagt, mit JS kenn ich mich nich aus. Aber ich hab den text mal überflogen und bin mir nich sicher ob ihr mich richtig verstanden habt:
mit Mitte meinte ich nur Vertikal, horizontal ist die Tabelle fest
LLL MMMM RRR
LLL MMMM RRR
LLL MMMM RRR
LLL MMMM RRR
LLL MMMM RRR
so in etwa, nur eben die große Tabelle mittig, und die anderen beiden von der Mitte aus nen speziellen Wert links bzw. rechts davon |
von Omega2k |
naja, ich muss sagen, kleiner feiner Javascript erleichtert so manches... nur zu dumm, dass Browser wie z.B. Opera so kleine Macken haben - aber was solls.
Wegen der Einbindung onload:
1: | <body onLoad="BW_centerLayers.... |
Das ist nicht HTML Standard... sollte eher dann auch mit JS gelöst werden, z.B. den Teil nach dem <body> Tag...
1:
2:
3: | <script language="javascript" type="text/javascript">
window.onload = BW_centerLayers();
</script> |
|
von fakespace |
Vielen dank für Eure Antworten.
JS is eher nichts für mich, 1. weil ich mich zuwenig damit auskenn, und 2. weil ich es nich mag ;)
schade dass es da nichts gibt, dann werd ich es wohl doch absolut etwa in die Mitte machen und die Seite explizit auf bestimmte Auflösungen anpassen. Mit den unterschiedlichen Browsern ist es dann halt eventuell leicht außerhalb der Mitte.
Schade, aber trotzdem danke |
von Al Blank |
Gibts und zwar in Javascript, Nebenwirkungen sind ja allseits bekannt.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43: | <script language="JavaScript" type="text/JavaScript">
<!--
function BW_centerLayers() {
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> |
aufrufen onLoad mit z.B:
1: | <body onLoad="BW_centerLayers('ebenenname','true','true','200','50','-100','0','false','false','false')" > |
Wobei in diesem Fall -100 der horizontale abstand zur Mitte ist (also bei positiver Zahl rechts davon) und 0 der vertikale.
200 ist die Ebenenbreite und 50 die Höhe.
Man könnte mit dem Script noch mehr machen, hab ich aber schon mal wo gepostet.
|
von languitar |
Nee, direkt gibts da nix, nur mit Tricks und die funktionieren eher schlecht. |
|