Как сократить ширину поля ввода — Bootstrap v5 или CSS. сохраняя его отзывчивость

#javascript #html #css #forms #twitter-bootstrap

Вопрос:

Я не могу найти способ уменьшить ширину окна ввода в коде в разделе Jumbotron. Я не могу увидеть/найти какой-либо код, который управляет шириной окна ввода. Приведенный ниже код является кодом из начальной загрузки v5. Как мне сократить ширину окна ввода, сохранив его по центру и его оперативность?

     <!doctype html>
<html>
    
    <head>
        
        <!-- Bootstrap CSS -->
       <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-eOJMYsd53ii scO/bJGFsiCZc 5NDVN2yr8 0RDqr0Ql0h rP48ckxlpbzKgwra6" crossorigin="anonymous">
      
       <!--  Code for jQuery  -->
       <script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj 3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
       
                   <!--  Bootstrap Bundle with Popper -->
       
       <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/js/bootstrap.bundle.min.js" integrity="sha384-JEW9xMcG8R pH31jmWH6WWP0WintQrMb4s7ZOdauHnUtxwoG2vI5DkLtS3qm9Ekf" crossorigin="anonymous"></script>
        
       <!-- Code for FontAwesome -->
       <link href="Desktop/FontAwesome/fontawesome-free-icons/css/all.css" rel="stylesheet">    
        
        <title>Project App Landing Page</title>
        
        <style type="text/css">
            
            .jumbotron{
                
                background-image: url(blueSky.jpg);
                min-height: 450px;
                text-align: center;
            }
            
            #appSummary {
                
                text-align: center;
                margin-top: 50px;
                margin-bottom: 50px;
            }
            
        </style>    
    </head>
    <body>
        
        <nav class="navbar navbar-expand-lg navbar-light bg-light">
          <div class="container-fluid">
            <a class="navbar-brand" href="#">MyApp</a>
            <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
              <span class="navbar-toggler-icon"></span>
</button>
            <div class="collapse navbar-collapse" id="navbarSupportedContent">
              <ul class="navbar-nav me-auto mb-2 mb-lg-0">
                <li class="nav-item">
                  <a class="nav-link active" aria-current="page" href="#">Home</a>
                </li>
                <li class="nav-item">
                  <a class="nav-link" href="#">About</a>
                </li>

                <li class="nav-item">
                  <a class="nav-link" href="#">Download The App</a>
                </li>        
              </ul>

              <form class="d-flex">
                 <div class="col-xs-4"> 
                    <input class="form-control" type="email" placeholder="Email" aria-label="Email">
                    <input class="form-control" type="password" placeholder="Password" aria-label="password">  
                    <button class="btn btn-success" type="submit">Log in</button>
                  </div>    
              </form>
            </div>
          </div>
       </nav>
        
       <div class="jumbotron">

           <h1 class="display-3" >My Awesome App!</h1>
           <p class="lead">This is why YOU should download this fantastic app!</p>
           <hr class="m-y-2">
           <p>Want to know more? Join our mailing list!</p>       

           <form>
               <div class="input-group mb-3">
                  <span class="input-group-text">@</span>
                  <input type="email" id="email" class="form-control" placeholder="Your email" aria-label="Email" aria-describedby="basic-addon1">
                  <button type="submit" class="btn btn-primary btn-md">Sign up</button> 
               </div>          
           </form>       
        </div>
        
        <div class="container">
            
            <div class="row" id="appSummary">
                
                <h1>Why This App Is Awesome</h1>
                <p class="lead">Summary, once again, of your app's awesomeness</p>            
            </div>
            <div class="row row-cols-1 row-cols-md-3 g-4">
              <div class="col">
                <div class="card h-100">
                  <img src="cardPic.png" class="card-img-top" alt="Card Image">
                  <div class="card-body">
                    <h5 class="card-title"><i class="fas fa-radiation-alt"></i>Card title</h5>
                    <p class="card-text">This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.</p>
                  </div>
                  <div class="card-footer">
                    <small class="text-muted">Last updated 3 mins ago</small>
                  </div>
                </div>
              </div>
              <div class="col">
                <div class="card h-100">
                  <img src="cardPic.png" class="card-img-top" alt="...">
                  <div class="card-body">
                    <h5 class="card-title"><i class="far fa-heart"></i>Card title</h5>
                    <p class="card-text">This card has supporting text below as a natural lead-in to additional content.</p>
                  </div>
                  <div class="card-footer">
                    <small class="text-muted">Last updated 3 mins ago</small>
                  </div>
                </div>
              </div>
              <div class="col">
                <div class="card h-100">
                  <img src="cardPic.png" class="card-img-top" alt="...">
                  <div class="card-body">
                    <h5 class="card-title"><i class="fas fa-pump-medical"></i>Card title</h5>
                    <p class="card-text">This is a wider card with supporting text below as a natural lead-in to additional content. This card has even longer content than the first to show that equal height action.</p>
                  </div>
                  <div class="card-footer">
                    <small class="text-muted">Last updated 3 mins ago</small>
                  </div>
                </div>
              </div>
            </div>
        </div>
         
        <div class="container">
            
            <div class="row">           
            </div>                
        </div>    
    </body>
</html>
 

Ответ №1:

В начальной загрузке класс управления формой имеет ширину 100%. Удалите класс «управление формой» из этой строки:

 <input type="email" id="email" class="form-control" placeholder="Your email" aria-label="Email" aria-describedby="basic-addon1">
 

Затем вы должны иметь возможность применить свою собственную ширину к входным данным, либо в <style> блоке, либо с другим классом начальной загрузки.

Комментарии:

1. Спасибо, что ответили, Джерн. Я пробовал это; после удаления «управления формой» я могу изменить ширину, но затем все в коде <формы> перемещается влево от веб-страницы, откуда я не могу найти код, чтобы перецентрировать его и сохранить его отзывчивость.

2. Попробуйте использовать flex в div, содержащем элемент ввода: вы хотели display: flex бы и justify-content: center для достижения того, что вы пытаетесь сделать: <div class="input-group mb-3" style="display: flex;justify-content: center;"> (Если бы вы хотели вместо этого использовать классы начальной загрузки, это было бы d-flex и justify-content-center : <div class="input-group mb-3 d-flex justify-content-center"> )