a:active funktioniert nicht - liegt das am Frameset?
schorschi
- css
1 mrjerk0 Gast3 mrjerk
0 Gunnar Bittersmann
0 Gast
Hallo miteinander,
ich bin neu in dieser Welt und habe auch schon meine erste Frage:
Ich bin dabei, eine Website aufzubauen. Ich habe sie mit Hilfe eines
Framesets unterteilt und bin nun dabei, ein Stylesheet zu schreiben.
body { color: #E6E6E6;
background:#000000;
margin-left:10px;
}
}
h1 {
font-family: Verdana;
font-size: large;
color: #E6E6E6;
}
p,li {
font-size:110%;
line-height:140%;
font-family:Verdana;
letter-spacing:0.1em;
word-spacing:0.3em;
}
<!-- für die links -->
a:hover {
background-color:#C5C5C5;
color: #E6E6E6;
font-size: 110%;
font-weight: bold;
}
a:visited {
color: #E6E6E6;
}
a:link {
background-color: #000000;
color: #E6E6E6;
font-size: larger;
font-weight: bold;
text-decoration: none;
}
a:active {
background-color: #C5C5C5;
color: #E6E6E6;
font-size: larger;
font-weight: bold;
}
Mein Problem ist folgendes:
a:active funktioniert nicht. Kann das am Frameset liegen?
Wie könnte ich es mit dem Frameset (Links in einem Frame, öffnende Seite in einem anderen Frame) lösen?
Ich bin für jede Hilfe dankbar.
VG
Schorschi
Hallo Schorschi,
ich bin neu in dieser Welt und habe auch schon meine erste Frage:
Erstmal: Herzlich willkommen :)
Generell solltest Du Frames zum Aufbau von Seiten i.d. Regel nicht mehr verwenden. Frames haben zahlreiche Nachteile, und praktisch keine Vorteile. In der neuesten HTML-Version (HTML5) werden sie soweit ich weiß nicht mal mehr unterstützt.
Am besten, Du schaust Dir mal den SelfHTML-Artikel über CSS-basierte Layouts an.
Wiederverwendbare "HTML-Schnippsel" (z.b. die Liste mit Links, die Du ja vielleicht auf mehreren Seiten anzeigen willst) kannst Du mit serverseitigen Techiken (Server Side Includes, PHP, Perl o.ä.) realisieren.
Ansonsten:
a:active greift nur, wenn der Link wirklich "aktiv" ist, d.h. von dem Moment wo Du den Link anklickst bis zu dem Moment, wo du die Maustaste loslässt.
Vermutlich möchtest Du aber eher haben, dass der Link hevorgehoben wird, wenn Du auf der angeklickten Unterseite bist - und schon da läufst Du in einen Nachteil von Frames (denn dein Frame mit den Links hat erstmal keine Ahnung, welche Seite im anderen Frame gerade geöffnet ist, denn streng genommen sind die beiden Frames zwei eigene Browser-Fenster, die erstmal nichts miteinander zu tun haben). Gibt natürlich unschöne Workarounds (mit JavaScript usw.) dafür, aber wie gesagt - besser, Du machst das ohne Frames sondern mit CSS.
Hoffe das hilft Dir weiter.
Viele Grüße,
Jörg
Frames haben zahlreiche Nachteile, und praktisch keine Vorteile.
Nennt man das Computer- Intelligenz, wenn er das Reizwort "Frames" erkennt und jedesmal die Gegenargumente aufführt? Bei "Table" kommt dann immer, dass die nicht für das Seitenlayout benutzt werden sollen.
Vorteile von Frames sind:
* verschiebbare Grenzen der Bereiche,
* Erweiterung der Domain um techn. Möglichkeiten (z.B. Gästeklo, obwohl man selbst kein PHP hat),
* "Bild - im - Bild - Technik", bei Fernsehern (noch?) hoch im Kurs,
* gegenseitiges "Zuspielen" von Inhalten allein mit HTML-Mitteln, die gleichzeitig sichtbar sind. Frames können sich nicht gegenseitig abdecken wie Browserfenster.
Mit diesen Vorteilen möchte ich keinesfalls die bei Gegnern so beliebten Nachteile schmälern, die kann man ja zusätzlich nutzen **frechgrins**
Gast
Moin,
Nennt man das Computer- Intelligenz, wenn er das Reizwort "Frames" erkennt und jedesmal die Gegenargumente aufführt?
Was schlägst Du stattdessen vor?
Den Frager erstmal machen lassen, und ihn damit in eine Reihe von Problemen rennen lassen, die er ohne den Einsatz von Frames nie gehabt hätte?
Wenn jemand weiß, was er tut, soll er meinetwegen soviel Frames einsetzen wie er lustig ist. Aber wenn jemand gerade am HTML-Lernen ist (das entnahm ich zumindest dem Ursprungs-Posting) sollte man die Nachteile doch zumindest mal ansprechen. Frames sind nicht ohne Grund aus dem Standard geflogen.
Bei "Table" kommt dann immer, dass die nicht für das Seitenlayout benutzt werden sollen.
Wenn jemand einen Nagel mit einem Lötkolben in die Wand schlägt, würde ich mir auch die Frage stellen, warum dieser jemand keinen Hammer nimmt, wenn dieser direkt daneben liegt.
Natürlich geht es *auch* mit dem Lötkolben - aber warum sollte man das machen, ausser um zu beweisen, dass es prinzipiell auch damit ginge?
@@mrjerk:
nuqneH
Vermutlich möchtest Du aber eher haben, dass der Link hevorgehoben wird, wenn Du auf der angeklickten Unterseite bist
Vermutlich möchtest Du aber eher haben, dass der Menüpunkt hevorgehoben wird, aber gar kein Link ist, wenn Du auf der angeklickten Unterseite bist. Punkt 10 der zehn meist-missachteten Homepage-Design-Richtlinien [Nielsen]
Auch die Nichtverlinkung lässt sich bei serverseitiger Einbindung des Menüs hinbekommen.
Qapla'
Mein Problem ist folgendes:
a:active funktioniert nicht. Kann das am Frameset liegen?
Ja. In jedem Frame ist eine eigenständige Webseite, die nichts von den anderen Webseiten weiss. Auch nicht deren CSS- Angaben.
Wie könnte ich es mit dem Frameset (Links in einem Frame, öffnende Seite in einem anderen Frame) lösen?
Lagere die CSS- Angaben aus in eine Extradatei und rufe sie von jeder deiner Webseiten auf:
<head>
<link rel=stylesheet type="text/css" href="css/basis.css">
<style type="text/css">
/* Hier CSS nur fuer diese Webseite */
</style>
</head>
Gast