2016-09-12 6 views
1

[OK]タイトルが少し混乱するかもしれません。Flexbox:div自体が動くのですか?

html, 
 
body { 
 
    height: 100%; 
 
    margin: 0; 
 
    padding: 0; 
 
    font-family: 'Montserrat', sans-serif; 
 
} 
 
.page { 
 
    height: 100%; 
 
} 
 
.main-content { 
 
    height: 90%; 
 
    max-width: 70%; 
 
    margin: 0 auto; 
 
    display: flex; 
 
    justify-content: center; 
 
    align-items: center; 
 
} 
 
.main-left { 
 
    text-align: center; 
 
    padding: 20px; 
 
} 
 
.nav { 
 
    border: 1px solid blue; 
 
    height: 5%; 
 
    text-align: center; 
 
    display: flex; 
 
    justify-content: center; 
 
    align-items: center; 
 
} 
 
.nav-left { 
 
    display: flex; 
 
    width: 50%; 
 
    height: 100%; 
 
    justify-content: center; 
 
    font-size: 3vh; 
 
    line-height: 10vh; 
 
} 
 
.nav-right { 
 
    display: flex; 
 
    width: 50%; 
 
    height: 100%; 
 
    justify-content: center; 
 
    font-size: 3vh; 
 
    line-height: 10vh; 
 
} 
 
.nav ul { 
 
    padding: 0; 
 
    margin: 0; 
 
    display: inline-block; 
 
} 
 
.nav li { 
 
    display: inline-block; 
 
    text-align: center; 
 
} 
 
.nav a { 
 
    color: black; 
 
} 
 
.nav a:link { 
 
    text-decoration: none; 
 
} 
 
.nav a:visited { 
 
    text-decoration: none; 
 
} 
 
.nav a:hover { 
 
    text-decoration: none; 
 
    color: gray; 
 
} 
 
.nav a:active { 
 
    text-decoration: none; 
 
} 
 
img { 
 
    border-radius: 50%; 
 
}
<head> 
 
    <link href="https://fonts.googleapis.com/css?family=Montserrat" rel="stylesheet"> 
 
    <link href="//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css" rel="stylesheet"> 
 
    <script src="https://use.fontawesome.com/383177a704.js"></script> 
 
    <title>Alex Wilson - Man, Web Designer, Legend</title> 
 
</head> 
 

 
<body> 
 

 
    <div class="page"> 
 

 
    <div class="main-content"> 
 

 
     <div class="main-left"> 
 
     <img src="http://i.imgur.com/IMIKhWA.jpg"></img> 
 
     </div> 
 
     <div class="main-right"> 
 
     <h1>About me</h1> 
 
     <p>These are words about how awesome I am. I'm pretty much the best. Scratch that, I am the best. Everything I say is right and everything I do is great. My friends love me and my enemies want to be me. People can't imagine any way I could possibly 
 
      be improved. I'm a shining example of humanity and more specifically, manhood. I'm the pinnacle of excellence. I piss glory and shit greatness. You mad? Get at me. Get rekt.</p> 
 
     </div> 
 
    </div> 
 

 
    <div class="nav"> 
 

 
     <div class="nav-left"> 
 
     <ul> 
 
      <li><a href="Home.html">Home</a> 
 
      </li> 
 
      <li><a href="About.html">About</a> 
 
      </li> 
 
      <li><a href="work.html">Work</a> 
 
      </li> 
 
     </ul> 
 
     </div> 
 

 
     <div class="nav-right"> 
 
     <ul class="list-right"> 
 
      <li><a href="https://www.linkedin.com/in/alexwilson33"><i class="fa fa-linkedin" aria-hidden="true"></i></a> 
 
      </li> 
 
      <li><a href="https://github.com/AWilso30"><i class="fa fa-github" aria-hidden="true"></i></a> 
 
      </li> 
 
      <li><a href="https://twitter.com/XZISTTT"><i class="fa fa-twitter" aria-hidden="true"></i></a> 
 
      </li> 
 
      <li><a href="https://www.facebook.com/djcastaway"><i class="fa fa-facebook" aria-hidden="true"></i></a> 
 
      </li> 
 
      <li><a href="email.com"><i class="fa fa-envelope" aria-hidden="true"></i></a> 
 
      </li> 
 
     </ul> 
 
     </div> 
 

 
    </div> 
 

 
    </div> 
 

 
</body>

:私は、次のHTML & CSSを持っているなど、

を私はいくつかの同様の質問を見てきましたが、回答の多くは、フロートを使って時代遅れのソリューションを指しているように見えますここにはcodepenがあります。

2つのセクションを持つビューポートの下部に固定ナビゲーションバーを作成したいだけです。残りのサイトの左側のリンクと外側のソースへの右側のリンクにあります。私はすべてを水平方向と垂直方向の両方に集中させ、応答性にしたいと考えています。

この問題の複数の解決策を試すときに問題が発生しました。ナビゲーションバーの高さ、位置合わせ、またはサイズが少しずつオフになるたびに。

コンテンツdivを90%に設定し、navbar divを10%に設定すると、「動作」して物事が正しく整列されますが、Navbarを少し薄くします。

ボーダーでわかるように、私はnav divのスタイルをとっていました。基本的に浮いていて、なぜ私は考えていません。

誰かが私がなぜこれが起こっているのか、それをどう修正するのかを考えてもらえると助かります。

+0

可能指導:http://stackoverflow.com/a/33856609/3597276 –

+1

おかげでマイケル。私は最近Flexbox Froggyに関する質問も流れました。誰かがこれを将来読んでくれれば、本当に素晴らしいリソースです。 http://flexboxfroggy.com/ –

答えて

0

は、だから私はあなたのコードにいくつかのことをした:

  1. はあまりにもあなたのpage要素フレキシボックスを作った:

    .page { 
        height: 100%; 
        display: flex; 
        flex-direction: column; 
    } 
    
  2. をそしてmain-contentnav、およびmax-widthのための高さを取り除きますmain-content(私が推測するパーセンテージよりも内容に応じてピクセル単位で設定する方が良い)。ナビゲーションバーが若干薄く製造するために

  3. おそらくあなたは、nav-leftnav-rightためline-heightを減らすことができます。

html, 
 
body { 
 
    height: 100%; 
 
    margin: 0; 
 
    padding: 0; 
 
    font-family: 'Montserrat', sans-serif; 
 
} 
 
.page { 
 
    height: 100%; 
 
    display: flex; 
 
    flex-direction: column; 
 
} 
 
.main-content { 
 
    /*height: 90%;*/ 
 
    /*max-width: 70%;*/ 
 
    margin: 0 auto; 
 
    display: flex; 
 
    justify-content: center; 
 
    align-items: center; 
 
} 
 
.main-left { 
 
    text-align: center; 
 
    padding: 20px; 
 
} 
 
.nav { 
 
    border: 1px solid blue; 
 
    /*height: 10%;*/ 
 
    text-align: center; 
 
    display: flex; 
 
    justify-content: center; 
 
    align-items: center; 
 
} 
 
.nav-left { 
 
    display: flex; 
 
    width: 50%; 
 
    height: 100%; 
 
    justify-content: center; 
 
    font-size: 3vh; 
 
    line-height: 5vh; 
 
} 
 
.nav-right { 
 
    display: flex; 
 
    width: 50%; 
 
    height: 100%; 
 
    justify-content: center; 
 
    font-size: 3vh; 
 
    line-height: 5vh; 
 
} 
 
.nav ul { 
 
    padding: 0; 
 
    margin: 0; 
 
    display: inline-block; 
 
} 
 
.nav li { 
 
    display: inline-block; 
 
    text-align: center; 
 
} 
 
.nav a { 
 
    color: black; 
 
} 
 
.nav a:link { 
 
    text-decoration: none; 
 
} 
 
.nav a:visited { 
 
    text-decoration: none; 
 
} 
 
.nav a:hover { 
 
    text-decoration: none; 
 
    color: gray; 
 
} 
 
.nav a:active { 
 
    text-decoration: none; 
 
} 
 
img { 
 
    border-radius: 50%; 
 
}
<head> 
 
    <link href="https://fonts.googleapis.com/css?family=Montserrat" rel="stylesheet"> 
 
    <link href="//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css" rel="stylesheet"> 
 
    <script src="https://use.fontawesome.com/383177a704.js"></script> 
 
    <title>Alex Wilson - Man, Web Designer, Legend</title> 
 
</head> 
 

 
<body> 
 

 
    <div class="page"> 
 

 
    <div class="main-content"> 
 

 
     <div class="main-left"> 
 
     <img src="http://i.imgur.com/IMIKhWA.jpg"></img> 
 
     </div> 
 
     <div class="main-right"> 
 
     <h1>About me</h1> 
 
     <p>These are words about how awesome I am. I'm pretty much the best. Scratch that, I am the best. Everything I say is right and everything I do is great. My friends love me and my enemies want to be me. People can't imagine any way I could possibly 
 
      be improved. I'm a shining example of humanity and more specifically, manhood. I'm the pinnacle of excellence. I piss glory and shit greatness. You mad? Get at me. Get rekt.</p> 
 
     </div> 
 
    </div> 
 

 
    <div class="nav"> 
 

 
     <div class="nav-left"> 
 
     <ul> 
 
      <li><a href="Home.html">Home</a> 
 
      </li> 
 
      <li><a href="About.html">About</a> 
 
      </li> 
 
      <li><a href="work.html">Work</a> 
 
      </li> 
 
     </ul> 
 
     </div> 
 

 
     <div class="nav-right"> 
 
     <ul class="list-right"> 
 
      <li><a href="https://www.linkedin.com/in/alexwilson33"><i class="fa fa-linkedin" aria-hidden="true"></i></a> 
 
      </li> 
 
      <li><a href="https://github.com/AWilso30"><i class="fa fa-github" aria-hidden="true"></i></a> 
 
      </li> 
 
      <li><a href="https://twitter.com/XZISTTT"><i class="fa fa-twitter" aria-hidden="true"></i></a> 
 
      </li> 
 
      <li><a href="https://www.facebook.com/djcastaway"><i class="fa fa-facebook" aria-hidden="true"></i></a> 
 
      </li> 
 
      <li><a href="email.com"><i class="fa fa-envelope" aria-hidden="true"></i></a> 
 
      </li> 
 
     </ul> 
 
     </div> 
 
    </div> 
 
    </div> 
 
</body>

+1

お返事ありがとうございました!私は列のページを設定し、すべてが正しく収まるように行の高さを修正することができました!この考え方を私に送ってくれてありがとう。フレックス方向が重要だとは思っていませんでした! –

関連する問題