ich möchte auf meiner Seite die Schriftgröße verändern können. So das der User drei Buttons ein kleines A, ein mittleres A und ein großes A. Wenn er auf einer der Buttons klickt verändert sich die Schriftgröße entsprechend. Dies habe ich bisher immer mit drei verschiedenem CSS Dateien realisiert und mit JavaScript gesteuert. Nun möchte ich aber auf JavaScript verzichten und dies, wenn möglich mit PHP realisieren, wenn dies geht.
Kann mir mir jemand da eine Lösung nennen oder irgendwie helfen ?
Wenn die Größe gespeichert werden soll, dann musst du auch noch cookies benutzen:
[php]if(array_key_exists(„groesse“, $_COOKIE) && !array_key_exists(„groesse“, $_GET))
$_GET[‚groesse‘] = $_COOKIE[‚groesse‘];
setcookie(„groesse“, $_GET[‚groesse‘]);[/php]
Entsprechend müsstest du dann an alle Links das groesse=x dranhängen, falls ein User keine Cookies akzeptiert.
Nutze keine absoluten Schriftgrößenangaben. Verwende nur „em“ oder „%“ als Einheiten dafür. Dann kanns du per JavaScript die Schriftgröße im body ändern - und alles andere sollte sich anpassen.
Am besten wären eigentlich garkeine festgelegten Schriftgrößen. Der User sollte sich seine Schriftgröße selber aussuchen und nach belieben mit strg + Mausrad vergrößern / verkleinern.
Danke, funktioniert perfekt aber leider muss sich nicht nur die Schriftgröße ändern der komplette CSS Style da dort das ganze Layout definiert wird. Wenn ich dies so mache, also nur die Schrift, wird das komplette Layout und die Navigation zerschossen. Daher komme ich woh nicht ohne JS aus, aber vielen Dank für die Mühe.
Du könnest aber auch einfach 3 Style Definitionen machen und diese dann je nach Anwendungsfall einbinden !
Beispiel:
Wenn kleine Schrift gewünscht, lade alle CSS Definitionen aus dem Ordner /style/small/
Wenn mittlere Schrift gewünscht, lade alle CSS Definitionen aus dem Ordner /style/medium/
Wenn großeSchrift gewünscht, lade alle CSS Definitionen aus dem Ordner /style/big/
dann müsstest Du jedoch für jeden Anwendungsfall einen eigenen Style machen - das fände ich persönlich viel zu viel ^^
Oder Du baust Deine Seite so CSS konform, das sie nicht zerreissen kann bei einer Schriftgrößen Änderung.
Das ist kein Problem drei komplett verschiedene CSS Styles anzulegen, aber diese will ich nicht mit JS sondern mit PHP ansteuern, das ist das eigentliche Problem.
Das sollte auch nicht das Problem sein mit php
[PHP]
session_start();
$default = „style1“; //standart css
$_SESSION[„style“] = (isset($_GET[„style“])) ? $_GET[„style“] : (empty($_SESSION[„style“])) ? $default : $_SESSION[„style“];
[/PHP]
dann brauchst du nur noch im head folgende anweisung schreiben
[PHP]
.css" />
[/PHP]
ändern kannst du die stylesheets dann einfach mit
[HTML]style2.css benutzen[/HTML]
wenn du kein parameter übergibst bleibt der style gleich
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec molestie. Sed aliquam sem ut arcu. Phasellus sollicitudin. Vestibulum condimentum facilisis nulla. In hac habitasse platea dictumst. Nulla nonummy. Cras quis libero. Cras venenatis. Aliquam posuere lobortis pede. Nullam fringilla urna id leo. Praesent aliquet pretium erat. Praesent non odio. Pellentesque a magna a mauris vulputate lacinia. Aenean viverra. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Aliquam lacus. Mauris magna eros, semper a, tempor et, rutrum et, tortor.sdf
@Fredmonster: Wenn man sowas unbedingt haben will, dann ist das die wohl beste Loesung. Besser waere natuerlich, jedem User seine Schrftgroesse zu lassen und die Seite so kompatibel zu machen, dass sie bei jeder Groesse funktioniert.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec molestie. Sed aliquam sem ut arcu. Phasellus sollicitudin. Vestibulum condimentum facilisis nulla. In hac habitasse platea dictumst. Nulla nonummy. Cras quis libero. Cras venenatis. Aliquam posuere lobortis pede. Nullam fringilla urna id leo. Praesent aliquet pretium erat. Praesent non odio. Pellentesque a magna a mauris vulputate lacinia. Aenean viverra. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Aliquam lacus. Mauris magna eros, semper a, tempor et, rutrum et, tortor.sdf