2017-12-26 22 views
0

目的:サイドプロジェクトで入力を設定しようとしています。現在のところ、私は左のほとんどのバブルの入力のラベルに2つのテキスト入力バブルを続けて設定しています。h1要素と入力要素の垂直方向のセンタリングに問題がある

問題:入力フィールドは、ラベル付けされているバブルの下に約5ピクセルあり、その修正方法を理解できません。

注:私はHTML/CSSにはかなり新しいです。完全に自己学習していますので、私がやろうとしていることをやるより良い方法があれば、私に新しいことを教えてください。ベローは私に5pxの問題を解決するためのトラブル

.inputConatiner { 
 
    height: 75px; 
 
} 
 

 
.textContainer { 
 
    height: 75px; 
 
    width: 500px; 
 
    display: inline-block; 
 
} 
 

 
input[type="text"] { 
 
    border: 0px solid; 
 
    border-radius: 20px; 
 
    background-color: rgb(230, 230, 230); 
 
    padding-top: 13px; 
 
    padding-left: 10px; 
 
    padding-bottom: 13px; 
 
} 
 

 
.label { 
 
    width: 270px; 
 
    height: 40px; 
 
    font-family: "Nunito Sans"; 
 
    font-size: 30px; 
 
    display: inline-block; 
 
    background-color: rgb(104, 255, 144); 
 
    border-radius: 20px; 
 
    text-align: center; 
 
} 
 

 
input { 
 
    width: 200px; 
 
}
<head> 
 
    <title>Side Project</title> 
 
    <link href="https://fonts.googleapis.com/css?family=Nunito+Sans" rel="stylesheet"> 
 
</head> 
 

 
<body> 
 
    <form method="post" action="#" name="getStudentInfo"> 
 
    <div class="inputConatiner"> 
 
     <h1 class="label">Enter Your Name</h1> 
 
     <div class="textContainer"> 
 
     <input type="text" placeholder="First" required /> 
 
     <input type="text" placeholder="Last" required /> 
 
     </div> 
 
    </div> 
 
    <div class="inputConatiner"> 
 
     <h1 class="label">1A Class</h1> 
 
     <input type="text" placeholder="Class" required /> 
 
     <input type="text" placeholder="Teacher" required /> 
 
    </div> 
 
    </form> 
 
</body>

答えて

0

は、このドキュメントを参照してください。私はこれがあなたが探しているものだと思って、labelvertical-align: middle;を使って簡単に修正しました。あなたがこれを使用しているかどうかはわかりませんが、おそらくhttps://getbootstrap.com/のようなフレームワークを使用することをお勧めします。ほとんどのフレームワークは、すべての画面サイズとデバイスで優れた基礎ブロックを持っています(以下のスニペットでは、フルスクリーンで表示する必要があります。そうでない場合は混乱します)。応答する。このことができます

希望。私はあなたのHTMLコードに気づい

.inputConatiner { 
 
    height: 75px; 
 
} 
 

 
.textContainer { 
 
    height: 75px; 
 
    width: 500px; 
 
    display: inline-block; 
 
} 
 

 
input[type="text"] { 
 
    border: 0px solid; 
 
    border-radius: 20px; 
 
    background-color: rgb(230, 230, 230); 
 
    padding-top: 13px; 
 
    padding-left: 10px; 
 
    padding-bottom: 13px; 
 
} 
 

 
.label { 
 
    width: 270px; 
 
    height: 40px; 
 
    font-family: "Nunito Sans"; 
 
    font-size: 30px; 
 
    display: inline-block; 
 
    background-color: rgb(104, 255, 144); 
 
    border-radius: 20px; 
 
    text-align: center; 
 
    vertical-align: middle; 
 
} 
 

 
input { 
 
    width: 200px; 
 
}
<head> 
 
    <title>Side Project</title> 
 
    <link href="https://fonts.googleapis.com/css?family=Nunito+Sans" rel="stylesheet"> 
 
</head> 
 

 
<body> 
 
    <form method="post" action="#" name="getStudentInfo"> 
 
    <div class="inputConatiner"> 
 
     <h1 class="label">Enter Your Name</h1> 
 
     <div class="textContainer"> 
 
     <input type="text" placeholder="First" required /> 
 
     <input type="text" placeholder="Last" required /> 
 
     </div> 
 
    </div> 
 
    <div class="inputConatiner"> 
 
     <h1 class="label">1A Class</h1> 
 
     <input type="text" placeholder="Class" required /> 
 
     <input type="text" placeholder="Teacher" required /> 
 
    </div> 
 
    </form> 
 
</body>

0

.textContainerのための使用display: flex;を与えている部分です。

私は以下のスニペットを更新したFlexBox

0

一つのことはあるあなた、あなたがしていることを言ってきたので.inputContainerが。.textContainerが欠落している第二かなり新しいHTMLとCSSには、基本的なprを使うことをお勧めします要素を横に並べるようにfloatのような操作と、間隔/整列のためにmarginを使用します。

.inputConatiner { 
 
    height: auto; 
 
} 
 

 
/* Without this, the layout would be ruined because of float */ 
 
.inputConatiner:before, .inputConatiner:after { 
 
    content: ''; 
 
    display: table; 
 
} 
 
.inputConatiner:after { 
 
    clear: both; 
 
} 
 

 
.textContainer { 
 
    height: auto; 
 
    width: 500px; 
 
    margin-top: 20px; 
 
    margin-left: 10px; 
 
    float: left; /* This makes the elements stacked side by side */ 
 
} 
 

 
input[type="text"] { 
 
    border: 0px solid; 
 
    border-radius: 20px; 
 
    background-color: rgb(230, 230, 230); 
 
    padding-top: 13px; 
 
    padding-left: 10px; 
 
    padding-bottom: 13px; 
 
} 
 

 
.label { 
 
    width: 270px; 
 
    height: 40px; 
 
    font-family: "Nunito Sans"; 
 
    font-size: 30px; 
 
    float: left; /* This makes the elements stacked side by side */ 
 
    background-color: rgb(104, 255, 144); 
 
    border-radius: 20px; 
 
    text-align: center; 
 
} 
 

 
input { 
 
    width: 200px; 
 
}
<form method="post" action="#" name="getStudentInfo"> 
 
    <div class="inputConatiner"> 
 
    <h1 class="label">Enter Your Name</h1> 
 
    <div class="textContainer"> 
 
     <input type="text" placeholder="First" required /> 
 
     <input type="text" placeholder="Last" required /> 
 
    </div> 
 
    </div> 
 
    <div class="inputConatiner"> 
 
    <h1 class="label">1A Class</h1> 
 
    <div class="textContainer"> 
 
     <input type="text" placeholder="Class" required /> 
 
     <input type="text" placeholder="Teacher" required /> 
 
    </div> 
 
    </div> 
 
</form>

関連する問題