html - 网格 CSS 导航栏样式问题

标签 html css grid css-grid

我想让我的导航栏下拉菜单使用 CSS 网格在 3 列中显示“关于”下的内容(如下图所示)。我希望“nav-first-col”中的内容在第一列中,“nav-second-col”中的内容在第二列中,“nav-third-col”中的内容在第三列中柱子。但是,无论我尝试什么,“关于”下的内容似乎都只显示在 1 列中。

Picture of What I Want

.nav-bar-main-menu .dropdown:nth-child(2) ul li{
  display: grid;
  grid-template-columns: 150px 150px 150px;
  grid-auto-rows: auto;
  grid-gap: 1em;
}

.nav-first-col{
  grid-column: 1 ;
}

.nav-second-col{
  grid-column: 2 ;
}

.nav-third-col{
  grid-column: 3 ;
}
<div class="nav-bar-main-menu">
  <div class="dropdown">
    <button class="dropbtn"><a href="#">HOME</a></button>
  </div>
  <div class="dropdown">
    <button class="dropbtn">PROJECT</button>
      <div class="dropdown-content">
      <a href="#">Link 1</a>
      <a href="#">Link 2</a>
      <a href="#">Link 3</a>
    </div>
  </div>
  <div class="dropdown">
    <button class="dropbtn">HUMAN-CENTERED DESIGN</button>
      <div class="dropdown-content">
      <a href="#">Link 1</a>
      <a href="#">Link 2</a>
      <a href="#">Link 3</a>
      </div>
  </div>
  <div class="dropdown">
    <button class="dropbtn">OUTREACH</button>
      <div class="dropdown-content">
      <a href="#">Link 1</a>
      <a href="#">Link 2</a>
      <a href="#">Link 3</a>
      </div>
  </div>
  <div class="dropdown">
    <button class="dropbtn">ABOUT</button>
      <div class="dropdown-content">
       <ul>
        <div class="nav-first-col">
          <li><a href="#">WET LAB</a>
          <ul>
            <li><a href="http://2017.igem.org/Team:Cornell/Proof">HYDROSENSE</a></li>
            <li><a href="http://2017.igem.org/Team:Cornell/Parts">PARTS</a></li>
            <li><a href="http://2017.igem.org/Team:Cornell/Protocol">PROTOCOLS</a></li>
          </ul>
          </li>
          <li><a href="#">PRODUCT DEVELOPMENT</a>
          <ul>
            <li><a href="http://2017.igem.org/Team:Cornell/productdevoverview">OVERVIEW</a></li>
            <li><a href="http://2017.igem.org/Team:Cornell/Hardware">OXYPONICS SYSTEM</a></li>
            <li><a href="http://2017.igem.org/Team:Cornell/Software">DASHBOARD</a></li>
            <li><a href="http://2017.igem.org/Team:Cornell/Design">DESIGN PROCESS</a></li>
          </ul>
          </li>
        </div>
          <div class = "nav-second-col">
          <li><a href="#">MATHEMATICAL MODELING</a>
          <ul>
            <li><a href="http://2017.igem.org/Team:Cornell/Model">MODELING</a></li>
            <li><a href="http://2017.igem.org/Team:Cornell/Animation">ANIMATION</a></li>
          </ul>
          </li>
        </div>
        <div class = "nav-third-col">
          <li><a href="#">DOCUMENTATION</a>
          <ul>
            <li><a href="http://2017.igem.org/Team:Cornell/Notebook">NOTEBOOK</a></li>
            <li><a href="http://2017.igem.org/Team:Cornell/Safety">SAFETY</a></li>
          </ul>
         </div>
        </li>
             </ul>
      </div>
  </div>
  <div class="dropdown">
    <button class="dropbtn">TEAM</button>
      <div class="dropdown-content">
      <a href="#">Link 1</a>
      <a href="#">Link 2</a>
      <a href="#">Link 3</a>
      </div>
  </div>
</div>

最佳答案

.nav-bar-main-menu .dropdown:nth-child(2) ul li{
  display: grid;
  grid-template-columns: 150px 150px 150px;
  grid-auto-rows: auto;
  grid-gap: 1em;
}

.nav-first-col{
    grid-column: 1 ;
    display: inline-grid;
}

.nav-second-col{
    grid-column: 2 ;
    display: inline-grid;
}

.nav-third-col{
    grid-column: 3 ;
    display: inline-grid;
}
    <div class="nav-bar-main-menu">
        <div class="dropdown">
            <button class="dropbtn"><a href="#">HOME</a></button>
        </div>
        <div class="dropdown">
            <button class="dropbtn">PROJECT</button>
              <div class="dropdown-content">
                <a href="#">Link 1</a>
                <a href="#">Link 2</a>
                <a href="#">Link 3</a>
            </div>
        </div>
        <div class="dropdown">
            <button class="dropbtn">HUMAN-CENTERED DESIGN</button>
              <div class="dropdown-content">
                <a href="#">Link 1</a>
                <a href="#">Link 2</a>
                <a href="#">Link 3</a>
              </div>
        </div>
        <div class="dropdown">
            <button class="dropbtn">OUTREACH</button>
              <div class="dropdown-content">
                <a href="#">Link 1</a>
                <a href="#">Link 2</a>
                <a href="#">Link 3</a>
              </div>
        </div>
        <div class="dropdown">
            <button class="dropbtn">ABOUT</button>
              <div class="dropdown-content">
                 <ul>
                    <div class="nav-first-col">
                      <li><a href="#">WET LAB</a>
                        <ul>
                          <li><a href="http://2017.igem.org/Team:Cornell/Proof">HYDROSENSE</a></li>
                          <li><a href="http://2017.igem.org/Team:Cornell/Parts">PARTS</a></li>
                          <li><a href="http://2017.igem.org/Team:Cornell/Protocol">PROTOCOLS</a></li>
                        </ul>
                      </li>
                      <li><a href="#">PRODUCT DEVELOPMENT</a>
                        <ul>
                          <li><a href="http://2017.igem.org/Team:Cornell/productdevoverview">OVERVIEW</a></li>
                          <li><a href="http://2017.igem.org/Team:Cornell/Hardware">OXYPONICS SYSTEM</a></li>
                          <li><a href="http://2017.igem.org/Team:Cornell/Software">DASHBOARD</a></li>
                          <li><a href="http://2017.igem.org/Team:Cornell/Design">DESIGN PROCESS</a></li>
                        </ul>
                      </li>
                    </div>
                    <div class = "nav-second-col">
                      <li><a href="#">MATHEMATICAL MODELING</a>
                        <ul>
                          <li><a href="http://2017.igem.org/Team:Cornell/Model">MODELING</a></li>
                          <li><a href="http://2017.igem.org/Team:Cornell/Animation">ANIMATION</a></li>
                        </ul>
                      </li>
                    </div>
                    <div class = "nav-third-col">
                      <li><a href="#">DOCUMENTATION</a>
                        <ul>
                          <li><a href="http://2017.igem.org/Team:Cornell/Notebook">NOTEBOOK</a></li>
                          <li><a href="http://2017.igem.org/Team:Cornell/Safety">SAFETY</a></li>
                        </ul>
                     </div>
                    </li>
                 </ul>
              </div>
        </div>
        <div class="dropdown">
            <button class="dropbtn">TEAM</button>
              <div class="dropdown-content">
                <a href="#">Link 1</a>
                <a href="#">Link 2</a>
                <a href="#">Link 3</a>
              </div>
        </div>
    </div>

    </div>

不太熟悉网格系统,但这似乎可行?

关于html - 网格 CSS 导航栏样式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52154369/

相关文章:

javascript - 使用 jQuery 用 div 包装不同的 html 标签

PHP - 进行内联 HTML 变量输出的正确方法是什么?

javascript - Logo 和文字无法正确 float

javascript - 100% 宽度容器内的中心 div,左右浮动宽度

javascript - 如何使此 Canvas 外菜单永久显示?

javascript - Obout.Interface.OboutTextBox' 为 null 或不是对象错误

css - 如何在 syncfusion 中的网格单元格上添加 cssClass

reactjs - 使用 Material UI 在 React 中溢出的网格项目中的图像

javascript - onclick 事件在表单结束标记后不起作用

javascript - 如何将三个文本区域的内容动态显示到一个公共(public)文本区域中?