# swf zentrieren, aber wie?



## tatue (25. November 2004)

Hallo,

ich möchte die Flasdatei intro.swf (800x600pix) auf dem Browser automatisch zentrieren. D.h. exact zentral in der Monitormitte. Was schreibe ich da am besten in den Quelltext rein?

Bitte um Antwort.
Daniel


----------



## redlama (25. November 2004)

Ist denn sonst noch was auf der Seite?
Liegt die Flashdatei in einer <table> oder in einem <div> oder soll sie einfach nur so auf der Seite liegen und nichts weiter?

redlama


----------



## tatue (25. November 2004)

Danke für die schnelle Antwort.
Die Seite soll genau mittig liegen.

Das ist der bisherige Quelltext. Ich hab nicht wirklich Ahnung. Vielleicht kannst Du mal schauen was noch zu machen ist. 


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Unbenanntes Dokument</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<body bgcolor="#ffffff">
<!--Im Film verwendete URLs-->
<!--Im Film verwendeter Text-->
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="800" height="600" id="intro" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="intro.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<embed src="intro.swf" quality="high" bgcolor="#ffffff" width="800" height="600" name="intro" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
</body>
</html>


----------



## Tobias Menzel (25. November 2004)

http://www.tutorials.de/tutorials180923.html

oder gleich: http://www.tutorials.de/forum/showthread.php?t=177870

Mit wenig CSS und "valign" geht das fix:
	
	
	



```
<table style="width:100%; height:100%">
<tr valign="middle">
<td align="center">
    <!-- hier hinein die Object- EMBED-Tags -->
</td>
</tr>
</table>
```

Gruß
.


----------



## tatue (25. November 2004)

OK thanks.

Aber wo schreibe ich das jetzt im Quelltext hin und warum?


----------



## redlama (25. November 2004)

So müsste es gehen!
	
	
	



```
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Unbenanntes Dokument</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
.center { vertical-align:middle; text-align:center; }
</style>
</head>
<body>
<body bgcolor="#ffffff">
<!--Im Film verwendete URLs-->
<!--Im Film verwendeter Text-->
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pu...version=7,0,0,0" width="800" height="600" id="intro" class="center">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="intro.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<embed src="intro.swf" quality="high" bgcolor="#ffffff" width="800" height="600" name="intro" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
</body>
</html>
```

redlama


----------



## Tobias Menzel (25. November 2004)

@Redlama: geht leider so nicht (Object- und Embed-Tag richten sich nach diesen Attributen) - Du könntest das SWF zwar in ein DIV dieser Klasse setzen, aber auch dann klebt es noch am oberen Rand. Es gibt verschiedene Methoden und Workarounds und in dem von mir verlinkten Thread werden einige davon angesprochen. 

Gruß
.


----------



## tatue (25. November 2004)

Hat leider nicht funktioniert. Die Version von Datic zentriert die Seite in der Breite, in der Höhe aber nicht. Hier der aktuelle Quellcode mit Datics Lösung. Wäre gut, wenn mir geschwind jemand weiterhelfen könnte, um daws Thema abzuhaken.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Unbenanntes Dokument</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<table style="width:100%; height:100%">
<tr valign="middle">
<td align="center">
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="800" height="600" id="intro" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="intro.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<embed src="intro.swf" quality="high" bgcolor="#ffffff" width="800" height="600" name="intro" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
</td>
</tr>
</table>
<body bgcolor="#ffffff">
<!--Im Film verwendete URLs-->
<!--Im Film verwendeter Text-->
</body>
</html>


----------



## Martys (25. November 2004)

```
<table style="width:100%; height:100%">
<tr>
<td height="100%" width="100%" align="center" valign="middle">
Hier der Inhalt
</td>
</tr>
</table>
```

Diese Lösung ist nicht valide !


----------



## Tobias Menzel (25. November 2004)

Hi,

Du hast einen Fehler im Doctype: Du gibst Transitional 4.01 an, verlinkst aber auf loose.dtd. Ich bin außerdem nicht sicher, ob Du die Tags bei html 4.01 explizit schließen darfst (<bla />) - aber da wage ich auf die Schnelle keine Aussage.

Übrigens: Folgendes _ist_ valide:
	
	
	



```
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<table style="width:100%; height:100%">
<tr valign="middle">
<td align="center">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="550" height="150">
<param name="movie" value="bla.swf">
<param name="quality" value="high">
</object> 
</td>
</tr>
</table>
</body>
</html>
```
(Ich habe nur das EMBED-Tag herausgenommen, das nicht valide ist)

Gruß
.


----------



## kurtparis (25. November 2004)

Ich  würde das ganze mit CSS machen in etwa so :
<html>
<head>
...
<style type="text/css">
body {
margin: 0;
padding: 0;
}

.conteneur {
position:absolute;
left: 50%;
top: 50%;
width: 800px;
height: 600px;
margin-top: -400px;
margin-left: -300px;
}
</style>
</head>
<body>
<div class="conteneur">
dein swf
</div>
</body>


----------



## Tobias Menzel (25. November 2004)

Hi,

ja, das war in etwa auch mein erster Ansatz in der Sache. Problem: Wird mein Browserfenster kleiner als das Objekt, verschwindet ein Teil davon oben oder links ohne die Möglichkeit, alles mit den Scrollbalken zu erreichen. Mit Tabellen wird die SWF schlimmstenfalls links und oben bündig angezeigt und der Benutzer kann nach unten und rechts scrollen.

Da man Flashdateien sowieso nicht Browserübergreifend valide einbinden kann, scheint mir die Lösung mit align im td-Tag und valign im tr-Tag zumindest bei html 4.01 transitional praktikabel - alle gängigen Browser, die ich getestet habe, zentrieren wie gewünscht und der Validator hat auch nichts zu meckern.

Gruß
.


----------



## tatue (25. November 2004)

Danke Datic das funktioniert jetzt.
Die nächste Frage steht schon im Forum......


----------

