【问题标题】:CSS / HTML Navigation and Logo on same lineCSS / HTML 导航和徽标在同一行
【发布时间】:2015-06-03 15:39:32
【问题描述】:

我不知道如何将它们放在同一行。

http://codepen.io/anon/pen/dovZdQ

<body>
    <div class="navigation-bar">
        <div id="navigation-container">
            <img src="logo.png"> 
            <ul>
                <li><a href="#">Home</a></li>
                <li><a href="#">Projects</a></li>
                <li><a href="#">About</a></li>
                <li><a href="#">Services</a></li>
                <li><a href="#">Get in Touch</a></li>
            </ul>
        </div>
    </div>
</body>

【问题讨论】:

  • 你能发布你的css吗?
  • 这是我第一次在这里发布代码,当我尝试发布 CSS 时它给了我一些错误。这就是为什么我添加了一个codepen链接,你不能去那里吗?
  • 尝试将float:left; 添加到您的img
  • @ДениславАнгелов 是的,但链接可能会在将来某个地方断开,因此最好将相关编码放在您的问题中。
  • @JacobGray 好的,我会记住的。

标签: html css navigation


【解决方案1】:

&lt;ul&gt; 默认是块元素,改为inline-block

.navigation-bar ul {
  padding: 0px;
  margin: 0px;
  text-align: center;
  display:inline-block;
  vertical-align:top;
}

CodePen Demo

【讨论】:

  • 非常感谢!还有一个问题。现在如何将导航栏居中?
  • @ДениславАнгелов text-align:center; .navigation-bar。或密码笔:codepen.io/anon/pen/GJWOBV
  • 也许我没有问对。我只想将导航菜单居中,不带徽标。
  • @ДениславАнгелов 为此,最容易浮动图像:codepen.io/anon/pen/GJWOBV
【解决方案2】:

首先,让我们使用一些语义化的 HTML。

<nav class="navigation-bar">
    <img class="logo" src="logo.png">
    <ul>
        <li><a href="#">Home</a></li>
        <li><a href="#">Projects</a></li>
        <li><a href="#">About</a></li>
        <li><a href="#">Services</a></li>
        <li><a href="#">Get in Touch</a></li>
    </ul>
</nav>

事实上,你甚至可以摆脱更简约的:

<nav class="navigation-bar">
    <img class="logo" src="logo.png">
    <a href="#">Home</a>
    <a href="#">Projects</a>
    <a href="#">About</a>
    <a href="#">Services</a>
    <a href="#">Get in Touch</a>
</nav>

然后添加一些 CSS:

.navigation-bar {
    width: 100%;  /* i'm assuming full width */
    height: 80px; /* change it to desired width */
    background-color: red; /* change to desired color */
}
.logo {
    display: inline-block;
    vertical-align: top;
    width: 50px;
    height: 50px;
    margin-right: 20px;
    margin-top: 15px;    /* if you want it vertically middle of the navbar. */
}
.navigation-bar > a {
    display: inline-block;
    vertical-align: top;
    margin-right: 20px;
    height: 80px;        /* if you want it to take the full height of the bar */
    line-height: 80px;    /* if you want it vertically middle of the navbar */
}

显然,实际的边距、高度和行高等取决于您的设计。

其他选项是使用表格或浮动进行布局,但这些通常不受欢迎。

最后但同样重要的是,我希望你能治愈 div-itis。

【讨论】:

    【解决方案3】:

    您需要将logo 类应用于图像...然后浮动ul

    Codepen Demo

    HTML

    <img class="logo" src="http://i.imgur.com/hCrQkJi.png">
    

    CSS

    .navigation-bar ul {
      padding: 0px;
      margin: 0px;
      text-align: center;
      float: left;
      background: white;
    }
    

    【讨论】:

      【解决方案4】:

      我建议你使用 CSS Flex。

      body {
          margin: 0;
          padding: 0;
      }
      
      #navigation-container {
          position: relative;
          background-color: #352d2f;
          display: flex;
          flex-direction: row;
          justify-content: space-between;
      }
      
      ul {
          display: flex;
          flex-direction: row;
          list-style-type: none;
      }
      
      a {
          text-decoration: none;
          color: black;
          font-size: 16px;
          font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
          padding: 5px 15px;
          opacity: 0.7;
      }
      
      li {
          display: flex;
          flex-direction: row;
          align-items: center;
      }
       <head>
              <link href="./answer.css" type="text/css" rel="stylesheet">
          </head>
          <body>
      
              <div class="navigation-bar">
            
            
                <div id="navigation-container">
            
                  <img src="https://i.imgur.com/hCrQkJi.png">
            
                  <ul>
                    <li><a href="#">Home</a></li>
                    <li><a href="#">Projects</a></li>
                    <li><a href="#">About</a></li>
                    <li><a href="#">Services</a></li>
                    <li><a href="#">Get in Touch</a></li>
                  </ul>
                </div>
            
            </body>

      【讨论】:

        【解决方案5】:

        试试这个 CSS:

        body {
          margin: 0;
          padding: 0;
        }
        
        .logo {
          float: left;
        }
        /* ~~ Top Navigation Bar ~~ */
        
        #navigation-container {
          width: 1200px;
          margin: 0 auto;
          height: 70px;
        }
        
        .navigation-bar {
          background-color: #352d2f;
          height: 70px;
          width: 100%;
        }
        
        #navigation-container img {
          float: left;
        }
        
        #navigation-container ul {
          padding: 0px;
          margin: 0px;
          text-align: center;
          display:inline-block;
        }
        
        #navigation-container li {
          list-style-type: none;
          padding: 0px;
          height: 24px;
          margin-top: 4px;
          margin-bottom: 4px;
          display: inline;
        }
        
        #navigation-container li a {
          color: white;
          font-size: 16px;
          font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
          text-decoration: none;
          line-height: 70px;
          padding: 5px 15px;
          opacity: 0.7;
        }
        
        #menu {
          float: right;
        }
        

        【讨论】:

          【解决方案6】:

          1) 您可以将图像向左浮动:

          <img style="float:left" src="http://i.imgur.com/hCrQkJi.png">
          

          2)您可以使用 HTML 表格将元素放在一行上。

          代码如下

            <div class="navigation-bar">
              <div id="navigation-container">
                <table>
                  <tr>
                    <td><img src="http://i.imgur.com/hCrQkJi.png"></td>
                    <td><ul>
                      <li><a href="#">Home</a></li>
                      <li><a href="#">Projects</a></li>
                      <li><a href="#">About</a></li>
                      <li><a href="#">Services</a></li>
                      <li><a href="#">Get in Touch</a></li>
                  </ul>
                    </td></tr></table>
              </div>
          

          【讨论】:

          • 表格不应该用于布局!
          猜你喜欢
          • 1970-01-01
          • 2020-12-28
          • 1970-01-01
          • 2021-09-13
          • 1970-01-01
          • 2016-07-30
          • 1970-01-01
          • 2013-02-12
          • 1970-01-01
          相关资源
          最近更新 更多