代码之家  ›  专栏  ›  技术社区  ›  Ramesh Diego Lins de Freitas

动态内容水平对齐(特殊情况)

  •  0
  • Ramesh Diego Lins de Freitas  · 技术社区  · 6 年前

    我有一个导航菜单(标题菜单)在我的网页,这实际上是采取动态内容。动态菜单项加载到 ul>li>{dynamic_content} ul )在 不是垂直的而是水平的。我可以 text-align:center

    我也不能做下面的事,

    .class{
      width:50%;
      margin-left:auto;
      margin-right:auto;
     }
    

    因为我不能设定 width 因为这是一个动态导航。

    .class{
      position:absolute;
      left:50%;
      transform:translateX(-50%);
     }
    

    这也是做不到的,因为我无法设置 position:absolute 因为它是卷轴上的固定标题。这使得一些位置的问题。

    4 回复  |  直到 6 年前
        1
  •  0
  •   Ankit Sharma    6 年前

    你可以用 justify-content: center 柔性箱

    .container {
      display: flex;
      justify-content: center;
    }
    <div class="container">
      <span>Title 1</span>
      <span>Title 2</span>
      <span>Title 3</span>
    </div>
        2
  •  0
  •   Gerard    6 年前

    nav {
      width: 100%;
      display: flex;
      justify-content: center;
    }
    
    ul {
      margin: 0;
      display: flex;
      list-style: none;
    }
    
    li:not(:last-child) {
      margin-right: 1rem;
    }
    <nav>
      <ul>
        <li>Item 1</li>
        <li>Item 2</li>
        <li>Item 3</li>
      </ul>
    </nav>
        3
  •  0
  •   Renzo Calla    6 年前

    如果您正在寻找旧的浏览器支持,另一个选择是使用display table here

    .something-semantic {
      display: table;
      width: 100%;
    }
    .something-else-semantic {
      display: table-cell;
      text-align: center;
      vertical-align: middle;
    }
    <div class="something-semantic">
       <div class="something-else-semantic">
           Unknown stuff to be centered.
       </div>
    </div>
        4
  •  0
  •   Ramesh Diego Lins de Freitas    6 年前

    我想我找到了一种新的方法来排列内容水平。这个对我来说很好,浏览器兼容性没有问题。

    用一个 div text-align:center 并补充道 display:inline-block ul 我想成为中心。

    div {
      text-align: center;
    }
    
    ul {
      display:inline-block;
      list-style-type: none;
    }
    
    ul>li{
      float:left;
    }
    <div>
      <ul>
        <li>A</li>
        <li>B</li>
        <li>C</li>
      </ul>
    </div>