zurück zur Startseite
  


Zurück XHTMLforum > (X)HTML und CSS > CSS
Seite neu laden position absolute und variabler Inhalt

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 18.06.2009, 14:52
Erfahrener Benutzer
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 09.07.2004
Beiträge: 1.103
cgdesign befindet sich auf einem aufstrebenden Ast
Standard position absolute und variabler Inhalt

Hallo,

ich muss mittels position: absolute verschiedene Buttons positionieren. Es geht auch überall ziemlich reibungslos, außer im IE6. Denn wenn ich z.B. ein Formular habe, wo dort mit Javascript noch Inhalt reingeschrieben wird, dann bleiben die absolut positionierten Buttons einfach stehen und wandern nicht mit. Hat jemand eine Idee?

Testseite: neu
Da auf "mehr Inhalt" klicken und ca. beim 4ten Mal bleiben die Buttons im IE6 stehen und wandern nicht mehr mit nach unten.
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 18.06.2009, 15:07
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 14.03.2007
Ort: Bad Schmiedeberg
Beiträge: 1.395
regloh wird schon bald berühmt werden
Standard

Absolut positionierte Elemente orientieren sich nicht am Inhalt und der IE macht da sowieso oft, was er will. Wobei auch andere Browser manchmal korriose Ergebnisse liefern. Verzichte auf diese Positionierung und arbeite mit margin und padding. Du benötigst hier keine absolut positionierten Elemente. Was spricht dagegen, den Footer mit ins Formular zu nehmen?

Geändert von regloh (18.06.2009 um 15:13 Uhr)
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 18.06.2009, 15:15
Erfahrener Benutzer
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 09.07.2004
Beiträge: 1.103
cgdesign befindet sich auf einem aufstrebenden Ast
Standard

Es spricht ziemlich vieles dagegen. Es ist ein CMS, das Formular und alle sonstigen Inhalte wird dynamisch zusammengebaut, der Footer ist allerdings immer fest drin, es geht nicht nur um das Beispiel-Formular, es geht um mehrere hunderte verschiedene Seiten und nicht alle Buttons sind direkt am Ende des Content-Bereiches angesiedelt und der Inhalt kann auch mal dynamisch erweitert werden, z.B. durch Fehlermeldungen, die z.B. noch vor oder nach den Buttons kommen. Deswegen ist es schwierig, mit negativen Margins zu arbeiten, mit denen der IE6 auch so seine Probleme hat.

Ich dachte nur, es gibt da eine alternative Lösung für den IE6 :/
Mit Zitat antworten
  #4 (permalink)  
Alt 18.06.2009, 20:42
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 14.03.2007
Ort: Bad Schmiedeberg
Beiträge: 1.395
regloh wird schon bald berühmt werden
Standard

Es geht hier nicht nur um den IE6. Solche Sachen absolut zu positionieren ist immer schlecht. Vorallem, wenn man es nicht wirklich braucht. Es ist IMO nirgends wirklich definiert, wie ein Browser die absolute Position z.B. ohne Angabe von left, right, top und bottom berechnet. Da gibt es manchmal gravierende Unterschiede. Absolute Positionierung, die sich irgendwie am Inhalt orientieren soll (zumindest den Eindruck erwecken soll) macht einfach zu viele Probleme.

Wenn dein Footer immer dort stehen muss, dann kann man auch darüber nachdenken, ihn komplett wegzulassen und stattdessen ein zusätzliches Element in die Form einzubauen.

Wenn das alles aufgrund von zu wenig Flexibilität des CMS nicht möglich ist und dich deine Lösung mit der absoluten Positionierung nicht zufrieden stellt, dann bleibt meist nur der Weg über eine Layoutänderung.
Mit Zitat antworten
  #5 (permalink)  
Alt 22.06.2009, 12:07
Erfahrener Benutzer
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 09.07.2004
Beiträge: 1.103
cgdesign befindet sich auf einem aufstrebenden Ast
Standard

regloh, entweder hast du noch nie mit großen CMS gearbeitet oder für große Kunden...

Ich habe weder die Möglichkeit das Layout zu ändern, da das Layout so vom Kunden abgenommen und gekauft wurde oder eben in das CMS so einzugreifen, dass ich jetzt jedes Formular einzeln da zusammenbaue. Das ist ja auch nicht Sinn und Zweck eines CMS.

Die Lösung war sogar mit JS recht einfach umzusetzen:
Das absolut positionierte Element mit JS auszublenden und direkt wieder einzublenden, damit die fehlerhafte Rendering Engine vom IE das begreift.

var positionierte_element = document.getElementById('id_irgendwas');
positionierte_element.style.display = 'none';
positionierte_element.style.display = 'block';
Mit Zitat antworten
  #6 (permalink)  
Alt 22.06.2009, 14:15
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 14.03.2007
Ort: Bad Schmiedeberg
Beiträge: 1.395
regloh wird schon bald berühmt werden
Standard

Zitat:
regloh, entweder hast du noch nie mit großen CMS gearbeitet oder für große Kunden...
Da hast du recht.

Zitat:
Ich habe weder die Möglichkeit das Layout zu ändern, da das Layout so vom Kunden abgenommen und gekauft wurde oder eben in das CMS so einzugreifen, dass ich jetzt jedes Formular einzeln da zusammenbaue. Das ist ja auch nicht Sinn und Zweck eines CMS.
Wenn ein Kunde ein Design von einem Drittanbieter kauft und nun ein anderer den Rest machen soll, dann kann es nunmal zu "Kollisionen" kommen. Und ein Design sollte sowieso an ein CMS angepasst sein/werden bzw. direkt für dieses als Template erstellt werden.

Und wenn das Design Schwachstellen hat, dann musst du das dem Kunden verdeutlichen. Und diese Schwachstellen sind nunmal, dass du die Buttons eines Formulars in einem Footer platzieren willst, der sich im Markup außerhalb des <form>-Elements befindet aber optisch dennoch dazu gehören soll. Verstehst du, dass hier bereits der Widerspruch besteht?

Zitat:
Die Lösung war sogar mit JS recht einfach umzusetzen:
Das absolut positionierte Element mit JS auszublenden und direkt wieder einzublenden, damit die fehlerhafte Rendering Engine vom IE das begreift.

var positionierte_element = document.getElementById('id_irgendwas');
positionierte_element.style.display = 'none';
positionierte_element.style.display = 'block';
Super. Das ist keine Lösung. Das ist Murks. Was macht ein User ohne JS?

Zitat:
damit die fehlerhafte Rendering Engine vom IE das begreift.
Das muss nicht zwangsläufig ein Fehler sein. Ich meine mal gehört zu haben, dass bei abs. Pos. unter bestimmten Vorraussetzungen von left, right, bottom, top nicht genau definiert ist, wie sich das Element verhalten soll.

Einen direkten Fehler im CSS kann ich nicht erkennen. Möglich, dass es ein Bug ist. Aber absolute Positionierung ist nunmal ein Thema für sich, welches u.U. Probleme mit sich bringt, die man nicht vorhersehen kann. Der IE macht sehr oft damit Probleme. Aber nicht, weil der Code falsch ist, sondern, weil Browser mit abs. Pos. unterschiedlich umgehen. Hast du denn sonst alle möglichen Browser gecheckt? Evtl. reicht dein JS-Getrickse bei anderen Browsern nicht.

Geändert von regloh (22.06.2009 um 18:01 Uhr)
Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
CSS-Layout der Browsergröße anpassen Jen CSS 3 14.11.2008 08:39
prblemme mit mein inhalt div carlos587261 CSS 3 23.04.2008 14:07
dreispaltiges layout, footer soll immer mitwandern sirrpa CSS 14 24.11.2005 18:57
div box bekomme ich nett zentriert??? Hard@Bowl CSS 1 23.05.2005 11:22
height: 100% beim IE [M.o.C]Co CSS 3 12.05.2005 12:58


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:23 Uhr.