【问题标题】:CSS Flexbox - Center a div between two divs [duplicate]CSS Flexbox - 在两个 div 之间居中一个 div [重复]
【发布时间】:2018-12-09 06:48:42
【问题描述】:

我在导航和搜索按钮之间有一个徽标,我想将徽标置于页面中心。使用水平自动边距使中心 div 向右移动,因为左侧的内容更大。

.flexbox {
  display: flex;
}
.logo {
  margin: 0 auto;
}
<div class="flexbox">
  <div class="left-nav">
    <a href="#">Link1</a>
    <a href="#">Link2</a>
    <a href="#">Link3</a>
    <a href="#">Link4</a>
    <a href="#">Link5</a>
    <a href="#">Link6</a>
    <a href="#">Link7</a>
    <a href="#">Link8</a>

  </div>
  <div class="logo">
    Logo
  </div>
  <div class="right-search">
    search
  </div>
</div>

【问题讨论】:

    标签: html css flexbox


    【解决方案1】:

    为你的 CSS 试试这个。

    它使 div 在显示器上具有一定的宽度,并使徽标文本居中。

        .flexbox {
          display: flex;
        }
        .left-nav{
        	width:25%;
        }
        .logo {
          width:50%;
          text-align: center;
        }
        .right-search{
        	width:25%;
        }
    <div class="flexbox">
      <div class="left-nav">
        <a href="#">Link1</a>
        <a href="#">Link2</a>
        <a href="#">Link3</a>
        <a href="#">Link4</a>
        <a href="#">Link5</a>
        <a href="#">Link6</a>
        <a href="#">Link7</a>
        <a href="#">Link8</a>
    
      </div>
      <div class="logo">
        Logo
      </div>
      <div class="right-search">
        search
      </div>
    </div>

    【讨论】:

      【解决方案2】:

      或者

      .flexbox {
        display: flex;
      }
      .left-nav,
      .right-search {
          flex: 0 0 25%;
      }
      .logo {
        flex: 0 0 50%;
        text-align: center;
      }
      

      别忘了添加供应商前缀。

      【讨论】:

        【解决方案3】:

        您需要设置一个 flex-basis 值,然后在这些元素上设置收缩值,以便它们可以根据其基础具有相应的宽度。 你还需要声明align-items: center

        .flexbox {
          display: flex;
          align-items: center;
        }
        
        .flexbox>div {
          flex-basis: 33%;
        }
        
        .left-nav {
          flex-flow: column wrap;
          flex-shrink: 2;
        }
        
        .logo {
          flex-shrink: 1;
          text-align: center;
        }
        
        .right-search {
          flex-shrink: 2;
        }
        <div class="flexbox">
          <div class="left-nav">
            <a href="#">Link1</a>
            <a href="#">Link2</a>
            <a href="#">Link3</a>
            <a href="#">Link4</a>
            <a href="#">Link5</a>
            <a href="#">Link6</a>
            <a href="#">Link7</a>
            <a href="#">Link8</a>
        
          </div>
          <div class="logo">
            Logo
          </div>
          <div class="right-search">
            search
          </div>
        </div>

        【讨论】:

          猜你喜欢
          • 2020-11-07
          • 2016-09-04
          • 1970-01-01
          • 2016-08-31
          • 2017-07-28
          • 2020-02-15
          • 1970-01-01
          • 2012-08-01
          • 2012-07-17
          相关资源
          最近更新 更多