tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
5
ZUGRIFFE
1324
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    vatersbester vatersbester ist offline Grünschnabel
    Registriert seit
    Nov 2010
    Beiträge
    3
    Hallo Leute,

    habe folgendendes Problem:
    Ich baue gerade an einer Navigation, bei der ich mit einem hover Effekt arbeite.
    Beim überfahren der Navigationspunkte soll sich die Farbe ändern (das funktioniert!) und beim anwählen des jeweiligen Navigationspunktes soll der Link die Hover Eigenschaften behalten.

    Dazu benötige ich ja den active Befehl, aber irgendwie mache ich da was falsch, denn es funktioniert nict!

    Ich benötige keine visited Funktion, habe diese aber mal vorsichtshalber mit eingebaut und die gleichen Werte wie beim nichtanklicken vergeben!

    Der active Befehl soll dem hover Effekt 100% entsprechen!
    also einfach nur die gleichen Werte und gleiche Farbe - aber dauerhaft!

    Hier ein Auszug aus meiner .css Datei:

    ------------------------------------------------

    .navi2
    {
    width: 1000px;
    height: 32px;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #482209;
    }

    .navi2 a:link
    {
    font-size: 12px;
    color: #482209;
    font-weight: bold;
    text-decoration: none;
    margin-top: 0px;
    padding: 5px 8px;
    }

    .navi2 a:visited
    {
    font-size: 12px;
    color: #482209;
    font-weight: bold;
    text-decoration: none;
    margin-top: 0px;
    padding: 5px 8px;
    }

    .navi2 a:active
    {
    color: #FFFFFF;
    padding: 5px 8px;
    }

    .navi2 a:hover
    {
    color: #FFFFFF;
    padding: 5px 8px;
    }
    ------------------------------------------------

    Ich bin für jede Hilfe dankbar, aber bitte kein Fachchinesisch, da ich kein Profi im programmieren bin!

    Danke und Grüße sendet
    Vatersbester
     

  2. #2
    Tim Bureck Tim Bureck ist offline Mitglied Platin
    Registriert seit
    Apr 2009
    Ort
    Düsseldorf (NRW)
    Beiträge
    508
    :active gibt dem Link die Eigenschaften, wenn er gerade geklickt wird. Also solange die Maustaste unten ist. Um dauerhaft die Eigenschaften an den Link zu binden, musst du eine eigene Klasse dafür einführen, z.B.:

    Code :
    1
    2
    3
    4
    
    .active {
      color: #FFF;
      padding: 5px 8px;
    }

    HTML-Code:
    <a class="navi2 active" href="http://www.tutorials.de/css/...">...</a>
     

  3. #3
    vatersbester vatersbester ist offline Grünschnabel
    Registriert seit
    Nov 2010
    Beiträge
    3
    Danke für die schnelle Antwort, leider funktioniert as nicht!

    Nochmals meine .css Datei mit Änderung:
    -----------------------------------------
    .navi2
    {
    width: 1000px;
    height: 32px;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #482209;
    }

    .navi2 a:link
    {
    font-size: 12px;
    color: #482209;
    font-weight: bold;
    text-decoration: none;
    margin-top: 0px;
    padding: 5px 8px;
    }

    .navi2 a:visited
    {
    font-size: 12px;
    color: #482209;
    font-weight: bold;
    text-decoration: none;
    margin-top: 0px;
    padding: 5px 8px;
    }

    .navi2 a:active
    {
    color: #FFFFFF;
    padding: 5px 8px;
    }

    .navi2 a:hover
    {
    color: #FFFFFF;
    padding: 5px 8px;
    }


    .active
    {
    color: #FFF;
    padding: 5px 8px;
    }
    -----------------------------------------

    uns so habe ich es in meiner Navigation eingebaut, die ich als eigenstänige Datei includiere!
    -----------------------------------------

    <div>
    <a href="site.php?page=1" class="navi2 active">1</a>
    <a href="site.php?page=2">2</a>
    </div>

    -----------------------------------------

    Grüße sendet
    Vatersbester
     

  4. #4
    Avatar von spicelab
    spicelab spicelab ist offline ZENmechanic
    Registriert seit
    Feb 2010
    Beiträge
    1.744
    Grundsätzlich: Webmaster FAQ -> [CSS] Wie kann ich die aktuell geöffnete Seite im Navigationsmenü hervorheben?

    Da hier aber offensichtlich keine neue Seite aufgerufen, sondern lediglich die Inhalte dynamisch per PHP im Dokument nachgeladen / ausgetauscht werden, helfen diese CSS-Techniken hier auch nicht weiter, sondern muß ebenfalls per PHP der aktuelle Link im Navigationsmenü hervorgehoben werden.

    Beispiel:
    PHP-Code:
    <?php
    if (!empty($_GET['section']))
        {
            
    $section=$_GET['section'];
            if ((
    strpos($section,"index")>-1) || (strpos($section,"http:")>-1) || (strpos($section,"https:")>-1) || (strpos($section,"ftp:")>-1))
                {
                    
    header("Location:index.php");
                }
            else
                {
                    include(
    'inc/'.$section.".php");
                }
        }
    else
        {
            include(
    "inc/home.php");
        }

    ?>
    PHP-Code:
    <?php
    $entries
    =array('home','news','impressum');
    if (isset(
    $_GET['section']))
        {
            
    $section=$_GET['section'];
        }
    else
        {
            
    $section='home';
        }
    $styles=array();
    for (
    $x=0;$x<count($entries);$x++)
        {
            if (
    $entries[$x]==$section)
                {
                    
    $styles[$entries[$x]]='current';
                }
            else
                {
                    
    $styles[$entries[$x]]='normal';
                }
        }
    ?>
    <ul>
        <li><a href="index.php?section=home" class="<?php echo $styles['home']; ?>">Home</a></li>
        <li><a href="index.php?section=news" class="<?php echo $styles['news']; ?>">News</a></li>
        <li><a href="index.php?section=impressum" class="<?php echo $styles['impressum']; ?>">Impressum</a></li>
    </ul>
    Code css:
    1
    2
    
    a.normal { ... }
    a.current { ... }
    Geändert von spicelab (24.11.10 um 17:55 Uhr)
     

  5. #5
    vatersbester vatersbester ist offline Grünschnabel
    Registriert seit
    Nov 2010
    Beiträge
    3
    Hallo spicelab,

    vielen Dank, das war genau das was ich gesucht habe!

    Habe in der .css Datei folgendes geändert:
    --------------------------------
    .navi2 a.active
    {
    color: #FFF;
    padding: 5px 8px;
    }
    --------------------------------

    und in der Navigation folgendes:
    --------------------------------
    <div>
    <a href="site.php?page=1"<?php if ($_REQUEST['page'] == '1') echo ' class="active"'; ?>>1</a>
    </div>
    --------------------------------

    Es funktioniert!

    Danke für Eure Mühen und Grüße sendet
    Vatersbester

    Thema kann geschlossen werden!
     

  6. #6
    Avatar von spicelab
    spicelab spicelab ist offline ZENmechanic
    Registriert seit
    Feb 2010
    Beiträge
    1.744
    Zitat Zitat von vatersbester Beitrag anzeigen

    Thema kann geschlossen werden!
    Es genügt, wenn du mit einen Klick auf das Häckchen-Icon, das Thema als erledigt markierst.
     

Ähnliche Themen

  1. Aktive Links
    Von Binio im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 02.12.05, 18:22
  2. Select Box farbig darstellen
    Von Bencher im Forum PHP
    Antworten: 3
    Letzter Beitrag: 24.08.05, 09:54
  3. ListView-Subitem farbig darstellen
    Von JK_net im Forum .NET Archiv
    Antworten: 0
    Letzter Beitrag: 14.03.05, 14:10
  4. Php Code farbig darstellen
    Von Nucleus im Forum PHP
    Antworten: 3
    Letzter Beitrag: 11.09.03, 23:27
  5. <href= tags farbig darstellen
    Von loki2002 im Forum PHP
    Antworten: 10
    Letzter Beitrag: 05.08.02, 23:01

Stichworte