Webdesign in Siegen

Links wollen sich nicht ändern [CSS]

Fragen zum Thema HTML und CSS können hier gestellt werden

Moderatoren: Basti, Ingo

Links wollen sich nicht ändern [CSS]

Beitragvon Killorkev am 03.01.2008, 19:17

Hallo,

Bin zur Zeit dabei ein design zu schreiben wo in CSS definierte Kästen beim drüberfahren mit der maus, bzw beim anklicken sich ändern sollen, es aber nicht tun...

Ich schreib hier einfach mal die relevanten abschnitte der css datei rein:

Code: Alles auswählen
#Navibereich1 {
   width:70px;
   height:25px;
   border:solid 1px black;
   left:910px;
   top:123px;
   background-color:#CEE4AF;
   position:absolute;
   font-size:13px;
   vertical-align:center;
}

#Navibereich2 {
   width:70px;
   height:25px;
   border:solid 1px black;
   left:830px;
   top:123px;
   background-color:#CEE4AF;
   position:absolute;
   font-size:13px;
}

#Navibereich3 {
   width:70px;
   height:25px;
   border:solid 1px black;
   left:750px;
   top:123px;
   background-color:#CEE4AF;
   position:absolute;
   font-size:13px;
}

#Navibereich4 {
   width:70px;
   height:25px;
   border:solid 1px black;
   left:670px;
   top:123px;
   background-color:#CEE4AF;
   position:absolute;
   font-size:13px;


So, nun also meine Frage:

Wie krieg ich den border dazu, beim drüber fahren mit der maus (a:hover) gestrichelt (dashed) zu werden und beim draufklicken (a:active) die Hintergrund-Farbe (background-color) grau (#EFEFEF) anzunehmen und die border-bottom-color ebenso grau (#EFEFEF) zu machen (wobei die anderen 3 Seiten des borders schwarz bleiben sollen)?

vielen Dank.

Falls ihr den HTML-Code benötigt (was ich eigentlich nicht denke) hier ist er:

Code: Alles auswählen
<html>
<head>
<title>CSS-Design</title>
<link href="styles.css" rel="stylesheet" type="text/css" />
</head>
<body>

<div id="Head"> <p class="slogan">Ihr Slogan / Werbespruch</p> <p class="Ueberschrift">&Uuml;berschrift</p>
</div>
<div id="Logo"> <img src="images/banner.gif"> </div>
<a href="index.html"><div id="Navibereich1"><center> abc </center></div></a>
<a href="index.html"><div id="Navibereich2"><center> Link </center></div></a>
<a href="index.html"><div id="Navibereich3"><center> Link </center></div></a>
<a href="index.html"><div id="Navibereich4"><center> Link </center></div></a>
<div id="Textfeld"> &nbsp; </div>

</body>
</html>
MfG Kvn(Killorkev)

Free Webdesign (PM me)
Benutzeravatar
Killorkev
Mitglied
 
Beiträge: 82
Registriert: 30.09.2006

Re: Links wollen sich nicht ändern [CSS]

Beitragvon Basti am 03.01.2008, 20:37

Pseudoklassen wie :hover und :active, die man ja zunächst einmal von Links kennt, kann man ebenso auf alle anderen Elemente anwenden.

Wenn du also beispielsweise Rahmen oder Hintergrundfarben von deinen div-Layern bei diesen "Events" ändern möchtest, so geht das äquivalent zu den Links, also bei deinen IDs sähe das so aus:

Code: Alles auswählen
#Navibereich1:hover {
  border-style: dashed;
}


Genauso kannst du dann auch bei allen anderen Elementen vorgehen.

Ich hoffe das war das, was du wissen wolltest, ansonsten meld dich einfach nochmal ;)
Benutzeravatar
Basti
Moderator
 
Beiträge: 1889
Registriert: 15.06.2006
Wohnort: Rheinbreitbach

Re: Links wollen sich nicht ändern [CSS]

Beitragvon Ingo am 03.01.2008, 20:48

Hi.

Die Pseudo-Formate versteht der IE6 nur beim Element <a> - leider; sonst wäre manches leichter.
(Oder täusch ich mich? Weiß jemand wie's beim IE7 aussieht?)

Ich hab mich mal an deinem Code versucht und habe ihn, weil Dinge wie a:hover div { border-style:dashed; }
nicht funktioniert haben, kurzerhand eigenmächtig umgebaut, d.h. HTML vereinfacht und alles soweit möglich
in eine Klasse gepackt:
Code: Alles auswählen
CSS:

  a.navi        { display:block;
                  border:1px solid black;
                  text-align:center;
                  position:absolute;
                  top:123px;
                  width:70px;
                  height:25px;
                  background-color:#CEE4AF;
                  font-size:13px;
                  }

  a.navi:hover  { border-style:dashed; }
 
  a.navi:active { background-color:#EFEFEF;
                  border-bottom-color:#EFEFEF;
                }

  a#Navibereich1 { left:910px;
                   vertical-align:center;
                 }

  a#Navibereich2 { left:830px; }

  a#Navibereich3 { left:750px; }

  a#Navibereich4 { left:670px; }
   

HTML:

<div id="Head"> <p class="slogan">Ihr Slogan / Werbespruch</p> <p class="Ueberschrift">&Uuml;berschrift</p></div>
<div id="Logo"> <img src="images/banner.gif"> </div>

<a id="Navibereich1" class="navi" href="index.html"> abc </a>
<a id="Navibereich2" class="navi" href="index.html"> Link </a>
<a id="Navibereich3" class="navi" href="index.html"> Link </a>
<a id="Navibereich4" class="navi" href="index.html"> Link </a>

<div id="Textfeld"> &nbsp; </div>

Soweit meine Idee.

Gruß, Ingo
Die beste Browserweiche ... sitzt zwischen den Ohren ;o]
Benutzeravatar
Ingo
Moderator
 
Beiträge: 578
Registriert: 01.04.2007
Wohnort: Neuss/NRW

Re: Links wollen sich nicht ändern [CSS]

Beitragvon Killorkev am 03.01.2008, 21:21

Vielen Dank an euch beide.

Ich habe das von Basti verwendet und das funktioniert jetzt sehr gut :)
Und ich hab schon wieder eine Frage :oops: :

Ich möchte gerne wenn ich über die Navi-links rüber fahre mit der Maus das dann ein weiteres Menü angezeigt wird, wobei ich dort das ganze auch mit farbe hinterlegen und umranden möchte.

Also es soll nicht erst nach dem draufklicken erscheinen sondern gleich erscheinen bei hover.

Ich such noch mal ein Beispiel mal sehn ob ich eins find. Kommt dann per edit.

/e: Oben findet man die Navi wo drin steht: Hardware Software Entertainment etc...
fährt man da mit der Maus drüber erscheint ein weiteres Menü, so in etwa möcht ich das haben, bloss nicht horizontal sondern vertikal.

http://www.alternate.de/

MfG Killorkev
MfG Kvn(Killorkev)

Free Webdesign (PM me)
Benutzeravatar
Killorkev
Mitglied
 
Beiträge: 82
Registriert: 30.09.2006

Re: Links wollen sich nicht ändern [CSS]

Beitragvon Basti am 03.01.2008, 22:46

@ingo: Ja, das stimmt, der IE 6 interpretiert die Pseudoklassen leider nur bei wirklichen Links.

@Killorkev: Das ist jetzt schon ein wenig komplizierter. Entweder hast du nun die Möglichkeit, das mit JavaScript oder CSS zu lösen, wobei CSS in der Regel aus Kompatibilitätsgründen vorzuziehen ist, da JS ja schonmal deaktiviert ist.

Für CSS Beispiele kannst du mal auf http://cssplay.co.uk/menus in der dritten Spalte bei den "drop-line" Menüs schauen, dort gibt es ein paar schöne, valide Beispiele ;)
Benutzeravatar
Basti
Moderator
 
Beiträge: 1889
Registriert: 15.06.2006
Wohnort: Rheinbreitbach

Re: Links wollen sich nicht ändern [CSS]

Beitragvon Killorkev am 03.01.2008, 23:52

Oha...

Das scheint mir doch etwas sehr kompliziert...
Das lass ich doch dann lieber erst einmal^^

Trotzdem vielen Dank.
MfG Kvn(Killorkev)

Free Webdesign (PM me)
Benutzeravatar
Killorkev
Mitglied
 
Beiträge: 82
Registriert: 30.09.2006


Zurück zu HTML/CSS

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast