Seiten zentrieren mit Platzhalter funktioniert nicht mehr.

paulpilke schrieb am 26.02.2016 um 11:37 Uhr

Hallo!
Die letzten Jahre habe ich meine Webseiten immer mit einem Platzhalter zentriert, der im "head" folgende Zeichen hat:

function  center() {
var my = document.getElementById('xr_xr');
var b=parseInt(my.style.width);
var h=parseInt(my.style.height);
var bheight = window.innerHeight || (window.document.documentElement.clientHeight || window.document.body.clientHeight);
b=(b/2)-b;
my.style.marginLeft = b + "px";
h=(h/2)-h;
if(parseInt(bheight) <= parseInt(my.style.height))
{
my.style.marginTop = "0px";
my.style.top="0px"

} else {
my.style.marginTop = h + "px";
my.style.top="50%"
}

my.style.left="50%"
my.style.textAlign="left";
my.style.position="absolute";
my.style.padding="0px";
}

function center_ () {
center();
document.body.style.visibility = "visible";


}

window.onDomReady(center_);
window.onresize=center;
</script>

Das hat auch immer prima und ohne Fehler geklappt...
Bis jetzt:

Ich habe für eine Seite eine Smartphone-Variante angelegt (480px).
(Die Standard-Seite hat immer noch 760 px)
Die Smartphonseite soweit angepasst.
Nun wird die smartphone-Variante auch passend auf einem smartphone angezeigt. m
Das ist schon mal gut...
Aber die Seite auf PC-Bildschirm (und Tablett) "hängt" leider unten rechts in der Ecke (bzw. am Rand) fest.
Warum funktioniert der Platzhalter nun nicht mehr? Das muss doch irgend wie mit der erstellten Smartphone-Variante zusammen hängen, da dieser Platzhalter ja auf allen anderen erstellten Webseiten einwandfrei funzt...
Hat jemand eine Idee, wie ich nun die Seite wieder zentriert auf den Schirm bekomme (ohne ständig in einer.css Datei reinschreiben zu müssen. Was leider auch missglückt ist)

Bin für jeden Tipp dankbar!

Beste Grüße

 

Kommentare

BeRo schrieb am 26.02.2016 um 12:53 Uhr

Du verwendest für die Zentrierung ein Element mit der vom WD intern vergebenen ID "xr_xr".
Da der WD für die Darstellung der Varianten Seiten (Smartphone-, Tablet-, Desktop-, etc.) den benötigten HTML- und Script Codes in eine einzige HTML Datei ("index.htm") packt, werden die unterschiedlichen Seitendarstellungen  vom WD gehändelt. Dabei haben die internen Script Funktionen absoluten Vorrang vor eventuell ähnlichen Funktionen, die von einem User zusätzlich angelegt wurden.

Das ist die Ursache Deines Problems. Als Lösung bieten sich 2 Möglichkeiten an:

  1. Du kannst Dein Projekt aufteilen in Einzelprojekte. Also z. B. ein Projekt für Smartphones und ein weiteres für Desktop Geräte.
    Die Einzelprojekte übergibst Du an eine PHP basierte Browserweiche, die dafür sorgt, dass die richtige Site an den jeweils aufrufenden Browser übergeben wird.
    In dem Fall kannst Du den HTML/JS/CSS Code der Einzelprojekte in gewohnter Weise ergänzen.
  2. Du kannst einen anderen Scriptcode probieren, der idealerweise CSS basiert arbeitet oder mit einer Mischung aus CSS und JS, ohne dabei die vom WD benutzten Variablen einzubinden.
    Hier findest Du eine Menge solcher Scriptlets mit den nötigen Erklärungen.

Viel Erfolg

Zuletzt geändert von BeRo am 26.02.2016, 12:53, insgesamt 2-mal geändert.

Auf den Tag genau gehen heute, am 14.08.2021, 10 Jahre online Support für die Community zu Ende.
Ich freue mich auf eine neue, berufliche Herausforderung, die sich gerade ergeben hat. Leider bleibt dann keine Zeit mehr für die Community übrig, aber Ihr seid bei den aktiven Mitgliedern in besten Händen.
Sicher schaue ich auch ab und zu nochmal rein... 🤓

paulpilke schrieb am 26.02.2016 um 14:09 Uhr

Vielen Dank für die schnelle und ausführliche Antwort!

Leider verstehe ich nur "Bahnhof" und mir ist das alles zu kompliziert als Laie.
Schade, hat ja jahrelang so einfach geklappt.
Aber nun kapituliere ich und gebe die Erstellung wieder an Leute ab, die sich damit auskennen...
Hatte gehofft, dass es inzwischen sowas gibt wie "Seitendarstellung"-"Zentriert" oder ähnliches.

Vielleicht ja irgendwann mal...
 

Trotzdem, noch mals Danke für Deine Mühe.

 

Gruß
PaulPilke