1.9k Aufrufe
Gefragt in Webseiten HTML von
Hallo!

Warum wird hiermit keine border ums image gelegt?

<A href="index.html">
<img src="img/btn.jpg" border=33 alt="Pic not present" />
</A>

danke!

2 Antworten

0 Punkte
Beantwortet von friedel Experte (3.3k Punkte)
Zuerst mal solltest du dich entscheiden, ob du Html oder Xhtml schreibst. Bei Html darfst du keinen Slash am Ende des Img-Elements schreiben. Bei Xhtml musst du ihn schreiben, aber dort darfst du das "A" beim Link nicht groß schreiben.

Das border-Attribut ist als depraced eingestuft. Es ist also veraltet und sollte nicht mehr verwendet werden. Aber wenn man Html gerade erst lernt und mit CSS noch nicht klar kommt, braucht man das nicht zu beachten. Mit CSS und der ganz anderen Syntax davon sollte man sich befassen, wenn man mit Html einigermaßen klar kommt, aber nicht vorher. Die Html-Attribute funktionieren auch, wenn sie veraltet sind. Die Html-Versionen und Browser sind alle abwärtskompatibel. Das bedeutet, dass auch ganz neue Browser und auch zukünftige Browser in der Lage sein müssen, Html-Seiten dar zu stellen, die nach veralteten Regeln geschrieben wurden. (Das gilt für Html und auch für Xhtml, aber nicht für ein Gemisch aus beidem.)

Das Border-Attribut gibt es nur für Blockelemente. Also z.B. für die Elemente Absatz (<p>), Überschrift (<h[1-6]>), Adresse (<address>), Textblock (<blockquote>), präformatierter Text (<pre>), Bereich (<div>), Tabelle (<table>), Tabellenzeile (<tr>), Tabellenspalte (<th>), Tabellenzelle (<td>), Dokumentkörper (<body>) und zentrierter Bereich (<center>).

Normalerweise sollte dein Bild aber durch den Link eh einen Rahmen haben, wenn du nicht durch Styleangaben dafür gesorgt hast, dass dieser Rahmen nicht dargestellt wird.

In jedem Fall ist es besser, den Rahmen mit CSS zu erzeugen. In Html schreibst du dazu
<a href="index.html">
<img src="img/btn.jpg" alt="Pic not present" style="border:solid 33px #ff0000;">
</a>


In border kann man in CSS mehrere Eigenschaften vereinen, die man benötigt, um einen Rahmen zu erzeugen. Man braucht 3 verschiedene Eigenschaften. Das ist der Rahmentyp. "solid" ereugt eine einfache, durchgezogene Rahmenlinie. Du könntest statt dessen auch z.B. "dotted" für eine gepunktete Linie, "dashed" für eine gestrichelte Linie oder oder "double" für eine doppelte Linie verwenden. "33px" gibt die Dicke des Rahmens an. "#ff0000" gibt die Rahmenfarbe an. Die Reihenfolge dieser Angaben innerhalb der Anführungszeichen ist beliebig.

Lies dir dazu am besten das Kapitel "Rahmen" in meinem Html-Kurs durch.

P.S. der alt-Text, den du verwendest ist imho ziemlich sinnfrei. Wenn der Alttext angezeigt wird, weil das Bild nicht gefunden wurde, ist er überflüssig. Dass das Bild nicht "present" ist, merkt der User wohl auch so. Wenn der Browser so eingestellt ist, dass er keine Bilder anzeigen kann, nützt diese Information dem User auch nichts. Wenn die Seite von einer Suchmaschine gelesen wird, gibt dieser Text auch keine sinnvolle Information.
0 Punkte
Beantwortet von
Vielen dank für deine ausführliche antwort! :)
Den rahmen, der stndardmäßig da ist habe ich tatsächlich per css ausgeblendedt:

a img {border:0 none;}


Vielen dank!
...