probleme mit opera
Mark_232323
- css
0 Mathias Brodala0 Mark_2323230 rfb0 Mark_2323230 rfb0 Der Martin
0 Mark_232323
Bis auf Opera stellen alle Browser meine CSS-Angaben richtig dar. Ist das normal oder habe ich da etwas nicht bedacht?
Es handelt sich um die Angabe margin-top....
Dankeschön vorweg
Hallo Mark_232323.
Bis auf Opera stellen alle Browser meine CSS-Angaben richtig dar. Ist das normal oder habe ich da etwas nicht bedacht?
Es handelt sich um die Angabe margin-top....
In welchem Zusammenhang?
Einen schönen Freitag noch.
Gruß, Mathias
...das div element wird im opera um circa 100 pixel nach unten verschoben.
Hallo Mark_232323.
Bis auf Opera stellen alle Browser meine CSS-Angaben richtig dar. Ist das normal oder habe ich da etwas nicht bedacht?
Es handelt sich um die Angabe margin-top....
In welchem Zusammenhang?
Einen schönen Freitag noch.
Gruß, Mathias
Moin
...das div element wird im opera um circa 100 pixel nach unten verschoben.
Es handelt sich um die Angabe margin-top....
bei dem Informationsgehalt deiner Antworten konnte das ja nur mit einer Krückenlösung enden.
Um ernsthaft am Problem zu arbeiten müsstest du auch ernsthaft antworten.
Gruß
rfb
...war schon spät.
Wenn du eine andere Lösung hast, würde mich das freuen.
Hier findest du den Quelltext, der das Problem inne trägt:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
<head>
<style type="text/css">
#position {
background-color: #white;
position: absolute;
width: 100%;
top: 50%;
margin-top: -220px;
}
#fixed_andere {
position: fixed;
margin-top: 0px;
background: #eaeaea;
border: 1px solid red;
width: 750px;
height: 435px;
}
#fixed_ie {
position: absolute;
left: expression(parseInt(document.body.scrollLeft + 0));
top: expression(parseInt(document.body.scrollTop + 0));
background: #eaeaea;
border: 1px solid red;
width: 750px;
height: 435px;
}
html > body #fixed_ie {
display: none;
}
* html #fixed_andere {
display: none;
}
</style>
</head>
<body>
<div id="position">
<div id="fixed_ie">ie
</div>
<div id="fixed_andere">andere
</div>
</div>
</body>
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Ich muss noch dazu sagen, dass dies nicht der komplette Quelltext ist, sondern lediglich der Teil, in dem mein Problem zu finden ist. Also: Die Browserumleitung muss auf jedenfall dort sein.
Lässt man sich die Box in Opera anzeigen, sitzt sie circa 100px oder auch mehr unter der eigentlichen Position. Ich dachte mir, dass es eventuell an dem Minuszeichen der #position liegen könnte. (?)
Leider werde ich erst heute Nachmittag antworten bzw. die Antworten lesen können. Vielen Dank im Voraus für Anmerkungen und evtl. Lösungen.
Mark
Moin
Leider werde ich erst heute Nachmittag antworten bzw. die Antworten lesen können.
Leider kann ich aus diesen Info-Bröckchen dein Problem nicht rekonstruieren.
Gruß
rfb
Hallo rfb,
vielen Dank für deine Antworten (+Opera).
Wieso kannst du denn mein Problem nicht rekonstruieren?
Wenn ich das Script in eine html Datei kopiere und in FF od. IE öffne und dann im Opera, rutscht das Div circa 100px nach unten. Das ist auch das von mir beschriebene Problem.
Was fehlt denn an Information?
Ich bin gerne bereit mehr preiszugeben, wenn es nötig ist.
LG
Hallo,
#fixed_andere {
position: fixed;
margin-top: 0px;
background: #eaeaea;
border: 1px solid red;
width: 750px;
height: 435px;
}
es ist ja schön, dass du hier ein Element "fixed" positionieren willst - aber an welcher Position? Frei nach dem Motto: "Wir treffen uns um sieben" - "Okay. Und wo?" - "Mir egal. Aber sei pünktlich."
Selbst wenn du das Element bei top:0; left:0; haben willst, wäre es IMHO sauberer, diese Position auch anzugeben, sonst sieht das so sehr nach Versehen aus. ;-)
#fixed_ie {
position: absolute;
left: expression(parseInt(document.body.scrollLeft + 0));
top: expression(parseInt(document.body.scrollTop + 0));
Und ist dir auch klar, dass diese Ausdrücke vom IE nur interpretiert werden, wenn Javascript aktiviert ist? Andernfalls werden diese Angaben ignoriert, und das Element hat auch im IE keine Position (bzw. liegt an top:0; left:0; bezogen auf sein Elternelement).
So long,
Martin
Hallo,
#fixed_andere {
position: fixed;
margin-top: 0px;
background: #eaeaea;
border: 1px solid red;
width: 750px;
height: 435px;
}es ist ja schön, dass du hier ein Element "fixed" positionieren willst...
Ich dachte, dass sich das Element ohne Angabe immer an der Position "top:0 left:0" ausrichtet. Da sich das oben angegebene Element in ein anderes verschachtelt, ging ich davon aus, dass dann die Positionierungen des übergeordneten Elements genügen und man so Quelltext sparen kann.
Ist das falsch?
Hi,
Ich dachte, dass sich das Element ohne Angabe immer an der Position "top:0 left:0" ausrichtet. [...]
Ist das falsch?
nein, das ist im Prinzip richtig. Nur bin ich der Meinung, dass es für die Lesbarkeit und Verständlichkeit des Codes gut ist, wenn man solche impliziten Angaben trotzdem ausschreibt. Sonst -und das meinte ich mit Versehen- sieht es immer so aus, als hätte der Autor etwas vergessen.
Abgesehen davon ist bei absoluter oder auch fixer Positionierung natürlich immer noch die Frage, an welchem Element sich die Positionsangabe orientiert. Das ist eben nicht einfach nur immer das Elternelement, und auch nicht das Browserfenster. Sondern es ist das erste Vorfahrenelement, das seinerseits ausdrücklich positioniert ist, also nicht den Defaultwert static für die position-Eigenschaft hat. In deinem Beispiel ist also div#position das "Referenzelement", nach dem sich die Positionsangaben richten.
Schönes Wochenende noch,
Martin
Ich habe eine Lösung gefunden.
Über eine PHP-Datei kann man die Browser selektieren. So kann ich speziell für Opera eine eigene CSS erstellen.
Danke trotzdem.