Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
wenn ich es nach dem selben Schema mache: #sidebar li . bekomme ich ein totales durcheinander, weil ja die li's von der sidebar_under auch angesprochen werden
#sidebar_under li { /*alle li´s in der ul#sidebar_under*/
display: block;
margin: 3px 0 3px 30px;
text-align: left;
}
#sidebar_under li ul li { /*nur die li´s im Untermenü, überschreibt ggf. vorige Zuweisungen*/
...
}
...das geht schon, der Link brauch dann aber display:block; und zumindest height-Angaben, ggf auch width.da ich ja z.b. auf einen link kein hintergrundbild setzen kann
...du hast lediglich vergessen, eine ausreichende Höhe dafür festzulegen, wenn das <a> display:block; hat, geht das auch.jedoch werden z.b. die buttons nicht richtig angezeigt.
#sidebar li a {
color: #2C87DA;
display: block;
height: 20px;
padding: 5px; /*hintergrundbild ist 30px hoch: 20px + 2x 5px (padding) = 30px */
text-decoration: none;
}
#sidebar li a:hover, #sidebar li a:active, #sidebar li a:focus {
background-image: url("button_hover.png");
color: black;
}
/*Links im Untermenue näher zusammen, nehme ich an*/
#sidebar_under li a,
#sidebar li ul li a {
color: black;
height: 16px;
padding: 1px 0;
text-decoration: none;
}
Das schon was komplizierter, für sowas kommt gern auch mal php oder javascript zum Einatz.wie kann ich z.b. einen bestimmten listenpunkt ansprechen, um z.b. die farbe des textes (also des links) zu ändern, um zu signalisieren, dass ich gerade "hier" bin.
<div id="main" class="schweissen elektrode">
<!-- #main hat beide Klassen,schweissen und elektrode, die Klassen auf jeder Page so angeben. Für home ggf. home etc. -->
<!-- menü muss nicht für jede page geändert werden. -->
<ul id="sidebar">
<li class="home"><a class="sidebar-menue" href="index.html">Home</a></li>
<li class="schweissen"><a class="sidebar-menue" href="weld.html">Schweissen</a></li>
<li>
<ul id="sidebar_under" class="schweissen_menu">
<li class="elektrode"><a href="mma.html">Elektrode</a></li>
<li class="migmag"><a href="gmaw.html">MIG/MAG</a></li>
<li class="wig"><a href="tig.html">WIG</a></li>
<li class="weld"><a href="weld_other.html">Sonstiges</a></li>
<li class="acc"><a href="accessories.html">Zubehör</a></li>
</ul>
</li>
...
</div>
#main.schweissen #sidebar li ul.schweissen_menu {
display:block;
}
#main.elektrode #sidebar li ul.schweissen_menu li.elektrode a {
color: white;
}
#main.elektrode #sidebar li ul.schweissen_menu li.elektrode a,
#main.migmag #sidebar li ul.schweissen_menu li.migmag a,
#main.wig #sidebar li ul.schweissen_menu li.wig a,
#main.weld #sidebar li ul.schweissen_menu li.weld a,
#main.acc #sidebar li ul.schweissen_menu li.acc a
{
color: white;
}
ja, sollte das sollte auch (fast) immer funktionieren.warum muss ich dem link das background-image geben, das sollte doch beim elternelement, dem li auch funktionieren?
Klar - ist nichts falsches dran. Mit php würdest du wahrscheinlich beim "erzeugen" der Navi die Seiten-Hierarchie durchgehen und die navi so ausgeben, dass das aktuell angewählte Link-Element die Klasse "active" bekommt, oder ähnlich.wenn ich jetzt mal ausschließe, dass ich php verwenden werde, würde es auch reichen (von der richtigkeit, nicht nur das es funktioniert) das mit dem display:block zu machen?
Schwer zu sagen, habe momentan nicht so den Überblick, wie es vorher war. Wenns gut funktioniert hat, wäre alles ok, ich denke nur, das für das Kennzeichnen von aktiven Seiten / Menüs halt noch ein paar zusätzliche Klassen und CSS Regeln erforderlich wären.welche variante ist denn nun korrekter? meine ursprüngliche mit .sidebar-menue_active, .sidebar-menue, a.sidebar-menue:hover oder mit direkten ansprechen der elemente übers css?
jegliche zuweisungen im CSS bzgl dem <a>-element überschreiben die Vererbung der <p>-Farbe.warum muss ich bei meinem "navigator" dem "a" extra eine farbe geben, müsste der nicht die farbe vom elternelement <p> verwenden?