Víceúrovňové menu, kombinace HTML a CSS



Dobrý večer,chtěl bych udělat víceúrovňové menu - horizontální, z toho další položku rozbalovací a z toho další položku vysunovací.Nějak takto: Odkaz 1 Pododkaz1 odkazzpododkazu1 Rozbalovací menu mám již hotové, potřebuji jen doplnit to vysunovací.Děkuji za odpovědi.HTML kód již mám, takhle mám CSS:body { background: url('nature.jpeg') no-repeat; background-size: cover; margin-left: 0.1%;}ul { margin: 0px; padding: 0px; list-style: none; font-family: arial;}ul li { float: left; width: 191.3px; height: 40px; background-color: aqua; opacity: .8; line-height: 40px; text-align: center; font-size: 20px;}ul li a { text-decoration: none; color: black; display: block;}ul li a:hover { background-color: silver;}ul li ul li{ display: none;}ul li:hover ul li { display: block;}
Tak udělej co bys chtěl. A neděkuj za odpovědi, na nic se neptáš.
<p>@ eamann má skvělou odpověď, pokud chcete různé rozvržení pro různé kategorie. otoh <strong> pokud chcete změnit css například na jinou barvu pozadí pro každou kategorii </strong>, zjistíte, že většina témat bude obsahovat kategorii slim jako css třídy na elementu <code>&lt;body&gt;</code> a/nebo případně dalších html prvcích, které jsou výstupem motivu. (a to iv případě, že vaše téma byste nemohli vždy přidat tuto funkci sami.)</p><p>například téma twentyten to dělá přesně; pro následující adresu url:</p><blockquote> <p> <a href="http://example.com/category/category-1/">http://example.com/category/category-1/</a> </p> </blockquote><p>jak vypadá prvek <code>&lt;body&gt;</code> takto:</p><blockquote> <p><code>&lt;body class="archive category category-category-1"&gt;</code></p> </blockquote><p>s vědomím výše uvedeného byste mohli přidat následující styly do souboru <code>style.css</code> vašeho motivu, který bude mít různou barvu pozadí pro každou stránku (jsem samozřejmě velmi zjednodušující, vaše skutečné css by bylo jistě sofistikovanější):</p><pre><code>/* style.css */ body.category-category-1 { background-color: red; } body.category-category-2 { background-color: green; } body.category-category-3 { background-color: blue; } </code></pre><p>vše, co opravdu potřebujete udělat, je zjistit, zda vaše téma to dělá nebo ne je <strong> zobrazit zdroj </strong> na stránkách kategorie zájmu a vyhledat vaši kategorii slug.</p><h3>použijte podřízený motiv</h3><p>pravděpodobně nechcete měnit <code>style.css</code> motivu; pravděpodobně budete chtít vytvořit <a href="https://wordpress.stackexchange.com/questions/290/customizing-a-wordpress-theme-without-changing-it/291#291"><strong> <em> child theme </em> </strong></a> místo. zde je několik odpovědí, kde mluvím o dětských tématech:</p><ul> <li> <a href="https://wordpress.stackexchange.com/questions/290/customizing-a-wordpress-theme-without-changing-it/291#291">přizpůsobení motivu wordpress bez jeho změny?</a> </li> <li> <a href="https://wordpress.stackexchange.com/questions/462/making-the-header-on-the-twenty-ten-theme-less-tall/463#463">tvorba záhlaví na téma téma dvacet deset méně tall?</a> </li> </ul><p>všimněte si, že ne všechny motivy podporují podřízené motivy. v případě těchto témat budete muset více zkoumat, jak jsou rozšířeny.</p> <p>jedním ze způsobů, jak toho dosáhnout, by bylo mít náladové desky (více informací zde: <a href="http://www.viget.com/inspire/getting-moody/">http://www.viget.com/inspire/getting-moody/</a> ), zobrazující barevné palety, typografie, snímky, v podstatě cokoli souvisí s webem.</p> <p>podle dokumentace systému android <a href="https://developer.android.com/reference/android/support/v7/widget/recyclerview.html"><code>recyclerview</code></a> je nový způsob uspořádání položek v seznamu a zobrazení vodorovně</p><p><strong>výhody:</strong></p><ol> <li>vzhledem k tomu, že pomocí recyclerview adapter, <a href="http://developer.android.com/training/improving-layouts/smooth-scrolling.html">viewholder vzor</a> je automaticky implementován</li> <li>animace se snadno provádí</li> <li>mnoho dalších funkcí</li> </ol><p><strong>více informací o <code>recyclerview</code>:</strong></p><ol> <li> <a href="http://www.grokkingandroid.com/first-glance-androids-recyclerview/">grokkingandroid.com</a> </li> <li> <a href="http://antonioleiva.com/recyclerview/">antonioleiva.com</a> </li> </ol><p><strong>vzorek:</strong></p><p> <a href="http://www.survivingwithandroid.com/2014/07/android-recyclerview.html">přežívajícíwithandroid.com</a> </p><p>stačí přidat níže uvedený blok, aby se <code>listview</code> změnilo na horizontální ze svislé polohy</p><p><strong>kódový fragment</strong></p><pre><code>linearlayoutmanager layoutmanager= new linearlayoutmanager(this,linearlayoutmanager.horizontal, false); mrecyclerview = (recyclerview) findviewbyid(r.id.recycler\_view); mrecyclerview.setlayoutmanager(layoutmanager); </code></pre> <p>musíte přidat spojení mezi uživateli a obsahem. to se provádí prostřednictvím vztahů. přejděte do vztahů a vyberte obsah: autor. pokud přidáte pole, uvidíte několik nových polí, z nichž si můžete vybrat, včetně uživatel: jméno. při konfiguraci uživatele: jméno se zobrazí rozbalovací nabídka, která vám umožní vybrat, který vztah, protože existuje pouze jeden.</p> <p>vyzkoušejte <a href="http://www.vanheusden.com/multitail/"><strong> vícesměrný </strong></a> . toto je übergeneralizace <code>tail -f</code>. můžete sledovat více souborů v samostatných oknech, zvýrazňovat řádky podle jejich obsahu a další.</p><pre><code>multitail -c /path/to/log </code></pre><p>barvy jsou konfigurovatelné. pokud pro vás výchozí barevné schéma nefunguje, napište vlastní do konfiguračního souboru. například volejte <code>multitail -cs amir\_log /path/to/log</code> s následujícím <code>~/.multitailrc</code>:</p><pre><code>colorscheme:amir\_log cs\_re:green:info cs\_re:red:severe </code></pre><p>dalším řešením, pokud jste na serveru, kde není vhodné instalovat jiné než <strong> standardní </strong> nástroje, je kombinace <code>tail -f</code> se sed nebo awk pro přidání kontrolních sekvencí výběru barev. to vyžaduje <code>tail -f</code> neprodleně vyprázdnit svůj standardní výstup, i když jeho standardní výstup je potrubí, nevím, jestli to všechny implementace dělají.</p><pre><code>tail -f /path/to/log | awk ' /info/ {print "\033[32m" $0 "\033[39m"} /severe/ {print "\033[31m" $0 "\033[39m"} ' </code></pre><p>nebo s <a href="https://www.gnu.org/software/sed/manual/sed.html">sed</a> </p><pre><code>tail -f /path/to/log | sed --unbuffered \ -e 's/\(.*info.*\)/\o033[32m\1\o033[39m/' \ -e 's/\(.*severe.*\)/\o033[31m\1\o033[39m/' </code></pre><p>pokud vaše sed není gnu sed, nahraďte <code>\o033</code> doslovným únikovým znakem a odeberte <code>--unbuffered</code>.</p><p>další možností je spustit <code>tail -f</code> v <strong> emacs </strong> shell buffer a použití emacsových syntaktických barvicích schopností.</p> <p>ze dvou uvedených možností bych šel na akordeonové menu.</p><p>samostatná stránka znamená dvě kliknutí a (obvykle) zpáteční cestu na server a pak se musíte vrátit zpět.</p><p>neexistuje žádná výhoda pro „předvolbu“ - pokud pro jednu stránku není mnoho možností.</p><p>jedna stránka (tj. bez „seskupené“ nabídky, pouze jediný odkaz) je v pořádku, pokud všechny běžné případy použití zahrnují více akcí na vybraného uživatele.</p><p>jinak bych použil „akordeonová“ menu nebo vyskakovací/javascriptová vyskakovací menu, <strong>a</strong> umožňovala přidávat příkazy na začátek seznamu.</p> <p>existuje několik možností. podívejme se na následující:</p><p><img src="https://i.stack.imgur.com/dd9mb.png" alt="alt text"></p><ul> <li>karát ("&gt;") vždy obsahuje více informací o položce</li> <li>použití ellipsis je také jasným ukazatelem, že zobrazené informace jsou částečné</li> <li>„zobrazit více“ je standardní, ale obvykle znamená zobrazit více položek.<br> možná by bylo při přidání přípony „info“ zřejmé, že stisknutí show more more by ve skutečnosti rozbalilo každý řádek a zobrazilo více informací.</li> </ul><p>samozřejmě můžete také vytvořit vlastní ovládací prvky, které by umožňovaly zobrazovat další informace na stejné obrazovce. možná něco jako:</p><p><img src="https://i.stack.imgur.com/y0ix6.png" alt="alt text"></p> <p>mám sklon souhlasit se svým šéfem :) možná, že skutečná aplikace má jiný pocit, ale podle vzhledu makety se nezdá být velmi elegantní.</p><p>co se stane, když po výběru podkategorie změním kategorii, resetuje se tato podkategorie? a pokud vyberu několik kategorií, obsahuje rozbalovací nabídka podkategorie podkategorie všech kategorií, které jsem vybral?</p><p>výběr několika kategorií současně vyžaduje hodně práce, protože rozevírací seznam se po kliknutí zavře a je třeba jej znovu otevřít po každé přidané položce a znovu ji naskenovat, abyste našli další potřebnou položku.</p><p>vaše odpověď zní jako rozevírací/vyskakovací strom se zaškrtávacími políčky.</p> <p>obě řešení jsou naprosto přijatelná, při volbě vezměte v úvahu tyto body:</p><ul> <li>vyskakovací okno na mapě může skrývat další užitečné informace</li> <li>více než několik vyskakovacích oken se rychle zaplní. je to v pořádku, pokud je současně otevřen pouze jeden z nich</li> <li>množství informací ve vyskakovacím okně musí zůstat malé</li> </ul><p>na druhé straně se zobrazují informace vedle mapy:</p><ul> <li>ztratíte spojení s bodem zájmu, takže musíte přidat vizuální vztah (barvu, číslo, ikonu, čáru ...) s bodem na mapě. toto spojení je obtížné nebo obtížně čitelné, když máte spoustu bodů</li> <li>pro zobrazení dodatečných informací může být pro uživatele nutné určité posouvání/změna velikosti okna</li> </ul> <p>odkaz a skript lze přidat prostřednictvím <a href="http://api.drupal.org/api/drupal/includes--common.inc/function/drupal\_set\_html\_head/6">drupal\_set\_html\_head ()</a> head</p><pre><code>drupal\_set\_html\_head('&lt;link href="http://stg.odnoklassniki.ru/share/odkl\_share.css" rel="stylesheet"&gt;&lt;script src="http://stg.odnoklassniki.ru/share/odkl\_share.js" type="text/javascript" &gt;&lt;/script&gt;'); </code></pre><p>kliknutí nejsou v drupalu dobrou praxí. chování se používá místo chování.</p><p>takže ve vašem bloku můžete výstup</p><pre><code> &lt;a class="odkl-klass-stat" href="http://preferans.de"&gt;&lt;span&gt;0&lt;/span&gt;&lt;/a&gt; </code></pre><p>poté můžete ve svém skriptu nastavit několik chování, která můžete vložit do souboru a přidat pomocí drupal\_add\_js ()</p><pre><code> drupal.behaviors.my\_module = function (context) { // this will load on page load odkl.init(); // this will attach a click handler to the links $('.odkl-klass-stat').click(function() { odkl.share(this); return false; }); }; </code></pre>