Home | Registrieren | Einloggen | Suchen | Aktuelles


Forum » Auszeichnungssprachen » ausrichtung nach mitte ?! Antworten
ausrichtung nach mitte ?!

fakespace
Feiertags-Poster


Beiträge: 26


Hi

mit position: absolut kann ich ja alle möglichen Elemente positionieren. Aber eben immer absolut. Gibt es auch ne Möglichkeit alles mittig, bzw von der Mitte aus auszurichten ? Also wenn ich z.B. ne Tabelle in der Mitte haben will und eine rechts davon, eine links davon.

THX 4 help !

  Profil   Editieren   Zitieren

languitar
Foren-Team


Beiträge: 2795


Nee, direkt gibts da nix, nur mit Tricks und die funktionieren eher schlecht.

---
Take a look here!
Lichtblick - Einblick - Ausblick

  Profil   E-Mail   Website   Editieren   Zitieren

Al Blank
Quasselstrippe


Beiträge: 368


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.




Diese Nachricht wurde geändert von: Al Blank
  Profil   Editieren   Zitieren

fakespace
Feiertags-Poster


Beiträge: 26


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

  Profil   Editieren   Zitieren

Omega2k
Otto-Normal-Poster


Beiträge: 55


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>


---


@ http://www.omega2k.de

  Profil   Website   Editieren   Zitieren

fakespace
Feiertags-Poster


Beiträge: 26


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

Diese Nachricht wurde geändert von: fakespace
  Profil   Editieren   Zitieren
 

Antworten
Nach oben