• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Tabellen-Zelle soll sich bei hover ändern

andynail

Mitglied
Hallo zusammen

in einer Datei ändert sich der Hintergrund mit hover und hier schreibe ich

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">

Und jetzt will ich das auch auf der übergeordneten Seite anwenden, doch hier steht

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

Füge ich den oben genannten doctype ein, funktioniertieren wichtige Funktion nicht mehr. Aber das hover funktioniert.

Also welche Zeile wäre dann noch eine Möglichkeit?

Danke gruß Andreas
 
Zuletzt bearbeitet:
Bitte was? Soll das einer verstehen was du da schreibst? Formulier bitte deine Frage nochmal neu und gebe gute Code beispiele. Alles was ich sehe, sind 2 Doctypes die ich überhaupt nicht mit der Frage in Zusammenhang bringen kann. Was genau ist dein Problem? Außerdem ist Transitional nicht empfehlenswert.
 
Hallo

Also die Seite ist zu umfangreich um da jetzt noch Code zu zeigen. Mit dem 2. Doctype wird zb die Größe des iframes an den Inhalt im div Inhalt angepasst. Unter dem 1. Doctype erhalte ich nur Fehlermeldungen. Und eine css Zeile lautet:

tr:hover { background-image:url('Pictures/ListingAuswahl.jpg'); background-repeat:repeat-x; background-position:0px 0px; background-color:#FFFFbf; }

Ich habs ja ausprobiert in einer kleinen Testseite mit dem genannten Ergebnis.

Danke gruß Andreas
ps:ah shit ich sollte es wohl erwähnen das ich die Fragestellung damit geändert habe das hover mit dem erst genannten doctype funktioniert
 
Zuletzt bearbeitet:
Mit dem 2. Doctype wird zb die Größe des iframes an den Inhalt im div Inhalt angepasst.

Sowas ist nicht möglich. Da täuschst Du dich sicher.

tr:hover { background-image:url('Pictures/ListingAuswahl.jpg'); background-repeat:repeat-x; background-position:0px 0px; background-color:#FFFFbf; }

Dir ist bewusst, dass das in alten Browsern wie dem IE6 nicht geht? Nicht, dass Du darin das anguckst?

Ansonsten verstehe ich immernoch nicht worum es dir geht ..
 
Du solltest dich einmal informieren, was der Doctype bedeutet und was er bewirkt.
Einmal geht es um die Validität deines HTML Dokumentes, die kanst du mit validator überprüfen: The W3C Markup Validation Service
Dann um den Darstellungsmodus der Seite.

Das alles kannst du z.b. hier nachlesen DOCTYPE-Switch und seine Auswirkungen

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
Der erste Doctype bewirkt den Standardmode der zweite den Quirksmode, diesen solltest du auf jeden Fall vermeiden.
 
Hallo und vielen Dank

und ich melde mich erst jetzt. Und das nicht mit dem Glauben das jemand noch mal antworten wird. Ich hatte ja das Thema Webdesign schon mit dieser Situation beenden wollen. Aber ich versuchs noch mal.

Vielen Dank für diesen Link. Aber ich muß den Browser so betreiben, da nur so die Zeilen

var BodyHeight = top.document.body.offsetHeight
var BodyWidth = top.document.body.offsetWidth
var DatenHeight = top.frames['Daten'].document.getElementById('Inhalt').offsetHeight
var DatenWidth = top.frames['Daten'].document.getElementById('Inhalt').offsetWidth

funktionieren. Ich schaute mich im Netz um und fand zu sehr kompliziertes was im ie auch nicht richtig funktionierte. Aber dann funktioniert nicht meine Fragestellung und damit habe ich also mindestens für die nächste Zeit die Schnauze voll. Aber was bitte soll so schlecht sein den Browser diesen DOCTYPE zu geben?

Würde mich aber weiterhin über eine Hilfestellung freuen. Denn geniale Ideen sind noch vorhandendie ich gerne verwirklichen würde.

Also dann danke im Vorraus.

Gruß Andreas
 
document.body ist im Standardmode das falsche Element, dort ist document.documentElement, das kannst du einfach mit einer Funktion abfangen:
Code:
function body(){
		return (doc.compatMode == "CSS1Compat") ? 
		window.document.documentElement : 
		window.document.body || null;
};

Die Größe des Dokumentes zu ermitteln ist aber komplizierter dank einiger IE:
Code:
function docSize function() {
	var width, height;
	var doc = window.document;
	if(body()) {
		var test1, test2;
		test1 = body().scrollHeight;
		test2 = body().offsetHeight || body().clientHeight;

		height = test1 > test2 ?  test1 : test2;

		test1 = body().scrollWidth;
		test2 = body().offsetWidth || body().clientWidth;
		
		width = (test1 > test2) ? test1 : test2;
		
		} else if( doc.height ) {
			width = doc.width;
			height = doc.height;
		}
		return [ height, width ];
	});

Die zwei anderen Werte (offsetHeight/Width) sind im Standard oder Quirksmode gleich.

Das Problem ist, dass das der IE im Quirksmode, fast alles falsch macht, daher ist dieser Modus nicht zu empfehlen.
 
Ok vielen Dank für diese Zeilen

Doch bekomme ich es nicht raus dies zu verkleinern. Denn es soll ja auch bei der Größenänderung des Fensters stets ausgeführt werden. Wenn ich es richtig interpretiere fragst du in der ersten Funktion ab in welchem Mode der Browser ausgeführt wird. Und das ist ja dann nach meiner Änderung nicht mehr notwendig.

Ich hab noch Probleme mit dem Firefox Portable und hab schon auf dieser Seite mein Problem geschildert. Und jetzt frage ich einfach mal ob denn der Browser überhaupt den Quirksmode unterstützt?

Lokal auf den Browsern hab ich keinerlei Probleme. Aber ok wenn es mit diesen Zeilen zu verwirklichen geht werde ich auch diese Variante ausprobierren. Doch hatte ich schon das Problem das ich nicht aus der Funktion die aus dem iframe heraus aufgerufen wird, die Größe des Browserfensters erkannt wurde.

Danke gruß Andreas
 
Zurück
Oben