Komisch...
Haste mal nen Link, dass man sich das ansehen kann?
LG, pixselig
Beiträge von pixselig
-
-
Jann ich mir fast nicht vorstellen, dass du dazu kein tut findest. Such mal nach "drop down menu". Und dann eventuell statt der pseudoklasse "hover" die von WP für die aktuelle (parent)Seite vergebenen Klassen verwenden (zBsp. current-menu-item und current-page-parent).
LG -
Hallo Heinz
Hau jetzt nur bitte nicht das submenü mit "top: 9999px;" beim Focus nach unten aus der Seite raus ;)
Allgemein kann ich mir nicht vorstellen, dass es an WP oder am Server liegt. Begründung: Ausgeliefert wird vom Server reines HTML zusätzlich CSS und eventuell JS. Der CSS-Code ist dabei gänzlich unverändert und der HTML-Code wird am Server aus den WP-PHP-Dateien interpretiert. Was am Client ankommt ist ja leicht zu überprüfen und wenn dann der Quellcode und die CSS stimmen, wird es auch funktionieren.
Natürlich hat WP einen Einfluss auf die Klassenvergabe bei Menüs (man kann das auch selber beeinflussen) aber wenn man die CSS darauf abstimmt passts ja eh wieder.
Lass mich wissen wies ausging - sonst muss ichs selber probieren :(
LG, pixselig -
Ich bin mir jetzt nicht ganz sicher, aber ich denke, dass die embeddede Styles welche im Backend festgelegt werden in der Datenbank hinterlegt sind.
LG, pixselig
-
Hallo Gsi
Dein Beispiel ist leider schlecht, da es mit js umgesetzt ist ;)
Da mich das Thema jetzt auch interessiert hat habe ich es auf meiner Testseite selber mal probiert. Und siehe da, das Submenü erscheint nicht beim focus auf einen Parent-Punkt. Genau wie bei dir :)
Da mich das jetzt aber nicht los gelassen hat habe ich kurz recherchiert und siehe da, anscheinend eine Lösung gefunden:Das Problem dürfte sein, dass du das Submenü (bzw. ul li ul li) mittels "display:none;" ausgblendet hast. Und scheinbar kann man das bei einem Focus auf einen Parent-Punkt nicht mittels "display: (inline-)block;" anzeigen lassen. -> ganz im Gegensatz zu einem Hover.
Eine möglich lösung ist aber, dass du das Submenü nicht ausblendest sondern es einfach ausserhalb des Bildschirmes positionierst und bei einem Hover UND Focus einfach die Positionsangabe veränderst. Dann sollte es erstens bei einem Focus erscheinen und zweitens nach dem Focus auf den Parent-Punkt erst die Sub-Punkte durchgegangen werden.
Näheres hierzu -> http://www.bitvtest.de/infothek/artik…lappmenues.html (besonders ab dem Punkt "Tastaturbedienung")
Ich habe den Lösungsweg jetzt nicht versuchsweise umgesetzt, aber der Artikel klingt plausiebel (auch wenn schon 2009 geschrieben - hat aber auf css in diesem Fall ja keinen einfluss).
Lass mich aber bitte wissen ob es funktioniert hat!
LG, pixselig
-
Entschuldige Heinz wenn ich jetzt ganz blöd frage, aber du hast die pseudoklasse ":focus" schon verwendet?
http://de.selfhtml.org/css/eigenschaf…us_hover_active
http://www.css4you.de/focus.html
http://css-tricks.com/almanac/selectors/f/focus/
Ich meine, dass sollte schon funktionieren, allein versucht habe ich es noch nie...
LG, pixselig -
Die responsive Eigenschaft des Themes ist leider ziemlich zerschossen. daher schlage ich vor, dass du der gesammten Seite (#page) eine fixe breite gibst und die einzelnen boxen (header, footer, main - und innerhalb von main nochmals primary, tertiary und sidebar-right) NEU an ihr ausrichtest! Das ist die einfachste und sauberste Lösung - allerdings ohne responsive Eigenschaften.
Ansonsten musst du dich selber spielen, sorry, aber das geht mir jetzt dann zu weit.
LG, pixselig -
Das liegt daran, dass du die positionierung der linken sidebar nicht in selbiger sondern innerhal dieser hier
CSS.site-main .widget-area { float: left; left: 0 !important; position: fixed; top: 31% !important; }tja, am einfachsten wird sein, du änderst nochmals die sidebar-right.php
PHP
Alles anzeigen<?php /** * The sidebar containing the thirt widget area, displays on posts and pages. * * If no active widgets in this sidebar, it will be hidden completely. * * @package WordPress * @subpackage Twenty_Thirteen * @since Twenty Thirteen 1.0 */ if ( is_active_sidebar( 'sidebar-3' ) ) : ?> <div id="sidebar-right" class="sidebar-container[COLOR=#ff0000]-right[/COLOR]" role="complementary"> <div class="sidebar-inner[COLOR=#ff0000]-right[/COLOR]"> <div class="widget-area[COLOR=#ff0000]-right[/COLOR]"> <?php dynamic_sidebar( 'sidebar-3' ); ?> </div><!-- .widget-area --> </div><!-- .sidebar-inner --> </div><!-- #sidebar-right --> <?php endif; ?>
rotes ergänzen -> daurch hast du jetzt andere Klassen für den rechten widget bereich.Nochetwas: float und position:fixed kann man nicht gemeinsam für ein Element definieren (eigentlich gar kein position mit float).
-
Hallo
dann schreibe die Selektoren mit gewünschten Änderungen halt direkt in die style.css und versieh sie mit einem "!important" -> das sollte dann die inline-styles überschreiben.
LG, pixselig -
Was kann ich den dagegen tun das mein Content Bereich unter die Nav rutscht wenn das Browserfenster verkleinert wird? Liegt das an der fixen Positionierung der Navigation?kurz: ja!
LG -
Ich habe es jetzt selber nach meiner Anleitung gemacht ;) und es funktioniert einwandfrei (positionieren muss man halt noch da sonst die widgetbereiche übereinander liegen)!
Ich habe aber die Änderungen im Parent- bzw OriginalTheme vorgenommen. Ich kenne mich jetzt nicht so mit ChildThemes aus, da ich mir selber die Themes bastle und daher keine ChildThemes brauche.
Aber was ich weiss (oder zumindest glaube):
-du kannst die template-dateien (page.php etc.) in das Child-Theme kopieren und dann wie oben erwähnt abändern. Die "neue" page.php wird dann der des parent-themes bevorzugt bzw. ersetzt die. -> so bleibt das parent Theme ubdatebar. Änderungen in den Parent-Templatedateien werden allerdings nicht übernomme!! -> da aber werder die header.php noch die footer.php von den Änderungen betroffen sind sollte das nicht so tragisch sein.
-spezialfall "functions.php": diese Datei aus dem Child-Theme "überschreibt" NICHT die functions.php des Parent-Themes sonder ERGÄNTZ diese nur. Daraus folgt, dass du nicht die ganze functions.php in das Child-Theme kopierst sondern nur die Ergänzungen in eine NEU angelegte functions.php einträgst. also dann in etwa so:
functions.php des child-themes:PHP
Alles anzeigen<?php function twentythirteen_widgets_init() { register_sidebar( array( 'name' => __( 'Thirt Widget Area', 'twentythirteen' ), 'id' => 'sidebar-3', 'description' => __( 'Appears on posts and pages in the right sidebar.', 'twentythirteen' ), 'before_widget' => '<aside id="%1$s" class="widget %2$s">', 'after_widget' => '</aside>', 'before_title' => '<h3 class="widget-title">', 'after_title' => '</h3>', ) ); } add_action( 'widgets_init', 'twentythirteen_widgets_init' ); ?>
LG, pixselig -
-> https://addons.mozilla.org/de/firefox/addon/firebug/
oder ein beliebiges entwicklertool (console) für andere Browser (Chrome bzw auch FF haben schon gute integriert). -
Sollte passen. Beachte aber, dass der Widget Bereich nur angezeigt wird, wenn du zumindest ein Widget in ihm aktiviert hast.
-
Tja, dann wirds vermutlich an den Pfaden liegen - welche hast du denn genau angegeben (auch den in der index.php !)? Und in welchen Verzeichnis genau liegt deine Installation?
-
Das heißt, das man die jquery libary einbinden muss. Musst du aber nichtmehr machen - ist bei dir schon enthalten.
-
Was hast du denn genau gemacht? Und mit welchem Ergebnis?
-
Hallo M
schaue dir mal siesen FAQ Beitrag genauer an -> http://faq.wpde.org/wordpress-trot…chnis-aufrufen/
LG, pixselig -
Hallo Peter Pan
Ohne Link kann ich dir da leider nicht fundiert weiter helfen.
LG, pixselig -
Hallo Erik
Script (js) per functions.php einbinden -> https://codex.wordpress.org/Function_Refer…_enqueue_script
Style (css) per functions.php einbinden -> https://codex.wordpress.org/Function_Refer…p_enqueue_style
alternativ kannst du die Dateien auch in der header.php per "href" einbinden.
LG, pixselig -
Jens, ganz ehrlich -> jetzt wirds dann richtig kompliziert!
Also ganz Grob:
functions.php ab Zeile 225
Code
Alles anzeigenfunction twentythirteen_widgets_init() { register_sidebar( array( 'name' => __( 'Main Widget Area', 'twentythirteen' ), 'id' => 'sidebar-1', 'description' => __( 'Appears in the footer section of the site.', 'twentythirteen' ), 'before_widget' => '<aside id="%1$s" class="widget %2$s">', 'after_widget' => '</aside>', 'before_title' => '<h3 class="widget-title">', 'after_title' => '</h3>', ) ); register_sidebar( array( 'name' => __( 'Secondary Widget Area', 'twentythirteen' ), 'id' => 'sidebar-2', 'description' => __( 'Appears on posts and pages in the sidebar.', 'twentythirteen' ), 'before_widget' => '<aside id="%1$s" class="widget %2$s">', 'after_widget' => '</aside>', 'before_title' => '<h3 class="widget-title">', 'after_title' => '</h3>', ) ); [COLOR=#ff0000] register_sidebar( array( 'name' => __( 'Thirt Widget Area', 'twentythirteen' ), 'id' => 'sidebar-3', 'description' => __( 'Appears on posts and pages in the right sidebar.', 'twentythirteen' ), 'before_widget' => '<aside id="%1$s" class="widget %2$s">', 'after_widget' => '</aside>', 'before_title' => '<h3 class="widget-title">', 'after_title' => '</h3>', ) );[/COLOR] } add_action( 'widgets_init', 'twentythirteen_widgets_init' );
die roten Zeilen hinzufügen.dann eine Datei im Themeverzeichnis erstellen welche du "sidebar-right.php" nennst und in welche du folgenden inhalt schreibst:
PHP
Alles anzeigen<?php /** * The sidebar containing the thirt widget area, displays on posts and pages. * * If no active widgets in this sidebar, it will be hidden completely. * * @package WordPress * @subpackage Twenty_Thirteen * @since Twenty Thirteen 1.0 */ if ( is_active_sidebar( 'sidebar-3' ) ) : ?> <div id="sidebar-right" class="sidebar-container" role="complementary"> <div class="sidebar-inner"> <div class="widget-area"> <?php dynamic_sidebar( 'sidebar-3' ); ?> </div><!-- .widget-area --> </div><!-- .sidebar-inner --> </div><!-- #sidebar-right --> <?php endif; ?>und dann fügst du in die index.php ab ca Zeile 35
PHP</div><!-- #primary --> <?php get_sidebar(); ?> [COLOR=#ff0000]<?php get_sidebar( 'right' ); ?>[/COLOR] <?php get_footer(); ?>
die rote Zeile ein.Den obigen Aufruf der sidebar-right.php (<?php get_sidebar( 'right' ); ?>) musst du auch an der selben Stelle in sämtlichen anderen zuständigen php-Dateien hinzufügen (insbesondere in der page.php, der category.php, der single.php und der archive.php).
Positionieren kannst du die neue Sidebar dann in der style.css mit "#sidebar-right".
Viel Erfolg, pixselig
PS: ist nicht getestet.
PPS: das gesamte Vorgehen bezüglich deiner Layoutgestaltung ist nicht die Standardvorgehensweise ;)