使用Bootstrap v4.5.0复制用Bootstrap v3.3.6制作的导航条。

问题描述 投票:1回答:1

我正在学习一个关于HTML、CSS和JavaScript的在线课程,其中使用了Bootstrap v3.3.6。

我决定改用Bootstrap v4.5.0来学习课程。练习的内容是制作一个带有logo、标题和菜单按钮的导航条,当屏幕足够小时就会出现。

请看这里的例子。

      body {
        font-size: 16px;
        color: #fff;
        background-color: #61122f;
        font-family: 'Oxygen', sans-serif;
      }

      /** HEADER **/
      #header-nav {
        background-color: #f6b319;
        border-radius: 0;
        border: 0;
      }

      #logo-img {
        background: url('https://www.shiva.com/Files/Directory%20Folders/19822_1.png') no-repeat;
        width: 170px;
        height: 150px;
        margin: 10px 15px 10px 0;
      }

      .navbar-brand {
        padding-top: 25px;
      }

      .navbar-brand h1 { /* Restaurant name */
        font-family: 'Lora', serif;
        color: #557c3e;
        font-size: 1.5em;
        text-transform: uppercase;
        font-weight: bold;
        text-shadow: 1px 1px 1px #222;
        margin-top: 0;
        margin-bottom: 0;
        line-height: .75;
      }
      .navbar-brand a:hover, .navbar-brand a:focus {
        text-decoration: none;
      }
      .navbar-brand p { /* Kosher cert */
        color: #000;
        text-transform: uppercase;
        font-size: .7em;
        margin-top: 15px;
      }
      .navbar-brand p span { /* Star-K */
        vertical-align: middle;
      }
  <!doctype 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">
    <title>David Chu's China Bistro</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
    <link rel="stylesheet" href="css/styles.css">
    <link href='https://fonts.googleapis.com/css?family=Oxygen:400,300,700' rel='stylesheet' type='text/css'>
    <link href='https://fonts.googleapis.com/css?family=Lora' rel='stylesheet' type='text/css'>
  </head>
  <header>
    <nav id="header-nav" class="navbar navbar-default">
      <div class="container">
        <div class="navbar-header">
          <a href="index.html" class="pull-left visible-md visible-lg">
            <div id="logo-img"></div>
          </a>

          <div class="navbar-brand">
            <a href="index.html"><h1>David Chu's China Bistro</h1></a>
            <p>
              <img width="25" height="25"src="https://upload.wikimedia.org/wikipedia/en/thumb/1/19/Star-K_logo.jpg/340px-Star-K_logo.jpg" alt="Kosher certification">
              <span>Kosher Certified</span>
            </p>
          </div>

          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#collapsable-nav" aria-expanded="false">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>

        </div>
      </div>
    </nav>

  </header>


  <!-- jQuery (Bootstrap JS plugins depend on it) -->
  <script src="js/jquery-2.1.4.min.js"></script>
  <script src="js/bootstrap.min.js"></script>
  <script src="js/script.js"></script>
  </body>
</html>

https:/jsfiddle.net8ke1fn7p2

我删除了那些不再存在的类,并替换成相应的新类。对于按钮,我使用了bootstrap网站上显示的新sintax。

在这些修改之后,当我有一个额外的小屏幕时,我看到了两个主要的区别

  1. h1标题没有去新的一行
  2. 按钮进入新行
  3. 黄色的导航条没有延伸到屏幕的末端。

请看 我的结果

这是修改后的Bootstrap v4.5.0的代码。

body {
  font-size: 16px;
  color: #fff;
  background-color: #61122f;
  font-family: 'Oxygen', sans-serif;
}

/** HEADER **/
#header-nav {
  background-color: #f6b319;
  border-radius: 0;
  border: 0;
}

#logo-img {
  background: url('https://www.shiva.com/Files/Directory%20Folders/19822_1.png') no-repeat;
  width: 170px;
  height: 150px;
  margin: 10px 15px 10px 0;
}

.navbar-brand {
  padding-top: 25px;
}

.navbar-brand h1 { /* Restaurant name */
  font-family: 'Lora', serif;
  color: #557c3e;
  font-size: 1.5em;
  text-transform: uppercase;
  font-weight: bold;
  text-shadow: 1px 1px 1px #222;
  margin-top: 0;
  margin-bottom: 0;
  line-height: .75;
}
.navbar-brand a:hover, .navbar-brand a:focus {
  text-decoration: none;
}
.navbar-brand p { /* Kosher cert */
  color: #000;
  text-transform: uppercase;
  font-size: .7em;
  margin-top: 15px;
}
.navbar-brand p span { /* Star-K */
  vertical-align: middle;
}
<!doctype 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">
    <title>David Chu's China Bistro</title>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css">
    <link href='https://fonts.googleapis.com/css?family=Oxygen:400,300,700' rel='stylesheet' type='text/css'>
    <link href='https://fonts.googleapis.com/css?family=Lora' rel='stylesheet' type='text/css'>
  </head>
<body>
  <header>
    <nav id="header-nav" class=" navbar navbar-expand-sm navbar-light">
       <div class="container">
        <div class="navbar-header">
          <a href="index.html" class="float-left d-none d-md-block d-lg-block">
            <div id="logo-img"></div>
          </a>
     
          <div class="navbar-brand"> 
            <a href="index.html"><h1>David Chu's China Bistro</h1>
            </a>
           <p>
            <img width="25" height="25" src="https://upload.wikimedia.org/wikipedia/en/thumb/1/19/Star-K_logo.jpg/340px-Star-K_logo.jpg" alt="Kosher certification" alt="Kosher certification"/>
          <span>Kosher Certified</span>
          </p>
          </div>

         <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
          <span class="navbar-toggler-icon"></span>
        </button>

      </div>
    </div>
  </nav>

</header>


  <!-- jQuery (Bootstrap JS plugins depend on it) -->
  <script src="js/jquery-2.1.4.min.js"></script>
  <script src="js/bootstrap.min.js"></script>
  <script src="js/script.js"></script>
</body>
</html>

https:/jsfiddle.net8ke1fn7p3。

我做了很多尝试,但我无法找出问题所在。

html css twitter-bootstrap-3 bootstrap-4
1个回答
0
投票

我想我找到了解决方案,因为现在的结果是非常相似的例子。

我注意到在bootstrap v3.3.6中的一些样式已经不存在于相应的类中了。

我直接在HTML标签中添加了这个样式,把它和其他样式分开。

      body {
        font-size: 16px;
        color: #fff;
        background-color: #61122f;
        font-family: 'Oxygen', sans-serif;
      }

      /** HEADER **/
      #header-nav {
        background-color: #f6b319;
        border-radius: 0;
        border: 0;
      }

      #logo-img {
        background: url('https://www.shiva.com/Files/Directory%20Folders/19822_1.png') no-repeat;
        width: 170px;
        height: 150px;
        margin: 10px 15px 10px 0;
      }

      .navbar-brand {
        padding-top: 25px;
      }

      .navbar-brand h1 { /* Restaurant name */
        font-family: 'Lora', serif;
        color: #557c3e;
        font-size: 1.5em;
        text-transform: uppercase;
        font-weight: bold;
        text-shadow: 1px 1px 1px #222;
        margin-top: 0;
        margin-bottom: 0;
        line-height: .75;
      }
      .navbar-brand a:hover, .navbar-brand a:focus {
        text-decoration: none;
      }
      .navbar-brand p { /* Kosher cert */
        color: #000;
        text-transform: uppercase;
        font-size: .7em;
        margin-top: 15px;
      }
      .navbar-brand p span { /* Star-K */
        vertical-align: middle;
      }
    <!doctype 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">
        <title>David Chu's China Bistro</title>
        <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css">
        <link href='https://fonts.googleapis.com/css?family=Oxygen:400,300,700' rel='stylesheet' type='text/css'>
        <link href='https://fonts.googleapis.com/css?family=Lora' rel='stylesheet' type='text/css'>
      </head>
    <body>
      <header>
        <nav id="header-nav" class=" navbar navbar-expand-sm navbar-light">
           <div class="container">
            <div>
              <a href="index.html" class="float-left d-none d-md-block d-lg-block">
                <div id="logo-img"></div>
              </a>
         
              <div class="navbar-brand" style="float: left; height:50px; white-space: normal;"> 
                <a href="index.html"><h1>David Chu's China Bistro</h1>
                </a>
               <p>
                 <img width="25" height="25" src="https://upload.wikimedia.org/wikipedia/en/thumb/1/19/Star-K_logo.jpg/340px-Star-K_logo.jpg" alt="Kosher certification" alt="Kosher certification"/>
              <span>Kosher Certified</span>
              </p>
              </div>

             <button style="position: relative; float: right;"class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
              <span class="navbar-toggler-icon"></span>
            </button>

          </div>
        </div>
      </nav>

    </header>


      <!-- jQuery (Bootstrap JS plugins depend on it) -->
      <script src="js/jquery-2.1.4.min.js"></script>
      <script src="js/bootstrap.min.js"></script>
      <script src="js/script.js"></script>
    </body>
    </html>
© www.soinside.com 2019 - 2024. All rights reserved.