printNavigation() und css

Fragen zur Implementierung und/oder Anpassung von ConPresso 4 werden in diesem Forum diskutiert.
Antworten
tomste
ConPresso-Newbie
Beiträge: 21
Registriert: 09.01.2006 17:08
Danksagung erhalten: 1 Mal

printNavigation() und css

Beitrag von tomste »

Hallo,

Ich habe eine frage, Ich muß den ersten Eintrag der Liste anders gestalten als den Rest. Deshalb gibt es für den ersten Eintrag eine eigene Klasse.

Code: Alles auswählen

#subnav A {
 FLOAT: left; PADDING-RIGHT: 10px; PADDING-LEFT: 0px; FONT-WEIGHT: normal; FONT-SIZE: 12px; BACKGROUND: #fff; PADDING-BOTTOM: 2px; BORDER-LEFT: #ccc 1px solid; COLOR: #999; LINE-HEIGHT: 10px; MARGIN-RIGHT: 4px; PADDING-TOP: 2px;
}
#subfirst A{
 BORDER-LEFT: #ccc 0px solid;
 }
Kann ich über printNavigation() irgendwie das erste Element anders gestalten als den Rest?

Gruß,
Thomas
tomste
ConPresso-Newbie
Beiträge: 21
Registriert: 09.01.2006 17:08
Danksagung erhalten: 1 Mal

Beitrag von tomste »

Es geht um die Seite http://web3.vs249024.vserver.de/freunde ... _belegung/

Nur siese hat bisher die Funktion printNavigation().[/url]
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Vielleicht hilft Dir ja das hier weiter
http://www.css4you.de/first-child.html
und
http://de.selfhtml.org/css/eigenschafte ... tter_child

für mod_menu habe ich ja bereits erklärt, wie man das mit den Pipes einfach macht... und eine Vorlage wird ja auch schon mitgeliefert.
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
tomste
ConPresso-Newbie
Beiträge: 21
Registriert: 09.01.2006 17:08
Danksagung erhalten: 1 Mal

Beitrag von tomste »

Hmm,

das hilft noch nicht wirklich weiter. Ich habe halt bisher zwei unterschiedliche css classen subfirst und subnav. Ich müßte nun vielleicht über einen wert beim erstellen der Navigation abfragen, ob es sich um den Ersten Eintrag handelt.

Gruß,
Thomas
Benutzeravatar
balu
ConPresso-Entwickler
Beiträge: 1748
Registriert: 01.01.1970 01:00
Hat sich bedankt: 81 Mal
Danksagung erhalten: 133 Mal

Beitrag von balu »

Es ist natuerlich immer moeglich, die Funktion anzupassen.

In _include/printnavigation.inc.php muesstest Du vor dem foreach() eine Zeile ergaenzen:

Code: Alles auswählen

$firstnavclass = 'irgendwas';
foreach ($navi as $k=>$v) {
Ausserdem die Ausgabe der "<li>"-Elemente anpassen:

Code: Alles auswählen

        // mark active list elements
        if ($actLevels[$level]==$v['id']) echo '<li class="active '.$firstnavclass.'">';
        else                              echo '<li class="'.$firstnavclass.'">';

        $firstnavclass = '';
Die letzte Zeile sorgt dann dafuer, dass $firstnavclass nicht mehr ausgegeben wird.

Aber Vorsicht - das ist ungetestet... und ich gehe davon aus, dass die Klasse aufgrund der Rekursion der Funktion merhfach in den Unterebenen ausgegeben wird. Solange Du nur eine Ebene ausgibst, sollte das so aehnlich klappen.

Balu
tomste
ConPresso-Newbie
Beiträge: 21
Registriert: 09.01.2006 17:08
Danksagung erhalten: 1 Mal

Beitrag von tomste »

Hallo,

DANKE Balu!

Hat geklappt!

Ich habe in der printnavigation.inc.php die folgenden änderungen gemacht:

Code: Alles auswählen

$firstnavclass = 'first';

Code: Alles auswählen

// mark active list elements 
        if ($actLevels[$level]==$v['id']) echo '<li class="active'.$firstnavclass.'">'; 
        else                              echo '<li class="'.$firstnavclass.'">'; 

        $firstnavclass = ''; 
Es war nur ein Leerzeichen zuviel bei <li class="active'.$firstnavclass.'">.

Und als CSS habe ich folgendes gesetzt:

Code: Alles auswählen

#tabs {float:left; width:100%; height: auto; background:#386990; font-size:93%; line-height:normal;
      }
#tabs ul { margin:0; padding:10px 10px 0 140px; list-style:none;
      }
#tabs li {float:left; display:inline; background:url("../_cfg/tableft.gif") no-repeat left top; margin:0; padding:0 0 0 4px;
      }
#tabs a {float:left; background:url("../_cfg/tabright.gif") no-repeat right top; padding:5px 15px 4px 5px; color:#666; text-decoration:none;
      }
#tabs li.active { background:url("../_cfg/tableft2.gif") no-repeat left top;
      }
#tabs li.active a { background:url("../_cfg/tabright2.gif") no-repeat right top;
      }
#tabs li.first  {float:left; display:inline; background:url("../_cfg/tableft.gif") no-repeat left top; margin:0; padding:0 0 0 4px;
      }
#tabs li.first a {float:left; background:url("../_cfg/tabright.gif") no-repeat right top; padding:5px 15px 4px 5px; color:#666; text-decoration:none;
      }
#tabs li.activefirst { background:url("../_cfg/tableft2.gif") no-repeat left top;
      }
#tabs li.activefirst a { background:url("../_cfg/tabright2.gif") no-repeat right top;
      }
#tabs a:hover { color: #f00;
      }
      
#subnav {
	PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 5px;
}
#subnav LI {
 DISPLAY: inline;
}

#subnav A {
 FLOAT: left; BORDER-RIGHT: medium none; PADDING-RIGHT: 10px; BORDER-TOP: medium none; PADDING-LEFT: 10px; FONT-WEIGHT: normal; FONT-SIZE: 12px; BACKGROUND: #fff; PADDING-BOTTOM: 2px; BORDER-LEFT: #ccc 1px solid; COLOR: #999; LINE-HEIGHT: 10px; MARGIN-RIGHT: 4px; PADDING-TOP: 2px; BORDER-BOTTOM: medium none; TEXT-DECORATION: none;
}
#subnav LI.first A{
 BORDER-LEFT: #ccc 0px solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px;
 }
#subnav LI.activefirst A{
 BORDER-LEFT: #ccc 0px solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px;
 }

#subnav A:hover {
COLOR: #666
}
Dass hat echt super geholfen!

Gruß,
Thomas
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 01:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal
Kontaktdaten:

Beitrag von Matthias V »

tomste hat geschrieben:Es war nur ein Leerzeichen zuviel bei <li class="active'.$firstnavclass.'">
Man kann mehrere CSS-Klassen für ein Element angeben, wenn man Leerzeichen zwischen den Klassenbezeichnungen lässt, d.h. das Leerzeichen war nicht zu viel, aber so geht es auch, wie du es machst.
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
tomste
ConPresso-Newbie
Beiträge: 21
Registriert: 09.01.2006 17:08
Danksagung erhalten: 1 Mal

Beitrag von tomste »

Danke,

habe es umgesetzt! Ok Ich hatte die CSS Klassen umgedreht. Sorry, kenn nicht alle möglichkeiten!

Thomas!
Antworten