IE-Hacks

G

Gast170816

Heyho,
ich habe noch nie etwas mit IE-Hacks gemacht, aber benötige es jetzt zum ersten mal.

Ich habe eine Flashanwendung, die ich ganz bewusst aus dem Bild in den Minusbereich rücken will.
Die Marginbefehle sind gleich in die HTML mit reingeschrieben, denn auf der Seite gibts sonst keine CSS-Sachen.

So sieht der Code aus:
Code:
<html>
<head>
  <meta/>
    <title></title>
    <meta name>
    <script src="js/AC_RunActiveContent.js" type="text/javascript"></script>
    <style type="text/css">
  <!--
  body {
	  background-color: #ffffff;
          margin-left: -230px;
	  margin-top: -64px;
	  margin-right: 0px;
	  margin-bottom: 0px;
   }	
	

 }
  -->
  </style>
</head>

<body>
    <script type="text/javascript">
    flashelementblabla
    </script>
<noscript>
<object >
  <param name=>
  <embed src="blabla.swf" width="1152px" height="528px" quality="high" 
  pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-
  shockwave-flash" wmode="transparent" allowFullScreen="true"  
  allowScriptAccess="sameDomain"></embed>
</object>
</noscript>
</body>
</html>

Ich hab mal den ganzen Code geschrieben, falls das wichtig ist. Kleines Gefummel, wie "param" und "meta" hab ich mal rausgekürzt.


So und nun habe ich einmal versucht gleich unter
Code:
 body {
	  background-color: #ffffff;
          margin-left: -230px;
	  margin-top: -64px;
	  margin-right: 0px;
	  margin-bottom: 0px;
   }
Werte für IE anzugeben.

Einmal hab ichs so probiert und das hier eingefügt:
Code:
*html.body{
    margin-left: -500px;
	margin-top: -64px;
	margin-right: 0px;
	margin-bottom: 0px;
}

und einmal so:
Code:
<!--[if IE]>
    margin-left: -500px;
	margin-top: -64px;
	margin-right: 0px;
	margin-bottom: 0px;
<![endif]-->

Na jedenfalls funktioniert keins von Beiden.

Hatte auch versucht, mir was aus den Lösungen von anderen rauszulesen. Aber die scheinen alle eine separate CSS zu haben und von daher hab ich das nicht verstanden, wie ich das in meinem Fall nu machen soll.
Würde mich sehr über Hilfe freuen da ich dieses Ding unbedingt schnell fertig bekommen muss.
 
Hi,

ich hab deiner Frage bezüglich der "IE-Hacks" mal ein eigenes Thema gegönnt, da sie mit dem bestehenden Thema, das du ausgewählt hattest, nicht viel gemeinsam hat ;)

Der "Star-HTML-Hack" müsste so lauten:

Code:
<style type="text/css">

/* bestehende Regeln für body */
body {
	  background-color: #ffffff;
          margin-left: -230px;
	  margin-top: -64px;
	  margin-right: 0px;
	  margin-bottom: 0px;
}
/* Ende bestehende Regeln für body*/

/* Regeln für IE mit Star-HTML-Hack */ 
* html body { /* im Selektor auf die Leerzeichen achten! */
    margin-left: -500px;
	margin-top: -64px; /* Diese Regel ist nicht erforderlich, da sie schon zuvor im body-Selektor deklariert wurde, und ihre Eigenschaftswerte deckungsgleich sind  */
	margin-right: 0px;  /* Diese Regel ist nicht erforderlich, da sie schon zuvor im body-Selektor deklariert wurde, und ihre Eigenschaftswerte deckungsgleich sind */
	margin-bottom: 0px;  /* Diese Regel ist nicht erforderlich, da sie schon zuvor im body-Selektor deklariert wurde, und ihre Eigenschaftswerte deckungsgleich sind */
}
/* Ende Regeln für IE mit Star-HTML-Hack */

</style>


Beim "Conditional Comment" wiederum fehlt die fettmarkierte Syntax, denn der "CC" wird im Anschluß eines Stylesheets / einer CSS-Datei aufgerufen, und so ein weiteres und individuelles Stylesheet für den IE in die Seite geladen.

Code:
<style type="text/css">
  <!--
  /* Das bestehende Stylesheet */
  body {
	  background-color: #ffffff;
          margin-left: -230px;
	  margin-top: -64px;
	  margin-right: 0px;
	  margin-bottom: 0px;
   }	
  -->
</style>
<!--[if IE]>
<style type="text/css">
body {
    margin-left: -500px;
	margin-top: -64px; /* Diese Regel ist nicht erforderlich, da sie schon im ersten Stylesheet deklariert wurde, und ihre Eigenschaftswerte deckungsgleich sind  */
	margin-right: 0px;  /* Diese Regel ist nicht erforderlich, da sie schon im ersten Stylesheet deklariert wurde, und ihre Eigenschaftswerte deckungsgleich sind */
	margin-bottom: 0px;  /* Diese Regel ist nicht erforderlich, da sie schon im ersten Stylesheet deklariert wurde, und ihre Eigenschaftswerte deckungsgleich sind */
}
</style>
<![endif]-->



mfg Maik
 
Vielen Dank für die schnelle Antwort.

Ich hab jetzt beide Sachen ausprobiert.
Einmal den kleinen ersten Teil von dem "Star HTML-Hack" geändert und dann aber mal noch das ganz andere, mit Conditional Comment unten einfügen.

Aber meine Anzeige ist unverändert.

Falls das noch wichtig ist... meine html (Default.html) wird in einem iFrame angezeigt (aber ich denk mal das ist egal... denn der Fehler ist ja in der Ausgangs html, nicht im iFrame!)
Code:
<div id="website-layout-03004">
		<!-- iframe-start -->
	<iframe src="Seiten/Free Version/Default.html" width="680" height="400" name="haupt" border="0" frameborder="0" scrolling="no"></iframe>
	<!--iframe-end-->
		
	</div>
So sieht die Stelle aus. Es ist ein div und darin das iFrame. Div-Anordnung ist toll, aber eben halt nicht die html die man wiederum darin sieht.

Sollte es an ner vergessenen Klammer liegen oder Ähnlichem?! Das gibts doch nicht:(
 
Ist die Seite online verfügbar, um dort mal einen Blick drauf werfen zu können?

mfg Maik
 
Nee, sie ist leider noch nicht online.

Also das Flashelement ist dieses Flipbook (davon gibts aber nur die swf)
http://www.flashpageflip.com/demos/free/

und ich will halt die Balken oben weg und es außerdem noch viel weiter nach links schieben, damits nur aus meinem kleinen 680x400 Fenster rausguckt.
(Also ein Quellverweiß wegen dem Buch wär mit dabei, aber ich will halt diese ollen Balken weg haben und die Anwendung selbst schmaler.)

Vielleicht hast du eine komplett andere Lösung... es geht halt drum, dass diese große breite Anwendung aus meinem kleinen Fenster guckt (außenrum hab ichs grau... denn man soll nur das Buch, wie auf einem schmalen Tisch liegen sehen, ohne Balken etc.) deshalb will ich sieh nach links oben rausschieben.

Oder jemand kennt ein Flipbook (am besten per XML-Reinladerei), wo ich 20 Seiten reinmachen kann. Das hab ich schon probiert http://www.iparigrafika.hu/pageflip/ aber nach stundenlangem Rumgefummel, wie man Seiten anfügt (sogar nach Anleitung) hab ichs aufgegeben.

Vielleicht könnte man auch die erstere swf in eine neue kleinere Fla-Datei reinladen, damit die Ecken von vornherein abgeschnitten sind. Aber ich hab mich schon ein bisschen informiert, da gehts doll mit Actionscript los und davon hab ich keine Ahnung.
 
Zu den schwarzen (= dunkelgrauen) Balken am oberen und unteren Fensterrand kann ich nach kurzer Sichtung der verlinkten Demo-Seite nur sagen, dass diese ein Bestandteil der Flash-Anwendung sind, und sie sich somit nur in einer der entsprechenden .fla-Dateien entfernen lassen, die in dem Download-File im Verzeichnis "Source" enthalten sind. Die Frage nach der praktischen Umsetzung wäre dann aber ein spezielles Thema für unser Flash-Board.

Wenn deine Seite nicht online erreichbar ist, wäre es ratsam, dass du sie mit allen darin benötigten Dateien hier als ZIP-Archiv hochlädst, damit man sie sich überhaupt erstmal näher anschauen kann.

Mir ist beispielsweise bislang noch nicht so richtig klar, weshalb für den IE überhaupt ein "CSS-Hack" erforderlich ist.

mfg Maik
 
Weil ich diese Anwendung per "margin" nach links oben rausschieben wollte, um die Balken zu verstecken (in Firefox siehts toll aus, aber in IE müsste man reintheoretisch noch höher margin-Minuswerte angeben, damits genauso gut zurecht geschoben ist, wie in Firefox).
In Flash kann ich nicht, weil diese Demoversion nur aus der swf besteht... ich hab schon decompile zurück in eine Fla versucht, aber das ging nicht (die swf scheint da irgendwie gesperrt zu sein)
 
Also ich finde in der besagten Download-Datei im darin enthaltenden Verzeichnis "Source" vier *.fla-Dateien vor

source_.fla-Dateien.jpg

in denen irgendwo die beiden Balken versteckt sein dürften. Diese Dateien lassen sich sicherlich in Flash öffnen und bearbeiten.

Aber wie gesagt, mit deinem Anliegen, die Balken aus dieser Flash-Anwendung zu entfernen, bist du im Flash-Board eindeutig besser aufgehoben, denn wir befinden uns hier im Forum für die Formatierungssprache "CSS".

mfg Maik
 
Das sind andere Fla's für einzelne Seiten nicht für die komplette Anwendung (die soll man ja eigentlich später in Vollversion kaufen).

Dass es eine Flashanwendung ist, ist nur Zufall... es geht nur darum dieses "Objekt" zu verschieben und dass es in IE genauso die Position hat, wie in Firefox.

Ich schau mal im Flashforum, aber eigentlich hat das nichts mit Flash selbst zu tun.
 
Dass der IE den "CSS-Hack" nicht annimmt, liegt schlichtweg daran, dass das von dir gezeigte HTML-Dokument ohne jegliche Doctype-Deklaration den Browsern im "Quirksmode" übergeben wird, und in diesem Darstellungsmodus der IE das "CSS-Boxmodell" nicht unterstützt - in deinem Fall die margin-Deklarationen.

Lösung: Einen Dokumenttyp für die Seite angeben, mit dem sie den Browsern im standardkonformen Modus übergeben wird - beispielsweise diesen hier:

Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">
<html>


Dann dürfte somit der spezielle "IE-Hack" auch nicht mehr erforderlich sein.

mfg Maik
 
Zurück