positionnement Flexbox

voix
0

Je suis en train de placer un div au milieu de la page et l'autre à la fin.

Je suis arrivé, mais je ne suis pas en mesure de positionner le premier sur le centre.

J'ai essayé d'installer différentes auto aling au content_text mais aucun de la chose que j'ai essayé travail.

espérons que vous les gars peuvent me aider. :)

html,body{
  height:100%;
  margin:0;
}

.content {
  align-items: center;
  background: rgb(0, 0, 0); /* Fallback color */
  background: rgba(0, 0, 0, 0.5); /* Black background with 0.5 opacity */
  color: #f1f1f1; /* Grey text */
  display: flex;
  flex-direction: column;
  height: 100vh;
  justify-content: space-between;
  position: absolute; /* Position the background text */
  width: 100%; /* Full width */
}

/* HELPERS */

.img-bg {
  display:block;
  height:100%;
  object-fit: cover;
  width:100%;
}
<!doctype html>
<html class=no-js lang=en dir=ltr>
  <head>
    <meta charset=utf-8>
    <meta http-equiv=x-ua-compatible content=ie=edge>
    <meta name=viewport content=width=device-width, initial-scale=1.0>
    <title>Iraitz Puente</title>
  </head>
  <body>
    <div class=row fullWidth>
      <div class=content>
        <div class=content_text>
          <h1>THIS MUST BE CENTERED</h1>
        </div>
        <div class=content_arrow>
          <h1>END</h1>
        </div>
      </div>
    </div>
  </body>
</html>

Créé 18/12/2018 à 11:09
source utilisateur
Dans d'autres langues...                            


4 réponses

voix
1

Si vous définissez l' contentà justify-content: flex-end;, vous pouvez appliquer le absolutepositionnement à l'élément qui a besoin de centrage et le centre puis à l'aide d' une combinaison de top: 50%et transform: translateY(-50%);:

html,body{
  height:100%;
  margin:0;
}

.content {
  align-items: center;
  background: rgb(0, 0, 0); /* Fallback color */
  background: rgba(0, 0, 0, 0.5); /* Black background with 0.5 opacity */
  color: #f1f1f1; /* Grey text */
  display: flex;
  flex-direction: column;
  height: 100vh;
  justify-content: flex-end;
  position: absolute; /* Position the background text */
  width: 100%; /* Full width */
}

.content_text {
position: absolute;
top: 50%;
transform: translateY(-50%);
}

/* HELPERS */

.img-bg {
  display:block;
  height:100%;
  object-fit: cover;
  width:100%;
}
<!doctype html>
<html class="no-js" lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="x-ua-compatible" content="ie=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Iraitz Puente</title>
  </head>
  <body>
    <div class="row fullWidth">
      <div class="content">
        <div class="content_text">
          <h1>THIS MUST BE CENTERED</h1>
        </div>
        <div class="content_arrow">
          <h1>END</h1>
        </div>
      </div>
    </div>
  </body>
</html>

Créé 18/12/2018 à 11:14
source utilisateur

voix
0

html,body{
  height:100%;
  margin:0;
}

.content {
  background: rgb(0, 0, 0); /* Fallback color */
  background: rgba(0, 0, 0, 0.5); /* Black background with 0.5 opacity */
  color: #f1f1f1; /* Grey text */
  display: flex;
  flex-direction: column;
  height: 100vh;
  justify-content: center;
  align-items: center;
  width: 100%; /* Full width */
}

/* HELPERS */

.img-bg {
  display:block;
  height:100%;
  object-fit: cover;
  width:100%;
}
<!doctype html>
<html class="no-js" lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="x-ua-compatible" content="ie=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Iraitz Puente</title>
  </head>
  <body>
    <div class="row fullWidth">
      <div class="content">
        <div class="content_text">
          <h1>THIS MUST BE CENTERED</h1>
        </div>
        <div class="content_arrow">
          <h1>END</h1>
        </div>
      </div>
    </div>
  </body>
</html>

Créé 18/12/2018 à 11:20
source utilisateur

voix
0

il suffit de retirer le position: absolutestyle à partir de la classe .content

Créé 18/12/2018 à 11:15
source utilisateur

voix
-2
<style>
.content {
    align-items: center;
    background: rgb(0, 0, 0);
    background: rgba(0, 0, 0, 0.5);
    color: #f1f1f1;
    display: flex;
    flex-direction: column;
    height: 100vh;
    justify-content: center;
    position: absolute;
    width: 100%;
}
.contact .content_text,.contact .content_arrow{
    margin-top: auto;
}
</style>
Créé 18/12/2018 à 11:17
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more