【问题标题】:flexbox align center vertical and horizontal not working properlyflexbox垂直和水平对齐中心无法正常工作
【发布时间】:2018-10-02 03:15:36
【问题描述】:

我知道居中 flex 容器的基本概念,使用 justify content:center 和 align-items center,问题是盒子没有正确对齐:S

这是我目前尝试过的:

<template>
  <div>
    <main class="container">
        <div class="container__left">
          <div>I'm Jonathan Doe</div>
          <div>Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum v Lorem ipsumv Lorem ipsumLorem ipsumLorem ipsum v v</div>
          <ul>
            <li>one bla bla bla</li>
            <li>two bla bla bla</li>
            <li>three bla bla bla</li>
          </ul>
          <div>
            <button>first</button>
            <button>second</button>
          </div>
        </div>
        <div class="container__right">

        </div>
    </main>
  </div>
</template>

<script>
export default {
  name: "app",
  data() {
    return {
      msg: "Welcome to Your Vue.js App"
    };
  }
};
</script>

<style lang="scss">
@import url("https://fonts.googleapis.com/css?family=Exo");

* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

body {
  padding: 1rem;
  font-family: "Exo", sans-serif;
}

.main {
  display: flex;
  justify-content: center;
  align-items: center;
}

.container {
  height: 80vh;
  width: 80%;
  border: 8px solid #3f3f3f;
}

.container__left {
  height: 100%;
  width: 100%;
  clip-path: polygon(0 0, 50% 0, 48% 100%, 0 100%);
  background-color: #1c1f24;
}
</style>

宽度和高度可能有问题,但我不知道有什么问题,有什么帮助吗?

【问题讨论】:

  • 你没有 .main 类的元素。只有一个main 元素。所以没有应用 flex

标签: javascript html css vue.js flexbox


【解决方案1】:

首先,你在你的 CSS 中使用 .main 而不是 ma​​in。 第二件事是,你不需要 flexbox 来居中你的盒子,

margin:auto; 

在容器上就足够了

检查下面的sn-p

* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

html,
body {
  height: 100%;
}

body {
  padding: 1rem;
  font-family: "Exo", sans-serif;
}

.main-parent {
  height: 100%;
  display: flex;
}

main {
  margin: auto;
}

.container {
  height: 80vh;
  width: 80%;
  border: 8px solid #3f3f3f;
}

.container__left {
  height: 100%;
  width: 100%;
  clip-path: polygon(0 0, 50% 0, 48% 100%, 0 100%);
  background-color: #1c1f24;
}
<div class="main-parent">
  <main class="container">
    <div class="container__left">
      <div>I'm Jonathan Doe</div>
      <div>Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum v Lorem ipsumv Lorem ipsumLorem ipsumLorem ipsum v v</div>
      <ul>
        <li>one bla bla bla</li>
        <li>two bla bla bla</li>
        <li>three bla bla bla</li>
      </ul>
      <div>
        <button>first</button>
        <button>second</button>
      </div>
    </div>
    <div class="container__right">

    </div>
  </main>
</div>

【讨论】:

  • 整页不居中,边距自动无法正常工作
  • @afcosta,立即查看
  • 似乎需要 flex :D
猜你喜欢
  • 2017-07-25
  • 2017-06-21
  • 2018-06-23
  • 1970-01-01
  • 1970-01-01
  • 2015-03-15
  • 1970-01-01
  • 2016-12-04
  • 1970-01-01
相关资源
最近更新 更多