PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : tabellen eigenschaft ermitteln



johnyb
18-10-2002, 16:11
Hallo,
ich habe ein kleines Problem. Ich habe ein Tabelle und darin, logischerweise, auch Spalten. Eine Spalte enthält ein Bild. Jetzt möchte ich, dass sich das Bild von der Breite her an diese Spalte anpasst. Das ist schonmal ein Problem. Wenn ich 100% als Breite angebe, dann scheint es zu funktionieren. Dachte ich, bis ich die Datei im InternetExplorer öffnete...... Ist es irgendwie möglich, die Tabellenbreite in Pixeln zu bekommen? Ich habe schon die Objektreferenz durchforstet und herausgefunden, wie ich die Breite der Tabellenspalte auslesen kann. Das funktioniert auch wunderbar, nur ist es so, dass ich die Tabellenspalte 50% breit gemacht habe. (das bezieht sich dann auf das nächste Element, aber bei Bildern geht das im IE nicht! *gruml* (ich will, dass alle Konqueror benutzen!! *g*)) und naja, das JavaScript Teil gibt mir auch den richtigen Wert aus... Nur leider nicht in Pixeln... kann mir da jemand helfen?!?!

bis dann
julian

tomes
18-10-2002, 22:48
bedeutet --> 100% == einhundert Prozent vom ganzen ;)
--> 100 == einhundert Pixel
Tabellen lassen sich ueber sogennante colgroups am besten definieren.

<table border=1>
<colgroup >
<col width=100 >
<col width=80 >
<col width=300 >
<colgroup >

<tr >
<td spalte mit 100 pixel /td >
<td spalte mit 80 pixel >
<td spalte mit 300 pixel >
</tr >
</table >


Wobei pixel nicht gleich pixel sind ;) --> Aufloesung des Bildschirms
Wodurch Pixel unterschiedlich gross sind ;)

In CSS setzt man px hinter die Zahl.

T;o)Mes

johnyb
19-10-2002, 22:28
Hallo,
soweit ist mir das ja klar. So hab ich es jetzt auch erstmal gelöst. Ich habe also eine explizite Größe angegeben (in Pixeln). Wie du schon sagst hängt jetzt aber das aussehen von der Auflösung ab und das ist schlecht. Deshalb wollte ich ja die breite der Tabelle in % angeben. Und das Bild sollte sich jetzt an die Tabelle anpassen. Umgekehrt ist es ja möglich... :( und im Konqueror funktioniert es, wie gesagt, aber der IE spielt nicht mit.

ich habe es so:
table width="50%"
td img src="..*g*" width="100%"

das geht.... im IE leider nicht :(

deshalb wollte ich irgendwie die breite der tabelle in pixeln abfragen.... aber das geht wohl nicht, oder?.... so ne dumme sache aber auch..

bis dann
julian

anda_skoa
19-10-2002, 23:39
Original geschrieben von johnyb
td img src="..*g*" width="100%"

das geht.... im IE leider nicht :(


Hmm, was hast du für einen DOCTYPE angegeben?
Ansich ist laut HTML4.01 width ein gültiges Attribut von img und hat den type Length.

Allen Unkenrufen zum Trotz wir dem IE in diversen Tests immer gute Standardkonformität bescheinitg.
Es könnte also sein, dass er aber nicht im richtigen Mdus arbeitet, wenn du zB vergessen hast einen DOCTYPE anzugeben oder einen falschen angegeben hast.

Ciao,
_
P.S. bitte die spitzen Klammern (<,>) dazuschreiben, so kann man nur raten, wo der Tag anfäng und wo er aufhört.
Und am besten in code Tags einbetten [code] und [ /code] ( letzteres ohne Leerzeichen nach der [ Klammer)

johnyb
20-10-2002, 13:04
Hallo,


< !doctype HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">

das ist der doctype. Ich glaube, das ist nicht mehr so ganz aktuell, oder?! ;) Der HTML Code stammt nicht von mir. Ich bin nur dazu da, entsprechenden PHP Code einzufügen. Deshalb habe ich den HTML Code weitestgehend nicht beachtet. Weil derjenige, der den HTML Teil gemacht hat, dazu NetJet oder sowas benutzt :-\ aber egal.. ;) ich werde mal den neusten doctype vom W3C raussuchen und den testen....ok.. das habe ich jetzt gemacht. Es funktioniert noch immer nicht. *verzweifel* ich habe beide doctypes (loose und strict) getestet. Sieht schlecht aus :(
wie gesagt, ich habe es jetzt erstmal so gemacht, dass ich die breite in pixeln angebe. Vielleicht ergibt sich ja irgendwann mal etwas.

ich mein, das width attribut funktioniert ja an sich, jedoch weiß ich nicht, worauf sich die % angabe bezieht. Ich dachte auf das praktische parent element (in diesem falle die zellenbreite) im IE zeigt er das Bild in voller Größe an.. im Konqueror in der Größe der Zelle, welche wiederum von der Größe des Fensters bestimmt wird. Damit hätte man bei jeder Auflösung ein "passendes" Bild. Aber so, wie ich es jetzt gemacht habe, geht es auch. (muss ja *grins*)

bis dann
julian

anda_skoa
20-10-2002, 14:06
Hmm, was sagt der Validator des w3c dazu?
(validator.w3.org)

Ich glaube DOCTYPE muß in Großbuchstaben sein.

Ciao,
_

tomes
20-10-2002, 15:48
einfach die Aufloesung per Script abfragen und dann die passende Tabelle/Bilder laden.
In 800x600 sieht nun mal alles einwenig Grobkoerniger aus.


ich mein, das width attribut funktioniert ja an sich, jedoch weiß ich nicht, worauf sich die % angabe bezieht.

Die Prozent Angabe im img Tag bezieht sich auf das Bild, auch hier ist eine Groessenangabe in Pixel besser, s.o.
In td Tag auf die relative Groesse der Tabelle und die sich auf den "Wiedergeben- Teil" des Browsers. Also ohne Scrollbalken und Sizebar usw.
Schon deshalb sind relative Groessenangaben nicht so gut. Mein Browser ist z.B. selten voll geoeffnet, also sind bei mir xx% auch "weniger".

T;o)Mes

johnyb
20-10-2002, 19:31
Hallo,

Mein Browser ist z.B. selten voll geoeffnet, also sind bei mir xx% auch "weniger".
Das ist mir klar und so sollte es ja auch sein...halt kleiner, wenn der sichtbare Bereich kleiner ist.


Die Prozent Angabe im img Tag bezieht sich auf das Bild
ist das dann im Konqueror ein Fehler in kHTML? weil, wie gesagt, das Bild passt sich der größe meines Fensters an.....

ich habe dem Bild jetzt eine feste Breite zugeordnet, das ist auch ok... wäre halt nur schöner, wenn es sich anpassen würde. danke für die hilfe jedenfalls!

bis dann
julian

Pingu
20-10-2002, 19:59
Original geschrieben von tomes
Die Prozent Angabe im img Tag bezieht sich auf das BildNegativ, die Spec sagt dazu eindeutig:
Note that lengths expressed as percentages are based on the horizontal or vertical space currently available, not on the natural size of the image, object, or applet.Steht übrigens auch in der selfhtml Doku so. Allerdings hat Netscape das früher immer aufs Bild bezogen. Ich habe auch gerade in der alten 3.2 Spec gesehen, daß dieser Punkt damals gar nicht spezifiziert war. Vielleicht solltest Du mal den DOCTYPE anpassen und vielleciht funzt es dann im IE.

-= Pingu =-

PS: Ich bin bisher auch von der anderen Interpretation ausgegangen. Man lernt halt immer dazu.

johnyb
20-10-2002, 20:27
Hallo,

Steht übrigens auch in der selfhtml Doku so. Allerdings hat Netscape das früher immer aufs Bild bezogen. Ich habe auch gerade in der alten 3.2 Spec gesehen, daß dieser Punkt damals gar nicht spezifiziert war. Vielleicht solltest Du mal den DOCTYPE anpassen und vielleciht funzt es dann im IE.
also doch!!! hab ich's mir doch fast gedacht.. also darf ich hoffen, dass es in späteren versionen des IE auch funktioniert *froi* ich werde das mal beobachten.. ist khtml also doch richtig... :) ich mein, es wäre auch für mich fast unlogisch, würde sich die % angabe auf das bild beziehen, würde es sich mit dem tag der tabellen beißen... weil: mal so und mal so.. ist schlecht ;)

das mit dem doctype habe ich ja schon geändert.. läuft aber im ie auch nicht..

bis dann
sagt ein vom IE genervter julian
*g*

tomes
20-10-2002, 21:05
Koennte man das nicht als *Hintergrundbild* der Zelle definieren ?

T;o)Mes

johnyb
20-10-2002, 21:31
Hallo,
das ist ne gute idee!! werd ich dann mal testen. Hab hier leider gerade keinen IE zur hand *g*. Danke!

bis dann
julian

PS: ich werd mich melden, wenn's geklappt hat