HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS Probleme mit HTML5, Bootstrap oder jQuery ? |
 |

30-10-2002, 13:42
|
Wotan
Master  
|
|
Registriert seit: Sep 2001
Ort: Berlin
Beiträge: 5.349
|
|
Tabellenbreite nach Bildschirmbreite
Diese Script gibt mir ja die Möglichkeit, Die Fensterbreite zuremittel:
Code:
<script language="JavaScript">
<!--
if(screen.width >= 1024)
window.location.href = "home_1024.htm"
else if(screen.width = 800)
window.location.href = "home_800.htm"
else
window.location.href = "home_640.htm"
//-->
</script>
Wie kann ich das jetzt ändern, damit er mir meine Tabellenbreite anpasst?
PHP-Code:
// bei 800x640
<table width="750">//<=Dieser Wert
<tr>
<td colspan="2">header</td>
</tr>
<tr>
<td width="200">Navigation</td>
<td width="550">//<=Dieser Wert
Text</td>
</tr>
</table>
// bei 1024x768
<table width="1000">//<=Dieser Wert
<tr>
<td colspan="2">header</td>
</tr>
<tr>
<td width="200">Navigation</td>
<td width="800">//<=Dieser Wert
Text</td>
</tr>
</table>
Diese drei Wert müssen ja angepast werden, damit die Tabelle bei den zwei Bildschirmbreiten angezeigt wird.
|

30-10-2002, 14:41
|
TBT
 Moderator
|
|
Registriert seit: Sep 2002
Ort: Berlin
Beiträge: 2.787
|
|
Prozentangaben bei den Tabellen ?
|

30-10-2002, 14:49
|
Wotan
Master  
|
|
Registriert seit: Sep 2001
Ort: Berlin
Beiträge: 5.349
|
|
Ebent nicht. Damit gibt es ja Probleme die ich verhindern will. ebent mit dieser Bildschirmweiche. Wenn du es mit % machst kann es passieren, das die Tabelle trotzdem größer dargestellt wird als wenn du mit pixel arbeitest.
|

30-10-2002, 16:47
|
Thomas
Member
|
|
Registriert seit: Mar 2001
Ort: Karlsruhe
Beiträge: 381
|
|
ich machs so:
index
<script language="JavaScript">
<!--
if(screen.width >= 1024)
window.location.href = "index2.php?r=3"
else if(screen.width = 800)
window.location.href = "index2.php?r=2"
else
window.location.href = "index2.php?r=1"
//-->
</script>
dann noch ne Meta-Umleitung, 2 Sekunden auf index2.php?r=1
und per php verschiedene Werte setzen, die Tabellenbreiten
selbst per JS zu schreiben wird immer so unübersichtlich
<script language="JavaScript">
<!--
if(screen.width >= 1024)
var breite = 1000;
else if(screen.width = 800)
var breite = 800;
else
var breite = 600;
//-->
</script>
und dann
<script language="JavaScript">
<!--
document.write('<table width=\"'+'breite+'\">);
//-->
</script>
__________________
Gruß
Thomas
|

28-03-2005, 14:48
|
Chriss
Registrierter Benutzer
|
|
Registriert seit: Oct 2001
Beiträge: 89
|
|
Zitat:
Original geschrieben von Thomas
und per php verschiedene Werte setzen, die Tabellenbreiten
selbst per JS zu schreiben wird immer so unübersichtlich
<script language="JavaScript">
<!--
if(screen.width >= 1024)
var breite = 1000;
else if(screen.width = 800)
var breite = 800;
else
var breite = 600;
//-->
</script>
und dann
<script language="JavaScript">
<!--
document.write('<table width=\"'+'breite+'\">);
//-->
</script>
|
Die genannte Lösung funktioniert leider nicht! Per PHP kann man im Übrigen gar nichts machen, da PHP geparst wird, bevor die Seite im Browser landet. Und erst im Browser kann die Screen-Breite abgefragt werden.
Deswegen jetzt die Frage: Gibt es eine Möglichkeit, die Tabellenbreite einer Tabelle von der Screen-Breite abhängig zu machen ohne einen Redirect auf eine neue Seite auszuführen?
Kann man per JavaScript einen HTML-Befehl ausführen lassen? Eine Anweisung wie folgende, funktioniert jedenfalls nicht:
PHP-Code:
<SCRIPT type="text/javascript">
<!--
if (screen.width>1024)
var width="980";
else
var width="100%";
//-->
</script>
<table width="javascript:document.write(width);" >
Da Javascript nicht geparst wird, kann es wohl keine Lösung für dieses Problem geben, oder doch?
Danke für jeden Hinweis!
Gruß,
Chriss
|

28-03-2005, 15:00
|
jahlives
Master  
|
|
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
|
|
Salut
mach doch einfach eine index Datei, die mittels JS die Breite ausliest.
Danach kannst du ja eine $_GET['breite'] machen, die du überall anhängst.
In jedem Zielscript prüfst du also ob diese Var gesetzt ist und ob die Werte
gültig sind. Dann kannst du mittels php beim Seitenaufbau die
entsprechende Tabellengrösse rausschreiben.
Gruss
tobi
EDIT:
@Wotan: Sorry habe das Datum nicht angeschaut...
Geändert von jahlives (28-03-2005 um 16:35 Uhr)
|

28-03-2005, 16:27
|
Wotan
Master  
|
|
Registriert seit: Sep 2001
Ort: Berlin
Beiträge: 5.349
|
|
Habt Ihr beide schon mal auf das alter des Posting(30-10-2002 12:42) geschaut, ihr braucht nicht so alte Posting vorholen!
Geändert von Wotan (28-03-2005 um 18:46 Uhr)
|

28-03-2005, 18:43
|
Chriss
Registrierter Benutzer
|
|
Registriert seit: Oct 2001
Beiträge: 89
|
|
Zitat:
Original geschrieben von jahlives
[...]mach doch einfach eine index Datei, die mittels JS die Breite ausliest.
Danach kannst du ja eine $_GET['breite'] machen, die du überall anhängst.
|
Ja, das funktioniert natürlich. Ich komme aber nicht drumrum, zumindest beim ersten Aufruf ein Redirect zu erzeugen, bzw. die Seite erneut zu laden. Das wollte ich eigentlich nicht, aber ist wohl tatsächlich nicht anders möglich.
Zitat:
Original geschrieben von Wotan
Habt Ihr beide schon mal auf das alter des Posting(30-10-2002 12:42) geschaut, Ich braucht nicht so alte Posting vorholen!
|
Wieso denn nicht? Es passt doch zu meiner Frage und dass die ersten Beiträge schon sehr alt sind, stört in diesem Fall doch überhaupt nicht.
Gruß + Danke,
Chriss
|

28-03-2005, 23:43
|
Hopka
PHP Expert
|
|
Registriert seit: May 2003
Ort: Köln
Beiträge: 2.172
|
|
Ich finde die Idee an sich zwar total bescheuert, aber ich würde es nach dem Prinzip machen (wenn ich dazu gezwungen würde):
Code:
<table id="Tabelle">
...
document.getElementById('Tabelle').style.width = '12px';
|

29-03-2005, 01:15
|
Chriss
Registrierter Benutzer
|
|
Registriert seit: Oct 2001
Beiträge: 89
|
|
Zitat:
Original geschrieben von Hopka
Ich finde die Idee an sich zwar total bescheuert, aber ich würde es nach dem Prinzip machen (wenn ich dazu gezwungen würde):
Code:
<table id="Tabelle">
...
document.getElementById('Tabelle').style.width = '12px';
|
Super, so funktioniert's! Ich setze Deine Lösung nun ein, um das Layout bei hohen Auflösungen ansprechender zu gestalten. Wieso findest Du die Lösung bescheuert?
Das einzige, was passieren kann ist, dass der User JavaScript deaktiviert hat. Und in diesem Fall wird die Tabelle ohne Größenangabe 100% breit. In meinem Fall kein Problem.
Gruß,
Chriss
|

29-03-2005, 18:10
|
Hopka
PHP Expert
|
|
Registriert seit: May 2003
Ort: Köln
Beiträge: 2.172
|
|
Ich finde die Lösung nicht bescheuert. Ich finde nur die Idee an sich ziemlich dämlich, die Breite einer Tabelle pixelgenau ans Fenster anzupassen.
Ich würde einfach die %-Angaben nehmen, und es in Kauf nehmen, dass dann halt in dem ein oder anderen Browser etwas größere Lücken da sind.
|

29-03-2005, 18:49
|
Chriss
Registrierter Benutzer
|
|
Registriert seit: Oct 2001
Beiträge: 89
|
|
Zitat:
Original geschrieben von Hopka
Ich finde die Lösung nicht bescheuert. Ich finde nur die Idee an sich ziemlich dämlich, die Breite einer Tabelle pixelgenau ans Fenster anzupassen.
Ich würde einfach die %-Angaben nehmen, und es in Kauf nehmen, dass dann halt in dem ein oder anderen Browser etwas größere Lücken da sind.
|
Ok, aber warum sollte man nicht die Möglichkeiten nutzen, um auf sehr einfache Art und Weise das Layout für verschiedene Auflösungen attraktiver zu gestalten? Was ist daran "dämlich"?
Wenn Du mein Layout kennen würdest, so würdest Du mir sicher Recht geben, dass die nun gewählte Lösung bei allen Auflösungen mehr hergibt als zuvor.
Gruß,
Chriss
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
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.
HTML-Code ist aus.
|
|
|
|
PHP News
|