a umrahmen
MrCryptic
- css
0 Mathias Bigge0 Kai Lahmann0 Armin G.0 MrCryptic0 Kai Lahmann0 Armin G.
Hallo,
zuerst merke ich an, dass ich Webseiten mit dem IE 5.0 betrachte.
Ich will einen Link mit CSS umrahmen. Wenn ich nur <a style="border-style:solid; border-color:#000000; border-width:1px;"> schreibe, kommt trotzdem kein Rahmen. Wenn ich "width:300px; height:20px;" (die Pixelwerte sind nur ein Beispiel) hinzufüge geht es auf einmal. Nur, wenn ich über den Link fahre und wieder raus, bleibt unten in der Statusleiste des IE die Meldung "Download von Seite: ..." stehen. Das deutet auf falsche Syntax hin. Wenn man in die CSS 2.0 Specs auf w3.org schaut (www.w3.org/TR/REC-CSS2/propidx.html), dann sieht man, dass man borders für jedes Element definieren kann. Bei width bzw. height aber steht "all elements but non-replaced inline elements, table rows, and row groups". a ist ein inline-Element. Aber was will non-replaced sagen?
Egal, lassen wir einfach die width und height Angaben weg, so dass wir eine 100%ig korrekte Syntax haben. Der Rahmen erscheint zwar nicht, aber egal. Wenn man jetzt über den Link fährt, und wieder raus, bleibt unten in der Statusleiste wieder diese blöde Meldung stehen.
Resumé: zum einen hat der Browser anscheinend eine Macke, weil er für den Link keinen Rahmen anzeigt, ohne dass man es ihm mit width und height explizit sagt und zum anderen hat er wiederum eine Macke, weil er diese Meldung in der Statusleiste zeigt, obwohl er nichts weiter zu tun hat als eine 100%ig korrekte HTML-Datei zu interpretieren...
PS: wenn ihr euch fragt, warum ich den Link nicht einfach in einem umrahmten div-Bereich eintrage, und somit (in der Tat) keine Probleme hätte, dann will ich euch eine Antwort geben: Der Link soll noch bei 'hover' die background-color wechseln. Der div-Bereich würde dann aber seine Farbe nicht welchseln, was nicht im Sinne des Erfinders wäre.
Im Endeffekt frage ich mich also wo das Problem liegt. Was bedeutet das "non-replaced" in Verbindung mit inline-Elementen? Könntet ihr evtl. auf euren Browsern (Version auch angeben) diese Sache testen (auch die 100%ig korrekte Version ohne width und height)? Ich wäre euch dankbar...
Ich will einen Link mit CSS umrahmen. Wenn ich nur <a style="border-style:solid; border-color:#000000; border-width:1px;"> schreibe, kommt trotzdem kein Rahmen. Wenn ich "width:300px; height:20px;" (die Pixelwerte sind nur ein Beispiel) hinzufüge geht es auf einmal. Nur, wenn ich über den Link fahre und wieder raus, bleibt unten in der Statusleiste des IE die Meldung "Download von Seite: ..." stehen.
Vielleicht liegt die Status-Meldung daran, dass Du keine Link-Adresse eingegeben hast?
Vielleicht geht's so?
<a href="http://www.test.htm" target="_self" name="Testhyperlink" title="Testhyperlink für Mr Cryptic" style="background-color: Aqua; border-style: solid; border-width: 1px;">Testhyperlink</a>
Habe allerdings keinen IE 5.0 zur Hand. Vielleicht probierst Du's mal aus.
Viele Grüße
Mathias Bigge
hi
zuerst merke ich an, dass ich Webseiten mit dem IE 5.0 betrachte.
du, ob's deine User tun werden ist 'ne andere Frage.
Ich will einen Link mit CSS umrahmen. Wenn ich nur <a style="border-style:solid; border-color:#000000; border-width:1px;"> schreibe, kommt trotzdem kein Rahmen. Wenn ich "width:300px; height:20px;" (die Pixelwerte sind nur ein Beispiel) hinzufüge geht es auf einmal. Nur, wenn ich über den Link fahre und wieder raus, bleibt unten in der Statusleiste des IE die Meldung "Download von Seite: ..." stehen. Das deutet auf falsche Syntax hin. Wenn man in die CSS 2.0 Specs auf w3.org schaut (www.w3.org/TR/REC-CSS2/propidx.html), dann sieht man, dass man borders für jedes Element definieren kann. Bei width bzw. height aber steht "all elements but non-replaced inline elements, table rows, and row groups". a ist ein inline-Element. Aber was will non-replaced sagen?
replaced inline sind <img/> und <object>.
setz die <a>' auf display:block, dann sollte es auch der IE rallen - achtung, sind dann eigenständige absätze und Netscund 4 ist das zu hoch (so hab' ich's) - siehe link
gruss Kai
Tach auch,
zuerst merke ich an, dass ich Webseiten mit dem IE 5.0 betrachte.
Womit Du schon Dein Problem beschrieben hast. Der kann das was Du machen willst naemlich nicht.
Ich will einen Link mit CSS umrahmen. Wenn ich nur <a style="border-style:solid; border-color:#000000; border-width:1px;"> schreibe, kommt trotzdem kein Rahmen.
Was am IE5 liegt. Ich habe eine aehnliche Konstuktion auf einer meiner Seiten. Mozilla macht es, Opera macht es, der IE6 auch. IE5.5 weiss ich nicht, den hatte ich nicht zur Hand. Der IE5.0 aber nicht.
Gruss,
Armin
Könntest du mal mit den Browsern, die du genannt hast auf folgende Seite gehen: http://home.t-online.de/home/bucuta/michael/neu.htm, und schauen ob z.B. im IE 6 in der Statusleiste auch diese Meldung ("Download der Seite...") erscheint und bleibt nachdem du einmal über den Link fährst? Könntest du mir dann sagen, bei welchen Browsern das der Fall ist und bei welchen nicht? Ich wäre dir dankbar.
hi
Könntest du mal mit den Browsern, die du genannt hast auf folgende Seite gehen: http://home.t-online.de/home/bucuta/michael/neu.htm, und schauen ob z.B. im IE 6 in der Statusleiste auch diese Meldung ("Download der Seite...") erscheint und bleibt nachdem du einmal über den Link fährst? Könntest du mir dann sagen, bei welchen Browsern das der Fall ist und bei welchen nicht? Ich wäre dir dankbar.
Mozilla 0.9.9/Linux:
link hat rand und wort gelb
Opera 6.0beta1/Linux:
ebenso
konqueror 2.2.2/Linux:
ebenso
Amaya 5.3:
rand da, kein mouseover
Netscape 4.77/Linux:
rand da, link tot
..meht hab' ich nit, was CSS kann
gruss Kai
Danke.
Sag mal, wenn man mit "display:block;" einen Link, der ja ein inline-Element ist, in ein Block-Element umwandelt (wenn man das überhaupt so nennen kann), darf man dann auch Eigenschaften auf ihn anwenden, die man eigentlich nur auf Block-Elemente anwenden dürfte?
z.B. <a style="width:300px; height:20px; text-align:center;" ...>: text-align darf man gemäss www.w3.org/TR/REC-CSS2/propidx.html nur auf Block-Elemente anwenden, also wäre das falsch. (Übrigens erkennt das der CSS-Validator von w3 als richtig... so ein Müll)
Aber: <a style="display:block; width:300px; height:20px; text-align:center;" ...>: wäre dann das text-align gemäss www.w3.org/TR/REC-CSS2/propidx.html korrekt?
hi
Sag mal, wenn man mit "display:block;" einen Link, der ja ein inline-Element ist, in ein Block-Element umwandelt (wenn man das überhaupt so nennen kann), darf man dann auch Eigenschaften auf ihn anwenden, die man eigentlich nur auf Block-Elemente anwenden dürfte?
ja, dann ist es ja ein ganz normales Block-Element. Am Anfang war eh jedes Element ein inline und ist dann erst durch die Browsereigene CSS-Vorbelegung zum Block geworden.
gruss Kai
Tach auch,
Könntest du mal mit den Browsern, die du genannt hast auf folgende Seite gehen: http://home.t-online.de/home/bucuta/michael/neu.htm, und schauen ob z.B. im IE 6 in der Statusleiste auch diese Meldung ("Download der Seite...") erscheint und bleibt nachdem du einmal über den Link fährst? Könntest du mir dann sagen, bei welchen Browsern das der Fall ist und bei welchen nicht? Ich wäre dir dankbar.
Mozilla099, IE6 und Opera6 stehen mir im Moment zur Verfuegung. Alle zeigen den Rahmen an, wobei man jedoch anmerken muss dass Moz und Opera Deine Breitenangabe ignorieren und es nur so breit wie den Text anzeigen. Bei allen dreien bekomme ich in der Statusleiste nur die URL des links angezeigt.
Gruss,
Armin