Bienvenido a la Comunidad de Treehouse

¿Quieres colaborar en errores de código? ¿Tienes errores que necesitan comentarios? ¿Buscas un par de ojos adicionales en tu último proyecto? aquí.

¿Buscas aprender algo nuevo?

Treehouse ofrece una prueba gratuita de siete días para estudiantes nuevos. Obtén acceso a miles de horas de contenido y únete a miles de

Inicia tu prueba gratuita

CSS Conceptos básicos de Bootstrap Usar Componentes Bootstrap Navegación en Línea y Botones Desplegables

Pequeño Problema con: Navs en Línea y Botones Desplegables

Así que me estoy encontrando con un problema con el código del botón dividido en este proyecto en Bootstrap Basics. Todo funcionaba sin problemas hasta que llegué a la última parte de la lección y el menú desplegable no funciona, he intentado algunas soluciones posibles y simplemente no funciona. ¡Cualquier consejo sobre cómo solucionar esto sería apreciado! Aquí está mi código:

<!DOCTYPE html>
<html lang=es>
      <head>
        <title>Conferencia Full Stack</title>
        <!-- Etiquetas meta requeridas -->
        <meta charset=utf-8>
        <meta name=viewport contenido=width=device-width, initial-scale=1, shrink-to-fit=no>

        <!-- Bootstrap CSS -->
        <link rel=stylesheet href=https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css integrity=sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M crossorigin=anonymous>
      </head>
      <body>

        <!--  barra de navegación  -->
       <nav class=navbar navbar-expand-lg navbar-dark bg-primary fixed-top>
          <div class=container>
            <a class=navbar-brand order-1 mr-0 href=https://www.teamtreehouse.com target=_blank>Presentado por Treehouse</a>
            <botón class=navbar-toggler type=button data-toggle=collapse data-target=#navbarNavAltMarkup aria-controls=navbarNavAltMarkup aria-expanded=falso aria-label=Alternar navegación>
              <span class=navbar-toggler-icon></span>
            </botón>
            <div class=collapse navbar-collapse id=navbarNavAltMarkup>
              <div class=navbar-nav>
                <a class=nav-item nav-link href=#home>Inicio <span class=sr-only>(actual)</span></a>
                <a class=nav-item nav-link href=#about>Acerca de</a>
                <a class=nav-item nav-link href=#speakers>Ponentes</a>
                <a class=nav-item nav-link href=#schedule>Horario</a>
              </div>
            </div>
          </div>
        </nav>
        <!--  /barra de navegación  -->

    <!--  jumbotron  -->
        <div class=jumbotron jumbotron-fluid bg-info text-white>
          <div class=container text-sm-center pt-5>
            <h1 class=display-2>Conferencia Full Stack</h1>
            <p class=lead>¡Una Conferencia de Un Día Sobre Todo lo Relacionado con JavaScript!</p>
            <div class=btn-group mt-4 role=group aria-label=Botones de llamada a la acción>
      <botón type=button class=btn btn-primary btn-lg>Regístrate ahora</botón>
      <a class=btn btn-light btn-lg href=#speakers>Ver ponentes</a>
    </div>
          </div>
        </div><!--  /jumbotron  -->

        <div class=container pt-4>
          <!-- acerca de -->
          <div class=fila>
            <div class=col-lg order-lg-2>
              <h3 class=mb-4>Acerca de Full Stack Conf</h3>
              <img class=mb-4 img-fluid rounded d-none d-sm-block src=img/pdx.jpg alt=Portland>
              <p>¡La hermosa ciudad de Portland, Oregón será la ciudad anfitriona de Full Stack Conf!</p>
              <p>Explora el futuro de JavaScript con un alineación de profesionales de la industria. Descubre nuevas técnicas para avanzar tu carrera como desarrollador web.</p>
            </div>
            <div class=col-lg order-lg-1>
              <h3 class=mb-4>Oradores expertos</h3>
              <p>¡Nuestro alineación de oradores expertos acaba de ser anunciada, así que no esperes demasiado antes de conseguir tus entradas!</p>
              <p>¿Quieres conocer la comunidad internacional de JavaScript y compartir habilidades con algunos de los mejores expertos, hackers y creadores del mundo? ¡Sé el primero en saber qué esperar del futuro de JavaScript.</p>
              <p>Full Stack Conf se compromete a ser inclusiva y acogedora para todos. Esperamos con entusiasmo otro día intensivo de aprendizaje y intercambio.</p>
            </div>
            <div class=col-lg order-lg-3>
              <h3 class=mb-4>Lo Que Aprenderás</h3>
              <ul>
                <li><strong>MongoDB</strong>: base de datos NoSQL</li>
                <li><strong>Express</strong>: Marco de trabajo para Node</li>
                <li><strong>React</strong>: biblioteca de JavaScript</li>
                <li><strong>Node.js</strong>: entorno de JavaScript</li>
                <li><strong>ES2015</strong>: última versión de JavaScript</li>
                 <li><strong>Babel</strong>: compilador de JavaScript</li>
              </ul>        
            </div>
          </div><!--  /acerca de   -->

          <!--   oradores   -->
          <h1 id=oradores class=display-4 text-center my-5 text-muted>Ponentes</h1>
          [Las biografías de los oradores van aquí]
          <!--/oradores-->

          <!--   cronograma   -->
          <h1 class=display-4 text-center my-5 text-muted>Horario</h1>
          [El cronograma de la conferencia va aquí]
          <!--   /cronograma   -->


          <!-- botón de llamada a la acción-->
             <botón type=button class=btn btn-outline-info btn-lg d-block mx-auto my-5>No te lo pierdas, regístrate ahora</botón>
          <!-- /botón de llamada a la acción -->


          <!-- formulario de registro -->
    <hr>
    <div class=row py-4 text-muted>
      <div class=col-md col-xl-5>
        <p><strong>Acerca de Treehouse</strong></p>
        <p>Treehouse brinda educación tecnológica asequible a personas en todas partes para ayudarles a lograr sus sueños y cambiar el mundo.</p>
      </div>
      <div class=col-md col-xl-5 ml-auto>
        <p><strong>Mantente actualizado sobre Full Stack Conf</strong></p>
        <div class=input-group>
          <input type=text class=form-control placeholder=Correo Electrónico>
          <span class=input-group-btn>
            <botón class=btn btn-primary type=button>Registrarse</botón>
          </span>
        </div>
      </div>
    </div>
    <hr><!-- /formulario de registro -->

<!--  pie de página  -->
<div class=row py-3>
    <div class=col-md-7> 
      <ul class=nav>
        <li class=nav-item>
          <a class=nav-link aria-current=page href=#>Comunidad</a>
        </li>
        <li class=nav-item>
          <a class=nav-link href=#>Tracks</a>
        </li>
        <li class=nav-item>
          <div class=btn-group>
            <botón type=button class=btn btn-outline-secondary>Otras conferencias</botón>
            <botón type=button class=btn btn-outline-secondary dropdown-toggle dropdown-toggle-split data-bs-toggle=dropdown aria-expanded=falso>
            </botón>
            <ul class=dropdown-menu>
              <li><a class=dropdown-item href=#>CSS Conf</a></li>
              <li><a class=dropdown-item href=#>Python Conf</a></li>
              <li><a class=dropdown-item href=#>Java Conf</a></li>
              <li><hr class=dropdown-divider></li>
              <li><a class=dropdown-item href=#>Swift Conf</a></li>
            </ul>
          </div>
        </li>
      </ul>
    </div>
      <div class=col-md text-md-right>
        <small>&copy; 2017 Full Stack Conf &amp; Treehouse</small>
      </div>
    </div><!--  /pie de página  -->

 </div><!-- /.container -->



        <!-- JavaScript opcional -->
        <!-- jQuery primero, luego Popper.js, luego Bootstrap JS -->
        <script src=https://code.jquery.com/jquery-3.2.1.slim.min.js integrity=sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN crossorigin=anonymous></script>
        <script src=https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js integrity=sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4 crossorigin=anonymous></script>
        <script src=https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js integrity=sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1 crossorigin=anonymous></script>
      </body>
</html>

3 Respuestas

Bootstrap 5 es un poco diferente. Aquí hay un fragmento del código que usé para seguir:

  <div class=row py-3>
    <div class=col-md-7>
      <ul class=nav>
        <li class=nav-item>
          <a class=nav-link active aria-current=page href=#>Activo</a>
        </li>
        <li class=nav-item>
          <a class=nav-link href=#>Comunidad</a>
        </li>
        <li class=nav-item>
          <a class=nav-link href=#>Tracks</a>
        </li>
        <li class=nav-item>
          <div class=btn-group dropup>
            <botón type=button class=btn btn-outline-secondary>Otras conferencias</botón>
            <botón type=button class=btn btn-outline-secondary dropdown-toggle dropdown-toggle-split data-toggle=dropdown aria-haspopup=verdadero aria-expanded=falso>
              <span class=sr-only>Alternar menú desplegable</span>
            </botón>
            <div class=dropdown-menu>
              <a class=dropdown-item href=#>CSS Conf</a>
              <a class=dropdown-item href=#>Python Conf</a>
              <a class=dropdown-item href=#>Java Conf</a>
              <a class=dropdown-item href=#>Swift Conf</a>
            </div>
          </div>
        </li>
      </ul>
    </div>
    <div class=col-md text-md-right>
      <small>&copy; 2017 Full Stack Conf &amp; Treehouse</small>
  </div>
Jonathan Grieve
Jonathan Grieve
91,254 puntos

Intenta eliminar las partes de lista de tu código para el menú desplegable y envuelve los elementos de anclaje en un <div> elemento con la clase de dropdown-menu.

Eso no solucionó el problema, no estoy seguro de qué más podría ser. ¿Podría ser un problema de conflicto de versiones de Bootstrap?

<!--  pie de página  -->
<div class=row py-3>
    <div class=col-md-7> 
      <ul class=nav>
        <li class=nav-item>
          <a class=nav-link aria-current=page href=#>Comunidad</a>
        </li>
        <li class=nav-item>
          <a class=nav-link href=#>Tracks</a>
        </li>
        <li class=nav-item>
          <div class=btn-group>
            <botón type=button class=btn btn-outline-secondary>Otras conferencias</botón>
            <botón type=button class=btn btn-outline-secondary dropdown-toggle dropdown-toggle-split data-bs-toggle=dropdown aria-expanded=falso>
            </botón>
            <div class=dropdown-menu>
              <a class=dropdown-item href=#>CSS Conf</a>
              <a class=dropdown-item href=#>Python Conf</a>
              <a class=dropdown-item href=#>Java Conf</a>
              <a class=dropdown-item href=#>Swift Conf</a>
            </div>
          </div>
        </li>
      </ul>
    </div>
      <div class=col-md text-md-right>
        <small>&copy; 2017 Full Stack Conf &amp; Treehouse</small>
      </div>
    </div><!--  /footer  --

Logré que funcionara yendo a Bootstrap > Primeros pasos > Descargar y copiando estas dos <script> líneas y reemplazando las tres que se proporcionaron para el proyecto. No sé cómo esto afectará los tutoriales restantes, pero soluciona el problema del menú dividido en esta lección.

<script src=https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.5/dist/umd/popper.min.js integrity=sha384-Xe+8cL9oJa6tN/veChSP7q+mnSPaj5Bcu9mPX5F5xIGE0DVittaqT5lorf0EI7Vk crossorigin=anonymous></script>
<script src=https://cdn.jsdelivr.net/npm/bootstrap@5.2.0-beta1/dist/js/bootstrap.min.js integrity=sha384-kjU+l4N0Yf4ZOJErLsIcvOU2qSb74wXpOhqTvwVx3OElZRweTnQ6d31fXEoRD1Jy crossorigin=anonymous></script>