2016-06-10 6 views
-2

Ich möchte eine Logik wie in diesem Bild für ein HTML-Formular angezeigt erstellen.Erstellen Sie verschachtelte Dropdown-Liste in HTML/CSS-Formular

enter image description here

Was ist der einfachste Weg, es zu tun? Der Server verwendet Express und importiert eine Layoutdatei als Headerersatz mit CSS-Einstellungen, die kein Bootstrap enthalten. Ich bin ein kompletter Anfänger in Front-Dev und mir wurde gesagt, dass das Kombinieren von zwei CSS-Quellen in einem HTML möglich ist, aber Probleme verursacht.

kann ich dies ohne JS/Jquery tun? Wenn nicht, könnten Sie bitte ein minimales Beispiel dafür geben?

+4

Willkommen bei Stack Overflow! Es wird erwartet, dass Sie zumindest versuchen, dies für sich selbst zu programmieren. Stack Overflow ist kein Code-Schreibdienst. Ich würde vorschlagen, dass Sie zusätzliche Recherchen anstellen, entweder über Google oder indem Sie SO suchen, einen Versuch unternehmen und. Wenn Sie immer noch Probleme haben, kommen Sie zurück mit ** Ihrem Code ** und erklären Sie, was Sie versucht haben und warum es nicht funktioniert hat. –

+1

Vielen Dank für das Abstimmen. Ich habe eine Frage zu einem Programmieransatz gestellt. Bei der Programmierung geht es nicht nur um fest programmierte Probleme, sondern auch um Ansätze und Vorgehensweisen. Das nächste Ergebnis, was ich brauche, war das hier: http://StackOverflow.com/Questions/7488968/html-Css-Nested-Options-in-As-Select-Field und das Problem dort ist, dass ich 15 Kategorien und 15 habe Unterkategorien, die zu viel Platz in einem einzigen Drop-Down-Menü benötigen – Phil

+1

@Phil, wir schätzen, dass Programmierung nicht nur über hartcodierte Probleme, sondern diese Website ist. Vielleicht könnten Sie Ihre Frage neu formulieren, um ein bestimmtes Problem besser zu stellen, mit dem Sie konfrontiert werden. "Was ist der beste Weg?" Wird viele eigensinnige Antworten und Downvotes generieren. :) – Kyle

Antwort

0

Ja, es kann .. hier mit CSS und Javascript getan werden, ist der Code ..

ul { 
 
    list-style: none; 
 
    padding: 0; 
 
    margin: 0; 
 
    background: #1bc2a2; 
 
} 
 

 
ul li { 
 
    display: block; 
 
    position: relative; 
 
    float: left; 
 
    background: #1bc2a2; 
 
} 
 
li ul { display: none; } 
 

 
ul li a { 
 
    display: block; 
 
    padding: 1em; 
 
    text-decoration: none; 
 
    white-space: nowrap; 
 
    color: #fff; 
 
} 
 

 
ul li a:hover { background: #2c3e50; } 
 
li:hover > ul { 
 
    display: block; 
 
    position: absolute; 
 
} 
 

 
li:hover li { float: none; } 
 

 
li:hover a { background: #1bc2a2; } 
 

 
li:hover li a:hover { background: #2c3e50; } 
 

 
.main-navigation li ul li { border-top: 0; } 
 
ul ul ul { 
 
    left: 100%; 
 
    top: 0; 
 
} 
 
ul:before, 
 
ul:after { 
 
    content: " "; /* 1 */ 
 
    display: table; /* 2 */ 
 
} 
 

 
ul:after { clear: both; }
<ul class="main-navigation"> 
 
    <li><a href="#">Home</a></li> 
 
    <li><a href="#">Front End Design</a> 
 
    <ul> 
 
     <li><a href="#">HTML</a></li> 
 
     <li><a href="#">CSS</a> 
 
     <ul> 
 
      <li><a href="#">Resets</a></li> 
 
      <li><a href="#">Grids</a></li> 
 
      <li><a href="#">Frameworks</a></li> 
 
     </ul> 
 
     </li> 
 
     <li><a href="#">JavaScript</a> 
 
     <ul> 
 
      <li><a href="#">Ajax</a></li> 
 
      <li><a href="#">jQuery</a></li> 
 
     </ul> 
 
     </li> 
 
    </ul> 
 
    </li> 
 
    <li><a href="#">WordPress Development</a> 
 
    <ul> 
 
     <li><a href="#">Themes</a></li> 
 
     <li><a href="#">Plugins</a></li> 
 
     <li><a href="#">Custom Post Types</a> 
 
     <ul> 
 
      <li><a href="#">Portfolios</a></li> 
 
      <li><a href="#">Testimonials</a></li> 
 
     </ul> 
 
     </li> 
 
     <li><a href="#">Options</a></li> 
 
    </ul> 
 
    </li> 
 
    <li><a href="#">About Us</a></li> 
 
</ul>

ich dynamische Inhalte nicht enthalten, aber Sie werden es tun können durch Javascript mit Arrays.

+0

@Phil Sie können den Code ausführen und mich benachrichtigen, wenn ich Ihre Frage falsch interpretiert habe. –

+0

Danke. Ich wünschte, dies wäre ohne Bootstrap möglich, da das Bootstrap in der Kopfzeile das Nicht-Bootstrap-Template der Site ruiniert. Ich werde versuchen, einen Iframe nur für das Formular zu erstellen und den Code, den Sie im Formular angegeben haben, zu übernehmen. Diese Herangehensweise hat den Nachteil, dass die Site im iframe zwar die Berechtigung des Benutzers benötigt. – Phil

+0

@Phil Ich aktualisierte die Antwort mit einem Dropdown-Menü, das keine externe Ressource erfordert .. Überprüfen Sie das ... –

Verwandte Themen