入力中のすべてを静的な位置にする方法は?

Banjer_HD

入力のあるサイトを作りました。
プレースホルダーとして機能するスパンがあるので、入力が選択されたときにアニメーション化できます。
入力を選択すると、予想どおり、プレースホルダー(スパン)が一番上に移動します。
ただし、プレースホルダースパンがなくなったため、ページの残りの部分は少し上にシフトします。5000pxであっても、プレースホルダーに大きなマージンを追加することはできません。マージンは機能しません。

ページの残りの部分を静的にする/余白を機能させる方法は?

私のコード(正しいテキストが移動するのを確認するには全画面表示してください。そうでない場合は上部が移動します):

@import url('https://fonts.googleapis.com/css?family=Raleway:400,500');

#content {
    width: 80%;

    padding-top: 57px;
    padding-bottom: 50px;

    border: 1px solid #DADCE0;
    border-radius: 10px;
}


.center {
    text-align: center;
}


h1 {
    margin-top: 20px;
   		
    font-family: 'Raleway', sans-serif;
    font-size: 25px;
    font-weight: 500;
   		
    color: #202124;
}

h2 {
    font-family: 'Raleway', sans-serif;
    font-size: 17px;
    font-weight: 500;
    color: #202124;`enter code here`
}

input {
    width: 82%;
    margin-top: 28px;
    padding: 20px 15px;

    border: 1px solid #DADCE0;
    border-radius: 5px;				
}
input:focus {
      outline: none !important;
    border: 2px solid #1A73E8;
    margin-bottom: -2px;
}

.placeholder {
    position: relative;

    left: calc(9% - 3px);
    top: -37px;

    padding: 0 8px;
    margin-left: 12px;

    background-color: white;

    font-family: 'Raleway', sans-serif;
    font-size: 17px;
    font-weight: 500;
    color: rgba(32, 33, 36, 0.60);

    -webkit-transition: top 0.2s, font-size 0.2s; /* Safari 3.1 to 6.0 */
    transition: top 0.2s, font-size 0.2s;
}
.placeholder-moved {
    top: -63px;
    font-size: 12px;
    color: #1A73E8;
     cursor: default;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


<html>

	<body>


		<div id="content">

			<div class="center"><img src="assets/logo.png" alt="Logo" width="78px;"></div>

			<div class="center"><h1>Hey</h1></div>
			<div class="center"><h2>Hey there</h2></div>




			<div class="center"><input id="input1" type="text"></div>

			<span class="placeholder" id="placeholder1">Placeholder</span>

			<script>
				$("#input1").focusin(function() {
					$("#placeholder1").addClass("placeholder-moved");
				});
				$("#input1").focusout(function() {
					$("#placeholder1").removeClass("placeholder-moved");
				});

				$("#placeholder1").click(function() {
					$("#input1").focus();
				});
			</script>


			<br>

			This text moves


		</div>


	</body>

</html>

マイクポテ

入力とプレースホルダーを囲むdivが必要です。問題position:relativeは、プレースホルダーをページの一部にし、その下にあるものの配置に影響を与えることができるようにすることから発生します。より良い解決策はposition:absolute、ページのレイアウトからそれを削除し、それを上部の独自のフローティングレイヤーに配置するプレースホルダーを作成することです。

を使用するものはすべて、設定さposition:absoluteれた最初の親オブジェクトを参照することが重要ですposition:relativeそこでinputholder、このフローティングプレースホルダーのアンカーを作成ました

以下でそれを行いましたが、位置を変更する必要がありました(絶対位置でも計算を行う必要はありません)。

@import url('https://fonts.googleapis.com/css?family=Raleway:400,500');

#content {
    width: 80%;

    padding-top: 57px;
    padding-bottom: 50px;

    border: 1px solid #DADCE0;
    border-radius: 10px;
}


.center {
    text-align: center;
}


h1 {
    margin-top: 20px;
   		
    font-family: 'Raleway', sans-serif;
    font-size: 25px;
    font-weight: 500;
   		
    color: #202124;
}

h2 {
    font-family: 'Raleway', sans-serif;
    font-size: 17px;
    font-weight: 500;
    color: #202124;`enter code here`
}

.inputholder
{
    width: 82%;
    margin: 28px auto 0;
    position: relative;
}

input {
    
    padding: 20px 15px;
    width: 100%;
    border: 1px solid #DADCE0;
    border-radius: 5px;				
}
input:focus {
      outline: none !important;
    border: 2px solid #1A73E8;
    margin-bottom: -2px;
}

.placeholder {
    position: absolute;

    left: 0;
    top: 20px;

    padding: 0 8px;
    margin-left: 12px;

    background-color: white;

    font-family: 'Raleway', sans-serif;
    font-size: 17px;
    font-weight: 500;
    color: rgba(32, 33, 36, 0.60);

    -webkit-transition: top 0.2s, font-size 0.2s; /* Safari 3.1 to 6.0 */
    transition: top 0.2s, font-size 0.2s;
}
.placeholder-moved {
    top: -4px;
    font-size: 12px;
    color: #1A73E8;
     cursor: default;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


<html>

	<body>


		<div id="content">

			<div class="center"><img src="assets/logo.png" alt="Logo" width="78px;"></div>

			<div class="center"><h1>Hey</h1></div>
			<div class="center"><h2>Hey there</h2></div>




			<div class="inputholder" >
      <input id="input1" type="text">
			<span class="placeholder" id="placeholder1">Placeholder</span>
      </div>

			<script>
				$("#input1").focusin(function() {
					$("#placeholder1").addClass("placeholder-moved");
				});
				$("#input1").focusout(function() {
					$("#placeholder1").removeClass("placeholder-moved");
				});

				$("#placeholder1").click(function() {
					$("#input1").focus();
				});
			</script>


			<br>

			This text moves


		</div>


	</body>

</html>

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

javascriptで他の入力を無効にする前にすべての入力を有効にする方法は?

分類Dev

PHPの入力でURLの後ろにすべてを配置する方法は?

分類Dev

すべての入力を同じ行に配置する方法C ++

分類Dev

JSON :: Serializableを使用して値を反復し、静的に入力する方法は?

分類Dev

ANTLRにすべての入力CharStreamを解析させる方法

分類Dev

特定のセルに入力された値を含まないすべての列を検索して非表示にする方法はありますか?

分類Dev

静的な親要素を基準にして要素の位置を設定する方法はありますか?

分類Dev

Pythonの方法ですべての異なる入力のルールを設定するにはどうすればよいですか?

分類Dev

この並べ替え方法が特定の入力に対して異なる動作をするのはなぜですか?

分類Dev

すべての入力要素を個別の要素として配列にプッシュする方法は?

分類Dev

Jquery-divのすべての入力が空でないかどうかを確認する方法は?

分類Dev

フォームに入力されたすべての入力について、この関数の結果を個別の配列に格納する方法は?

分類Dev

入力とスパンの中間位置を1つ取得する方法は左側にあります

分類Dev

UIActivityIndicatorViewの回転中にすべての入力を無効にする

分類Dev

入力時にではなく編集時にJTableセルのすべてのテキストを選択する方法は?

分類Dev

switchステートメントにすべてのケースを入力する方法はありますか?

分類Dev

すべての入力フィールドの高さを均等にする方法

分類Dev

無効な属性を削除するには、すべての入力が入力されているかどうかを確認してください

分類Dev

すべての入力タグ名を取得してからその ID を取得し、入力ごとにテキストを追加する方法は?

分類Dev

Pythonのすべてのコマンドの後にすべての入力を表示する方法

分類Dev

LaravelでPOSTのすべての入力を取得する方法

分類Dev

div要素のすべての子入力を取得する方法(jQuery)

分類Dev

すべてのthymeleaf入力フィールドをUpperCaseに変換する方法は?

分類Dev

リストに入力されたすべてのユーザーを保存する方法は?

分類Dev

tkinter エントリ ウィジェットの 1 つを入力するたびにすべてが入力されるのはなぜですか?

分類Dev

入力されたすべてのセルを数式ではなく値に変更するExcelマクロ

分類Dev

rspecテスト中に入力を入力する方法は?

分類Dev

必要なクラスのすべてのフィールドが入力されたときに、クラスをdivに動的に切り替える方法は?

分類Dev

すべての入力値を数式で合計する方法

Related 関連記事

  1. 1

    javascriptで他の入力を無効にする前にすべての入力を有効にする方法は?

  2. 2

    PHPの入力でURLの後ろにすべてを配置する方法は?

  3. 3

    すべての入力を同じ行に配置する方法C ++

  4. 4

    JSON :: Serializableを使用して値を反復し、静的に入力する方法は?

  5. 5

    ANTLRにすべての入力CharStreamを解析させる方法

  6. 6

    特定のセルに入力された値を含まないすべての列を検索して非表示にする方法はありますか?

  7. 7

    静的な親要素を基準にして要素の位置を設定する方法はありますか?

  8. 8

    Pythonの方法ですべての異なる入力のルールを設定するにはどうすればよいですか?

  9. 9

    この並べ替え方法が特定の入力に対して異なる動作をするのはなぜですか?

  10. 10

    すべての入力要素を個別の要素として配列にプッシュする方法は?

  11. 11

    Jquery-divのすべての入力が空でないかどうかを確認する方法は?

  12. 12

    フォームに入力されたすべての入力について、この関数の結果を個別の配列に格納する方法は?

  13. 13

    入力とスパンの中間位置を1つ取得する方法は左側にあります

  14. 14

    UIActivityIndicatorViewの回転中にすべての入力を無効にする

  15. 15

    入力時にではなく編集時にJTableセルのすべてのテキストを選択する方法は?

  16. 16

    switchステートメントにすべてのケースを入力する方法はありますか?

  17. 17

    すべての入力フィールドの高さを均等にする方法

  18. 18

    無効な属性を削除するには、すべての入力が入力されているかどうかを確認してください

  19. 19

    すべての入力タグ名を取得してからその ID を取得し、入力ごとにテキストを追加する方法は?

  20. 20

    Pythonのすべてのコマンドの後にすべての入力を表示する方法

  21. 21

    LaravelでPOSTのすべての入力を取得する方法

  22. 22

    div要素のすべての子入力を取得する方法(jQuery)

  23. 23

    すべてのthymeleaf入力フィールドをUpperCaseに変換する方法は?

  24. 24

    リストに入力されたすべてのユーザーを保存する方法は?

  25. 25

    tkinter エントリ ウィジェットの 1 つを入力するたびにすべてが入力されるのはなぜですか?

  26. 26

    入力されたすべてのセルを数式ではなく値に変更するExcelマクロ

  27. 27

    rspecテスト中に入力を入力する方法は?

  28. 28

    必要なクラスのすべてのフィールドが入力されたときに、クラスをdivに動的に切り替える方法は?

  29. 29

    すべての入力値を数式で合計する方法

ホットタグ

アーカイブ