Wechselwirkungen vom "width"-Attribut
Sebbecking
- css
Hallo !
Ich bin hier kurz vor'm Verzweifeln...
Folgendes:
Ich habe einen Div-Layer (nennt man das so ?).
Dieser beschreibt einen Kasten.
Nun will ich den Kasten so platzieren, dass er rechts 2% Abstand vom Seitenrand und links 2% abstand zum Seitenrand hat.
Also habe ich angegeben:
width: 96%;
left: 2%;
right: 2%;
http://www.arbeitslos-ab-2009.de/v2/
Im Firefox funktioniert das ganze.
Aber der Internetexplorer, mein Problemkind,
interpretiert das "right: 2%" nicht richtig. Zumindest scheint es mir so. Er hät nicht vom seitenrand 2% Abstand, sondern sondern som ende des Kastens, also 2% vorm Ende von width.
Wie mach ich das jetzt, dass es auf beiden Browsern toll aussieht ?
Wenn ich "right" weglasse, dann sieht es auf dem Internetexplorer aus wie gewollt. Dafür steht der Kasten im Firefox aber heraus...
Hier die Seite: http://www.arbeitslos-ab-2009.de/v2/
Hi,
Ich habe einen Div-Layer (nennt man das so ?).
nein, etwas namens "Layer" gibt es in HTML oder CSS nicht. Die richtige Bezeichnung lautet "Element", in diesem Fall ein <div> - was für CSS aber unerheblich ist.
Dieser beschreibt einen Kasten.
Eine Box. Natürlich.
Im Firefox funktioniert das ganze.
Richtig.
Aber der Internetexplorer, mein Problemkind,
interpretiert das "right: 2%" nicht richtig.
Nämlich gar nicht. Er kann left und right (bzw. top und bottom) nicht miteinander koordinieren.
Wenn ich "right" weglasse, dann sieht es auf dem Internetexplorer aus wie gewollt. Dafür steht der Kasten im Firefox aber heraus...
Das kann ich nicht nachvollziehen, da ich auf der von Dir angegebenen - aber aus mir nicht nachvollziehbaren Gründen nicht verlinkten - Seite nur Frames sehe, keinen Versuch eines Layouts mittels CSS.
Cheatah
Hi,
Ich habe einen Div-Layer (nennt man das so ?).
nein, etwas namens "Layer" gibt es in HTML oder CSS nicht. Die richtige Bezeichnung lautet "Element", in diesem Fall ein <div> - was für CSS aber unerheblich ist.
Aha. Ok, danke, merke ich mir.
Dieser beschreibt einen Kasten.
Eine Box. Natürlich.
»»
Im Firefox funktioniert das ganze.
Richtig.
Aber der Internetexplorer, mein Problemkind,
interpretiert das "right: 2%" nicht richtig.Nämlich gar nicht. Er kann left und right (bzw. top und bottom) nicht miteinander koordinieren.
Was meinst du genau mit Koordinieren ?
Wenn ich "right" weglasse, dann sieht es auf dem Internetexplorer aus wie gewollt. Dafür steht der Kasten im Firefox aber heraus...
Das kann ich nicht nachvollziehen, da ich auf der von Dir angegebenen - aber aus mir nicht nachvollziehbaren Gründen nicht verlinkten - Seite nur Frames sehe, keinen Versuch eines Layouts mittels CSS.
Davon war -eigentlich- auch nie die Rede. Ich möchte nur, dass die breite der "Box" zu der Breite des darüberliegenden Frames passt.
Nocheinmal meine Frage: Wie bekomme ich das hin ?
Cheatah
Gruß, Sebastian
P.S: auch wen du vieleicht einen schlechten Tag hast/hattest, du musst es nicht an mir auslassen. Ich gebe zu, ich kenne mich nich so sehr aus, ich möchte einfach nur dass es funktioniert. Menschlichkeit - Freundlichkeit. OK ?
Hi,
Ich gebe zu, ich kenne mich nich so sehr aus, ich möchte einfach nur dass es funktioniert.
hmm, das hoert sich jetzt nicht so supergut an. Wenn alle so denken wuerden, dann wuerde "Gerd" noch einmal gewinnen. :-)
Gruss,
Ludger
Hi Ludger!
Wenn alle so denken wuerden, dann wuerde "Gerd" noch einmal gewinnen. :-)
Das wäre doch besser, als wenn gewisse Alternativinnen an die Macht kommen würden. :)
MfG Hopsel
hi,
Ich gebe zu, ich kenne mich nich so sehr aus, ich möchte einfach nur dass es funktioniert.
hmm, das hoert sich jetzt nicht so supergut an. Wenn alle so denken wuerden, dann wuerde "Gerd" noch einmal gewinnen. :-)
Und wenn es allen egal ist, ob überhaupt noch was funktioniert - dann wählen sie das Merkel.
gruß,
wahsaga
Hallo,
Und wenn es allen egal ist, ob überhaupt noch was funktioniert - dann wählen sie das Merkel.
Das klingt nach PDS und nicht nach Merkel ;-)
Hi Sebbecking!
P.S: auch wen du vieleicht einen schlechten Tag hast/hattest, du musst es nicht an mir auslassen. Ich gebe zu, ich kenne mich nich so sehr aus, ich möchte einfach nur dass es funktioniert. Menschlichkeit - Freundlichkeit. OK ?
You made my day! :)
MfG Hopsel
Moin!
Aber der Internetexplorer, mein Problemkind,
interpretiert das "right: 2%" nicht richtig.Nämlich gar nicht. Er kann left und right (bzw. top und bottom) nicht miteinander koordinieren.
Was meinst du genau mit Koordinieren ?
Der IE ist nicht in der Lage, die Angaben zu left und right so passend zusammenzurechnen, dass zusammen mit width etwas herauskommt, was gemäß des CSS-Standards und der Anzeige des Firefox aussieht.
Wenn ich "right" weglasse, dann sieht es auf dem Internetexplorer aus wie gewollt. Dafür steht der Kasten im Firefox aber heraus...
Das kann ich nicht nachvollziehen, da ich auf der von Dir angegebenen - aber aus mir nicht nachvollziehbaren Gründen nicht verlinkten - Seite nur Frames sehe, keinen Versuch eines Layouts mittels CSS.
Davon war -eigentlich- auch nie die Rede. Ich möchte nur, dass die breite der "Box" zu der Breite des darüberliegenden Frames passt.
Nocheinmal meine Frage: Wie bekomme ich das hin ?
Naja, dein bisheriges Ergebnis ist leider noch nicht wirklich ermutigend - aber da du ja noch am Anfang des Projektes stehst, kriegst du es bestimmt noch hin, gewisse ungünstige Dinge noch zu bereinigen:
1. Dein Frameset wird mit dem DOCTYPE "HTML 4.01 strict" ausgeliefert. Das ist falsch, du mußt "HTML 4.01 Frameset" verwenden.
2. Deine Inhaltsseiten werden auch mit "HTML 4.01 strict" ausgeliefert. Das ist zwar nicht grundsätzlich falsch, aber in Kombination mit einem Frameset mehr als ungewöhlich, weil du innerhalb von Strict kein target-Attribut benutzen darfst, um Links in anderen Framefenstern zu laden. Benutze "HTML 4.01 Transitional".
3. Deine Framesetdefinition ist fehlerhaft:
<frameset rows="100px,*,10%" frameborder="NO" border="0" framespacing="0" >
<frame src="top.php" name="topFrame" scrolling="NO" noresize >
<frameset cols="2%,*,2%" frameborder="NO" border="0" framespacing="0" >
<frame src="side.php" name="mainFrame" scrolling="NO" noresize >
<frame src="main.php" name="mainFrame" scrolling="NO" noresize >
<frame src="side.php" name="mainFrame" scrolling="NO" noresize >
</frameset>
<frame src="bottom.php" name="bottomFrame" scrolling="NO" noresize>
</frameset>
Die rows-Breitenangabe ist falsch, und es existieren drei Frames namens "mainFrame" - in welchen soll bei <a target="mainFrame"> denn das Linkziel geladen werden? In alle drei gleichzeitig?
4. Abgesehen davon benutzt du PHP und solltest deshalb über alle technischen Möglichkeiten verfügen, um auf Frames als Mittel zur "Menüdatei zentral halten und auf allen Seiten gleichzeitig aktualisieren" verzichten zu können. Dein bisheriges Design jedenfalls ist absolut nicht so aufwendig, um nicht auch komplett ohne Frameset realisierbar zu sein. Eher im Gegenteil.
P.S: auch wen du vieleicht einen schlechten Tag hast/hattest, du musst es nicht an mir auslassen. Ich gebe zu, ich kenne mich nich so sehr aus, ich möchte einfach nur dass es funktioniert. Menschlichkeit - Freundlichkeit. OK ?
Cheatah ist freundlich. In deinem inneren Ohr klingt sein Text vielleicht aggresiv, das liegt aber eher daran, dass du dir das so vorstellst - inhaltlich ist das nicht begründet.
- Sven Rautenberg
Moin!
Moin ;)
Der IE ist nicht in der Lage, die Angaben zu left und right so passend zusammenzurechnen, dass zusammen mit width etwas herauskommt, was gemäß des CSS-Standards und der Anzeige des Firefox aussieht.
Böses IE ! ;-}
Naja, dein bisheriges Ergebnis ist leider noch nicht wirklich ermutigend - aber da du ja noch am Anfang des Projektes stehst, kriegst du es bestimmt noch hin, gewisse ungünstige Dinge noch zu bereinigen:
- Dein Frameset wird mit dem DOCTYPE "HTML 4.01 strict" ausgeliefert. Das ist falsch, du mußt "HTML 4.01 Frameset" verwenden.
Jop. Ursprünglich hatte ich das mal richtig ;) Ich hatte das nur mal verändert, als mir jemand gesagt hatte, dass mein Problem so ein Box-Bug (oder so ähnlich) wäre, und das habe ich auf einer Seite nachgelsen, deshalb Testweise ersetzt.
- Deine Inhaltsseiten werden auch mit "HTML 4.01 strict" ausgeliefert. Das ist zwar nicht grundsätzlich falsch, aber in Kombination mit einem Frameset mehr als ungewöhlich, weil du innerhalb von Strict kein target-Attribut benutzen darfst, um Links in anderen Framefenstern zu laden. Benutze "HTML 4.01 Transitional".
Dito. siehe oben.
- Deine Framesetdefinition ist fehlerhaft:
<frameset rows="100px,,10%" frameborder="NO" border="0" framespacing="0" >
<frame src="top.php" name="topFrame" scrolling="NO" noresize >
<frameset cols="2%,,2%" frameborder="NO" border="0" framespacing="0" ><frame src="side.php" name="mainFrame" scrolling="NO" noresize >
<frame src="main.php" name="mainFrame" scrolling="NO" noresize >
<frame src="side.php" name="mainFrame" scrolling="NO" noresize ></frameset>
<frame src="bottom.php" name="bottomFrame" scrolling="NO" noresize>
</frameset>
>
> Die rows-Breitenangabe ist falsch, und es existieren drei Frames namens "mainFrame" - in welchen soll bei <a target="mainFrame"> denn das Linkziel geladen werden? In alle drei gleichzeitig?
Naja, Copy'n'Paste-Flüchtigkeitsfehler.. hätte ich bestimmt noch gemerkt ;)
>
> 4. Abgesehen davon benutzt du PHP und solltest deshalb über alle technischen Möglichkeiten verfügen, um auf Frames als Mittel zur "Menüdatei zentral halten und auf allen Seiten gleichzeitig aktualisieren" verzichten zu können. Dein bisheriges Design jedenfalls ist absolut nicht so aufwendig, um nicht auch komplett ohne Frameset realisierbar zu sein. Eher im Gegenteil.
Ich weiss nicht... Mir ist irgendwie nicht wohl dabei, ein Forum z.B. per include oder require einzubinden.. Frames lassen mir irgendwie die möglichkeit ALLES einzubinden. Oder sollte ich da was übersehen haben ?
> Cheatah ist freundlich. In deinem inneren Ohr klingt sein Text vielleicht aggresiv, das liegt aber eher daran, dass du dir das so vorstellst - inhaltlich ist das nicht begründet.
Naja, mag sein. Mir kommt seine Antwort ein wenig... (nimms mir nicht über ;) arrogant vor..
> - Sven Rautenberg
Danke für die umfassende Beantwortung und Analyse meines Projektes.
MfG
Sebbecking
Hi,
Naja, mag sein. Mir kommt seine Antwort ein wenig... (nimms mir nicht über ;) arrogant vor..
Arroganz wuerde auf Dummheit hindeuten. So Chirac-maessig und so, willst Du etwa Cheatah als dumm bezeichnen???
Gruss,
Ludger
Hi,
Naja, mag sein. Mir kommt seine Antwort ein wenig... (nimms mir nicht über ;) arrogant vor..
Arroganz wuerde auf Dummheit hindeuten. So Chirac-maessig und so, willst Du etwa Cheatah als dumm bezeichnen???
Gruss,
Ludger
Nö, dazu kenne ich ihn viel zu schlecht...
Aber du hast ja mal rethorische Fähigkeiten ;)
MfG
Sebbecking
Moin!
Ich weiss nicht... Mir ist irgendwie nicht wohl dabei, ein Forum z.B. per include oder require einzubinden.. Frames lassen mir irgendwie die möglichkeit ALLES einzubinden. Oder sollte ich da was übersehen haben ?
Frames arbeiten auf der Client-Seite. PHP arbeitet auf der Server-Seite.
Wenn du dein Forum "passend" gestaltest, dann fügt es sich problemlos auch ohne irgendwelche Frames- oder include-Konstrukte in deine Seite ein. Dazu ist es natürlich erforderlich, dass du dein Forum tatsächlich bei dir lokal auf dem Webserver installierst, und nicht irgendeinen externen Anbieter verlinkst. Allerdings: Selbst dann wäre es ja grundsätzlich kein Problem, das Forum in einem neuen Fenster zu öffnen, oder?
Abgesehen davon wäre es in der Tat nicht sonderlich schlau, ein installiertes Forum per include in die Seite einzubinden. Aber die Forums-Templates auf deine Bedürfnisse anzupassen sollte dir doch eigentlich möglich sein. Foren bestehen doch in der Regel aus einem großen Rahmen-Template, und dann aus vielen kleineren HTML-Fragmenten, um die man sich eigentlich garnicht kümmern muß, wenn der Rahmen erst mal die eigenen Links zu den anderen Menüpunkten enthält.
Cheatah ist freundlich. In deinem inneren Ohr klingt sein Text vielleicht aggresiv, das liegt aber eher daran, dass du dir das so vorstellst - inhaltlich ist das nicht begründet.
Naja, mag sein. Mir kommt seine Antwort ein wenig... (nimms mir nicht über ;) arrogant vor..
Cheatah gibt sachliche Antworten und will in der Tat nur dein Bestes, nämlich dich durch wohldosierte Repliken zum Nachdenken anregen und so die "Energie des Verstehens" entdecken und anzuwenden.
Diese Vorgehensweise wird gerne mal kritisiert, vor allem von der jüngeren Bevölkerung ;), weil sie die ehrlich gutgemeinten Absichten dahinter nicht sofort versteht. Trotzdem bietet Cheatah dir fachlich hochqualitativen Beistand, wenn du seine Art des Antwortens akzeptierst. Ändern wirst du sie nämlich nicht können. :)
- Sven Rautenberg
Hi Sebbecking!
Wie mach ich das jetzt, dass es auf beiden Browsern toll aussieht ?
html, body {
margin: 0px;
width: 100%;
}
div#box {
margin-right: 2%;
margin-left: 2%;
background-color: #000;
}
MfG Hopsel
Moin!
Hi Sebbecking!
Wie mach ich das jetzt, dass es auf beiden Browsern toll aussieht ?
> html, body {
> margin: 0px;
padding:0px; /* manche Browser haben padding im Body, kein Margin - was durchaus sinnvoll ist, weil padding nach innen wirkt, und der Rand des Browserfensters sozusagen der border ist. */
> width: 100%;
> }
>
> div#box {
> margin-right: 2%;
> margin-left: 2%;
> background-color: #000;
> }
- Sven Rautenberg
html, body {
margin: 0px;
padding:0px; /* manche Browser haben padding im Body, kein Margin - was durchaus sinnvoll ist, weil padding nach innen wirkt, und der Rand des Browserfensters sozusagen der border ist. */
width: 100%;
}div#box {
margin-right: 2%;
margin-left: 2%;
background-color: #000;
}
>
> - Sven Rautenberg
DANKE !
Das hat wirklich gehofen.. ich glaubs nicht \*g\*
Vielen, vielen Dank...
MfG
Sebbecking