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

menü

Status
Für weitere Antworten geschlossen.

tim-peters

Neues Mitglied
Hey

meine Frage: wie kann man es machen dass, wenn man auf einen Link geht (mouseover) sich ein fenster (wie lightbox) öffnet indem sich andere links befinden?
Ein Beispiel ist auf der Seite raphirocker.piczo.com ganz oben der link "Seiten"

hab schon ein bischen bei Selfhtml gekuckt wusste aber nich so ganz, wonach ich da suchen soll.
Sehr wahrscheinlich muss ich des mit Java machen. Davon hab ich aber leider keine Ahnung des wegen hab ichs auch hier gepostet:roll:

Ich hoffe ihr könnt mir helfen
lg Tim-
 
Wenn du die Grundkentnisse von HTMl und CSS kennst, kannst du dir ja den Quelltext unter die Lupe nehmen, oder einfach dein Problem mal --googlen--

Da findet man immer was....


LG MasteR ChieF
 
Hey
Genau das hab ich probiert. Allerdings ist die HTML-Datei sehr sehr umfangreich und ich kann die Java-Scripte nicht genau zuordnen (stehen alle unten dank Verweisen)...bei google habich übrigens auch nichts gefunde..(wusste aber auch nich so ganz genau was ich da eingeben soll)

hoffe ihr könnt mir noch helfen..weis mitlerweile, dass es mit reinem HTML und css nicht funktioniert..wahrscheinlich brauch ich JS, davon habich aber überhaupt keine Ahnung..

lg Tim-
 
Hi,

Hey
Genau das hab ich probiert. Allerdings ist die HTML-Datei sehr sehr umfangreich und ich kann die Java-Scripte nicht genau zuordnen (stehen alle unten dank Verweisen)...bei google habich übrigens auch nichts gefunde..(wusste aber auch nich so ganz genau was ich da eingeben soll)

hoffe ihr könnt mir noch helfen..weis mitlerweile, dass es mit reinem HTML und css nicht funktioniert..wahrscheinlich brauch ich JS, davon habich aber überhaupt keine Ahnung..

lg Tim-

natürlich geht das (fast) mit reinem CSS. Die Pseudoklasse :hover kann auf alle Elemente angewendet werden.
Der IE5/6 akzepiert :hover allerdings nur in Verbindung mit a.

Das Script für den IE5/6 einfach per CC einbinden.
 
Hey
verbessere mich bitte wenn ich falsch liege, aber :hover definiert doch nur, was passieren sollen wenn ich auf etwas draufgeklickt habe.:|..meine Frage war wie ich (bei Mouseover) ein kleines "fensterchen", das kein Fenster ist hinbekomme, dass praktisch über der restlichen Webseite drüber liegt und indas ich weitere Links stellen kann.
Ein Beispiel für ein solches Fensterchen sieht man auch wenn man hier (html.de) auf das Dreieck neben "Suchen" (oben, 7. von Links) klickt.
 
Hi,

Hey
verbessere mich bitte wenn ich falsch liege, aber :hover definiert doch nur, was passieren sollen wenn ich auf etwas draufgeklickt habe.:|..meine Frage war wie ich (bei Mouseover) ein kleines "fensterchen", das kein Fenster ist hinbekomme, dass praktisch über der restlichen Webseite drüber liegt und indas ich weitere Links stellen kann.
Ein Beispiel für ein solches Fensterchen sieht man auch wenn man hier (html.de) auf das Dreieck neben "Suchen" (oben, 7. von Links) klickt.

leider falsch getippt.
:hover = mouseover, das was du meinst ist:active das ist der Zustand im Moment des draufklickens.
 
aso..ok
naja..wollte nur sagen, dass es mir um das Fensterchen geht..nich um mouseover, hover oder sowas=)
Das ist eine typische Anwendung fürs Suckerfish-drobdown und die nutzt :hover.
Die Halbtranzparenz kannst du mit Filtern erzeugen.
Allerdings verwenden die verschiedenen Browser unterschiedliche Filter.
Für Gecko-Browser (Firefox, Mozilla) gibt es zum Beispiel den hier:
-moz-opacity:0.5;
Internet Explorer und Opera haben ähnliche Filter. Khtml (Safari, Konqueror) weiß ich jetzt nicht.

@MasteR_Chief: Ich nehme an, du hast dir den Qeltext der Beispielseite nicht angesehen.
Also ich verstehe das ganze Javascript nicht. Wenn man nicht weiß das es :hover und opacity gibt, hilft googeln auch nur wenig.
 
Zuletzt bearbeitet:
Hey
Suckerfish war genau das was ich brauchte.:-D danke!
Allerdings hab ich jetzt das Problem, dass der Link mit der Suckerfish-Liste sich nicht mehr in einer Reihe mit anderen Links schreiben lässt. Er rutscht immer in eine eigene Zeile..liegt wohl an dem <li>..wie kann ich des verhindern?

der entscheidenende Ausschnitt (siehe <body>):
HTML:
<head>
<style type="text/css">
#nav, #nav ul { /* all lists */ padding: 0;
margin: 0;
list-style: none;
line-height: 1;
}
#nav a {
display: block;
width: 10em;
}
#nav li { /* all list items */
float: left;
width: 10em; /* width needed or else Opera goes nuts */
}
#nav li ul { /* second-level lists */
position: absolute;
background: orange;
width: 10em;
left: -999em; /* using left instead of display to hide menus because display: none isn't read by screen readers */
}
#nav li ul ul { /* third-and-above-level lists */
margin: -1em 0 0 10em;
}
#nav li:hover ul ul, #nav li:hover ul ul ul, #nav li.sfhover ul ul, #nav li.sfhover ul ul ul {
left: -999em;
}
#nav li:hover ul, #nav li li:hover ul, #nav li li li:hover ul, #nav li.sfhover ul, #nav li li.sfhover ul, #nav li li li.sfhover ul { /* lists nested under hovered list items */
left: auto;
}
#content {
clear: left;
color: #ccc;
}
</style>
<script type="text/javascript"><!--//--><![CDATA[//><!--
sfHover = function() {
var sfEls = document.getElementById("nav").getElementsByTagName("LI");
for (var i=0; i<sfEls.length; i++) {
sfEls[i].onmouseover=function() {
this.className+=" sfhover";
}
sfEls[i].onmouseout=function() {
this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
}
}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);
//--><!]]></script>
</head>
<body>
<table>

<span style="font-family: Courier New; font-weight: bold;">•</span><span style="color: navy; font-family: Courier New; font-weight: bold;"><font size="4">Home</font></span>
<span style="font-family: Courier New;">•</span><a onmouseover="this.style.fontWeight='bold';" style="color: navy; font-family: Courier New; font-weight: normal;" onmouseout="this.style.fontWeight='normal';" target="_top" href="aboutus.html" font-weight="" normal=""><font size="4">Link1</font></a>
<span style="font-family: Courier New;">•</span><a onmouseover="this.style.fontWeight='bold';" style="color: navy; font-family: Courier New; font-weight: normal;" onmouseout="this.style.fontWeight='normal';" target="_top" href="guestbook.html" font-weight="" normal=""><font size="4">Link2</font></a>
<span style="font-family: Courier New;">•</span><a onmouseover="this.style.fontWeight='bold';" style="color: navy; font-family: Courier New; font-weight: normal;" onmouseout="this.style.fontWeight='normal';" target="_top" href="chat.html" font-weight="" normal=""><font size="4">Link3</font></a>
<ul id="nav">
<li><a href="#">
<span style="font-family: Courier New;"></span></a><a normal="" font-weight="" href="materials.html" target="_top" onmouseout="this.style.fontWeight='normal';" style="color: navy; font-family: Courier New; font-weight: normal;" onmouseover="this.style.fontWeight='bold';"><span style="font-family: Courier New;">•</span><font size="4">Suckerfish-Link</font></a>
<ul>
<li><a href="#">link1</a></li>
<li><a href="#">Link2</a></li>
<li><a href="#">Link3</a></li>
<li><a href="#">Link4</a></li>
<li><a href="#">Link5</a></li>
<li><a href="#">Link6</a></li>
<li><a href="#">Link7</a></li>
<li><a href="#">Link8</a></li>
<li><a href="#">Link9</a></li>
<li><a href="#">Link10</a></li>
</ul>
</li>
</ul>
</body></html>
 
suckerfish

Ich steig da nicht durch.
Der Queltext ist so kaputt, daß man noch mal von vorne anfangen müßte.

Schreibe alle links in die Liste:
Code:
<div id="nav">
<ul>
<li><a href="#">Link a1</a></li>
<li><a href="#">Link a2</a></li>
<li><a href="#">Link a3</a></li>
<li>Suckerfish-Link
  <ul>
    <li><a href="#">link b1</a></li>
    <li><a href="#">Link b2</a></li>
    <li><a href="#">Link b3</a></li>
    <li><a href="#">Link b4</a></li>
    <li><a href="#">Link b5</a></li>
    <li><a href="#">Link b6</a></li>
    <li><a href="#">Link b7</a></li>
    <li><a href="#">Link b8</a></li>
    <li><a href="#">Link b9</a></li>
    <li><a href="#">Link b10</a></li>
   </ul>
 </li>
</ul>
</div>
Dann kannst du anfangen das css zu schreiben.

Die verschachtelte Liste mußt du erstmal verstehen.
Sonst kannst du das css auch nicht verstehen.

Das Javascript braucht nur der IE bis Vers. 6
Da kannst du dich zum Schluss drum kümmern.
 
Hey
erstmal..super..so hats funktioniert und mein css hab ich später auch wieder rein bekommen=)
allerdings sind gleichzeitig 2 neue "Problemchen" entspanden..(sry, das ich euch so lange störe:roll:)

1. Ich weis nich, wie ich den Abstand zwischen den Link bestimmen kann (is voll willkürlich, obwohl ich keinerlei Abstandszeichen gesetzt habe)

2. Wenn ich mit der Maus einen Abstand (der eig. nich da sein dürfte) reagiert mein css/mouseover da ich es wohl unbewusst mit eingebunden habe.

hoffe auf eure Hilfe=)

lg Tim-
 
Hey
erstmal..super..so hats funktioniert und mein css hab ich später auch wieder rein bekommen=)
allerdings sind gleichzeitig 2 neue "Problemchen" entspanden..(sry, das ich euch so lange störe:roll:)

1. Ich weis nich, wie ich den Abstand zwischen den Link bestimmen kann (is voll willkürlich, obwohl ich keinerlei Abstandszeichen gesetzt habe)

2. Wenn ich mit der Maus einen Abstand (der eig. nich da sein dürfte) reagiert mein css/mouseover da ich es wohl unbewusst mit eingebunden habe.

hoffe auf eure Hilfe=)

lg Tim-

Hm, ich weiß nicht wie du es jetzt genau gemacht hast.
Am besten du entfernst erstmal alle margin und padding-Angaben aus dem css.
Dann schreibst du an den Anfang:
Code:
ul {
margin : 0px;
padding : 0px;
}
jetzt müßten alle links aneinanderkleben.
um sie nach Deinen Wünschen wieder auseinanderzudrücken gibst du entweder
Code:
ul li a {
padding-left: 3px;
padding-right: 3px;
}
an

oder
Code:
ul li {
padding-left: 3px;
padding-right: 3px;
}
Das kommt drauf an wie du es farblich gestalten möchtest.
Ich mag die erste Variante meistens lieber leiden.
Man kann auch beides kombinieren.
kannst ja ausprobieren.
Wenn du die Abstände nicht weg bekommst musst du den Queltext(mit css) noch mal schicken.
 
guter tipp:

Code:
float:left;

;)

EDIT: Könnte ein mod das mal in css verschieben? das gehört hier nicht her!
 
Obwohl ich eure Tipps befolgt hab, bleiben die Abstände. Daher hier Teile des Codes:
Im Header:
HTML:
  <style type="text/css">
#nav, #nav ul { /* all lists */
margin : 0px;
padding : 0px;
list-style: none;
line-height: 1;
}
#nav a {
display: block;
width: 10em;
}
#nav li { /* all list items */
float: left;
width: 10em; /* width needed or else Opera goes nuts */
}
#nav li ul { /* second-level lists */position: absolute;
background-color: #efefef;
width: 10em;
left: -999em; /* using left instead of display to hide menus because display: none isn't read by screen readers */
}
#nav li ul ul { /* third-and-above-level lists */
margin: -1em 0 0 10em;
}
#nav li:hover ul ul, #nav li:hover ul ul ul, #nav li.sfhover ul ul, #nav li.sfhover ul ul ul {
left: -999em;
}
#nav li:hover ul, #nav li li:hover ul, #nav li li li:hover ul, #nav li.sfhover ul, #nav li li.sfhover ul, #nav li li li.sfhover ul { /* lists nested under hovered list items */
left: auto;
}
#content {
clear: left;
color: #ccc;
}
  </style>
Im Body:
HTML:
<div id="nav">
<ul>
  <li>
    <a href="aboutus.html">Über uns</a></li>
  <li><a href="guestbook.html">Gästebuch</a></li>
  <li><a href="chat.html">Chat</a></li>
  <li><a href="chat.html">Epochen</a>
    <ul>
      <li><a href="#">link b1</a></li>
      <li><a href="#">Link b2</a></li>
      <li><a href="#">Link b3</a></li>
      <li><a href="#">Link b4</a></li>
      <li><a href="#">Link b5</a></li>
      <li><a href="#">Link b6</a></li>
      <li><a href="#">Link b7</a></li>
      <li><a href="#">Link b8</a></li>
      <li><a href="#">Link b9</a></li>
      <li><a href="#">Link b10</a></li>
    </ul>
  </li>
  <li><span>Bilder</span></li>
</ul>
</div>
 
Das sind eigentlich keine Abstände sondern die Breite der Listeneinträge (10em).
css- geändert:
Code:
#nav a {
display: block;
/*width: 10em; durch padding ersetzt*/
padding-left : 3px;
padding-right : 3px;
}

#nav li { /* all list items */
float: left;
/*width: 10em; entfernt siehe #nav a*/
}

#nav li li{ 
float: none; /* kein float für li zweite ebene */
}
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben