[latex]Mae govannen![/latex]
Welcher Browser sperrt sich? Daß es im umgekehrten Fall (Link wie Button stylen) nicht wirklich klappt, ist mir bekannt.
Einen Link wie einen Button zu stylen ist sogar einfacher.
Nein. Jedenfalls nicht so, daß sich das Aussehen auch nur annähernd den Standard-Buttons des jeweils verwendeten Browsers angleicht. Man hat dann nur einen häßlichen Klotz, der absolut nicht zu ggf. vorhandenen anderen Buttons paßt.
Versuche mal, einen Button so zu stylen, dass er im Kontext eines Fließtextes wie normaler Text aussieht, also so:
Text Text Text
Da werden dir verschiedene, auch aktuelle Browser einen Strich durch die Rechnung machen. Das Zurücksetzen der Abstände funktioniert nicht überall. Das Setzen der Schriftformatierung ist nervig. Das Ausrichten des Textes auf derselben Grundlinie wie der Text der umgebenden Zeilenbox funktioniert nicht überall. Beim Fokussieren, Markieren und Aktivieren verhält sich die Box nicht wie ein Link.
Ok, mag sein, wie gesagt, ich habe schon ewig nicht mehr Buttons als Text-Links verwendet. Dann halt doch ein Link.
Aber unabhängig davon ist
href="#"
für _solche_ Links trotzdem *immer* unsinnig. Dann besserhref="javascript:;"
o.Ä.href="#" ist nicht unsinniger als href="" oder href="quatschMitSoße", wenn keine brauchbare Fallback-URL existiert. Funktional hat href="javascript:;" keinen Mehrwert, es deutet höchstens etwas für den Programmierer an.
Wie ich schon in einem anderen Beitrag schrieb: Ich bezog mich dabei generell auf nicht-verlinkende Links, nicht nur wenn ein click-Verhalten definiert ist. Und dann ist ein funktionaler Unterschied gegeben. Natürlich ist der Inhalt des href-Attributs solange völlig egal, wie das Standardverhalten in irgendeiner Weise deaktiviert wird. Aber ich halte es für sinnvoll, sich auf eine immer einheitliche Schreibweise festzulegen, und da ist href="javascript:;" meiner Meinung nach die sinnvollste.
Mit href="javascript:;" kann man notfalls auch mal vorhandenes click-Verhalten temporär entfernen, ohne daß der Link dann direkt zur Usability-Falle für den Nutzer wird. Mit href="#" springt der Browser zum Dokumentanfang, mit href="" lädt er die Seite neu. Der Nutzer verliert die Position auf der Seite und ist genervt. All das passiert bei href="javascript:;" nicht; auch dann nicht, wenn der Nutzer Javascript deaktiviert hat. Und darum geht es mir. Ich jedenfalls bin es leid, ständig die Lese-Position im Dokument wieder neu suchen zu müssen, weil irgend ein Dödel mich per href="#" an den Seitenanfang geschickt hat.
Eine andere (und meiner Meinung nach wesentlich sinnvollere) Alternative ist es, die entsprechenden nicht verlinkenden Links überhaupt erst mit Javascript ins Dokument einzufügen, dann stellt sich das Problem gar nicht erst. Das ist aber viel mehr Aufwand und dürfte einen Javascript-Anfänger überfordern.
Stur lächeln und winken, Männer!
Kai
Dank Hixies Idiotenbande geschieht grade eben wieder ein Umdenken
in Richtung "Mess up the Web".(suit)
SelfHTML-Forum-Stylesheet