본문 바로가기

Python/Django

[Django] Bootstrap 기초

이번에는 Bootstrap 의 기초에 대해서 알아보겠습니다.

 

 

  • button, form 예시
// CSS
.btn-danger{
    color:black;
    background-color: rgb(78, 68, 216);
}
.btn-danger:hover{
    background-color: blue;
    color:red;
}

// HTML
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    
    <!-- CSS only -->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
    <!-- <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-Zenh87qX5JnK2Jl0vWa8Ck2rdkQ2Bzep5IDxbcnCeuOxjzrPF/et3URy9Bv1WTRi" crossorigin="anonymous"> -->
  
    <!-- JavaScript Bundle with Popper -->
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
    <!-- <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-OERcA2EqjJCMA+/3y+gxIOqMEjwtxJY7qPCqsdltbNJuaOe923+mo//f6V8Qbsw3" crossorigin="anonymous"></script> -->
    
    <link rel="stylesheet" href="master.css">
    
    <title>Bootstrap Button Form</title>
</head>

<body>
  <div style="margin: 2em;border: 2px solid red;padding: 1em;">
    <button type="button" class="btn ">Primary</button>&nbsp;&nbsp;
    <button type="button" class="btn btn-secondary">Secondary</button>&nbsp;&nbsp;
    <button type="button" class="btn btn-success">Success</button>&nbsp;&nbsp;
    <button type="button" class="btn btn-danger">Danger</button>&nbsp;&nbsp;
    <button type="button" class="btn ">text</button>&nbsp;&nbsp;
    <button type="button" class="btn btn-info">Info</button>&nbsp;&nbsp;
    <button type="button" class="btn btn-light">Light</button>&nbsp;&nbsp;
    <button type="button" class="btn btn-dark">Dark</button>&nbsp;&nbsp;
    
    <button type="button" class="btn btn-link">Link</button>
  </div>

  <div style="margin: 2em;">
    <form>
      <div class="mb-3">
        <label for="exampleInputEmail1" class="form-label">Email address</label>
        <input type="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp">
        <div id="emailHelp" class="form-text">We'll never share your email with anyone else.</div>
      </div>
      <div class="mb-3">
        <label for="exampleInputPassword1" class="form-label">Password</label>
        <input type="password" class="form-control" id="exampleInputPassword1">
        <div id="emailHelp" class="form-text">Password must contain 10 letters</div>
      </div>
      <div class="mb-3 form-check">
        <input type="checkbox" class="form-check-input" id="exampleCheck1">
        <label class="form-check-label" for="exampleCheck1">Check me out</label>
      </div>
      <br>
      <button type="submit" class="btn btn-danger">Submit</button>
    </form>    
  </div>
</body>
</html>

 

결과화면

 

Bootstrap Button Form
                       
We'll never share your email with anyone else.
Password must contain 10 letters

 


 

  • Navigation 예시
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    
    <!-- CSS only -->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
    <!-- JavaScript Bundle with Popper -->
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
    
    <link rel="stylesheet" href="master.css">
    <title>Navbar</title>
</head>

<body>

    <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
        <div class="container-fluid">
            <a class="navbar-brand" href="#">Navbar</a>
            <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
                <span class="navbar-toggler-icon"></span>
            </button>

            <div class="collapse navbar-collapse" id="navbarNav">
                <ul class="navbar-nav">
                    <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="#">Features</a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="#">Pricing</a>
                    </li>
                    <li class="nav-item dropdown">
                        <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
                        Dropdown
                        </a>
                        <ul class="dropdown-menu">
                        <li><a class="dropdown-item" href="#">Action</a></li>
                        <li><a class="dropdown-item" href="#">Another action</a></li>
                        <li><hr class="dropdown-divider"></li>
                        <li><a class="dropdown-item" href="#">Something else here</a></li>
                        </ul>
                    </li>              
                    <li class="nav-item">
                        <a class="nav-link disabled">Disabled</a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="other.html">Go to Other</a>
                    </li>
                    &nap;&nap;
                </ul>
                <form class="d-flex" role="search">
                    <input class="form-control me-2" type="search" placeholder="Search" aria-label="Search">
                    <button class="btn btn-outline-success" type="submit">Search</button>
                </form>            
            </div>
        </div>
    </nav>
  
</body>
</html>

 

결과화면

 

 


 

  • Grids 예시
// CSS
.extra{
    border: 2px solid black;
}

// HTML
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    
    <!-- CSS only -->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
    <!-- JavaScript Bundle with Popper -->
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
    
    <link rel="stylesheet" href="master.css">
    
    <title>Grid system & layout</title>
</head>
<body>

    <div class="container">
      <div class="row">
        <div class="col-sm-2 extra">
          2/12
        </div>
        <div class="col-sm-10 extra">
          10/12
        </div>
      </div>
   
      <div class="row">
        <div class="col-sm-1 extra">2/11</div>
        <div class="col-sm-1 extra">2/12</div>
        <div class="col-sm-1 extra">2/13</div>
        <div class="col-sm-2 extra">2/14</div>
        <div class="col-sm-3 extra">2/15</div>
        <div class="col-sm-4 extra">2/16</div>
      </div>
   
      <div class="row">
        <div class="col-dm-1 extra">2/11</div>
        <div class="col-dm-1 extra">2/12</div>
        <div class="col-dm-1 extra">2/13</div>
        <div class="col-dm-1 extra">2/14</div>
        <div class="col-dm-1 extra">2/15</div>
        <div class="col-dm-2 extra">2/16</div>
      </div>
   
    </div>
    
</body>
</html>

 

결과화면