質問するログイン新規登録

回答編集履歴

2

追記、修正

2017/06/17 13:59

投稿

s8_chu
s8_chu

スコア14731

answer CHANGED
@@ -42,7 +42,7 @@
42
42
  ```
43
43
  追記
44
44
  ---
45
- 文法的に良くないのですが、[`required属性`](https://reference.hyper-text.org/html5/attribute/required/)を使うことでさらに[`placeholder属性`](https://reference.hyper-text.org/html5/attribute/placeholder/)の動きに近いものを実装することができます。
45
+ 文法的に良くないのですが、[`required属性`](https://reference.hyper-text.org/html5/attribute/required/)を使うことでさらに[`placeholder属性`](https://reference.hyper-text.org/html5/attribute/placeholder/)の動きに近いものを実装することができます。また、わざわざ[`required属性`](https://reference.hyper-text.org/html5/attribute/required/)を使うくらいなら[`placeholder属性`](https://reference.hyper-text.org/html5/attribute/placeholder/)をそのまま使うという方法もあります。後者のほうが簡単ですね。
46
46
  ```HTML
47
47
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
48
48
  "http://www.w3.org/TR/html4/strict.dtd">

1

追記

2017/06/17 13:59

投稿

s8_chu
s8_chu

スコア14731

answer CHANGED
@@ -1,4 +1,5 @@
1
1
  的外れかもしれませんが、以下のように行ってはいかがでしょうか?
2
+ 以下のコードではフォームに入力した文字とプレースホルダが重なって表示されてしまいますが、**これがHTML4.01とCSSでの限界です**。多少文法を気にしないならば回答文に追記したように行えますが、**もしも可能ならばHTML5もしくはjavascriptを使ったほうが良い**と思います。
2
3
  ```HTML
3
4
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
4
5
  "http://www.w3.org/TR/html4/strict.dtd">
@@ -38,4 +39,59 @@
38
39
  </form>
39
40
  </body>
40
41
  </html>
42
+ ```
43
+ 追記
44
+ ---
45
+ 文法的に良くないのですが、[`required属性`](https://reference.hyper-text.org/html5/attribute/required/)を使うことでさらに[`placeholder属性`](https://reference.hyper-text.org/html5/attribute/placeholder/)の動きに近いものを実装することができます。
46
+ ```HTML
47
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
48
+ "http://www.w3.org/TR/html4/strict.dtd">
49
+ <html lang="ja">
50
+ <head>
51
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
52
+ <title>タイトル</title>
53
+ <style type="text/css">
54
+ * {
55
+ margin: 0;
56
+ padding: 0;
57
+ }
58
+
59
+ label, input {
60
+ position: relative;
61
+ }
62
+
63
+ label::after {
64
+ content: "text";
65
+ position: absolute;
66
+ left: 2.5em;
67
+ color: #666666;
68
+ }
69
+
70
+ input:focus, input:valid {
71
+ z-index: 1;
72
+ }
73
+
74
+ :invalid {
75
+ box-shadow: none;
76
+ }
77
+
78
+ :-moz-submit-invalid {
79
+ box-shadow: none;
80
+ }
81
+
82
+ :-moz-ui-invalid {
83
+ box-shadow: none;
84
+ }
85
+ </style>
86
+ </head>
87
+ <body>
88
+ <form action="">
89
+ <div>
90
+ <label class="input">text:
91
+ <input type="text" name="text" value="" required>
92
+ </label>
93
+ </div>
94
+ </form>
95
+ </body>
96
+ </html>
41
97
  ```