diff --git a/html/forms/pseudo-classes/valid-invalid.html b/html/forms/pseudo-classes/valid-invalid.html new file mode 100644 index 0000000..4737b34 --- /dev/null +++ b/html/forms/pseudo-classes/valid-invalid.html @@ -0,0 +1,124 @@ +<!DOCTYPE html> +<html lang="en-us"> + +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width"> + <title>Приклад :valid та :invalid</title> + <link href="https://fonts.googleapis.com/css?family=Josefin+Sans&display=swap" rel="stylesheet"> + <style> + body { + font-family: 'Josefin Sans', sans-serif; + margin: 20px auto; + max-width: 460px; + } + + fieldset { + padding: 10px 30px 0; + } + + legend { + color: white; + background: black; + padding: 5px 10px; + } + + fieldset>div { + margin-bottom: 20px; + display: flex; + flex-flow: row wrap; + } + + button, + label, + input { + display: block; + font-family: inherit; + font-size: 100%; + padding: 0; + margin: 0; + box-sizing: border-box; + width: 100%; + padding: 5px; + height: 30px; + } + + input { + box-shadow: inset 1px 1px 3px #ccc; + border-radius: 5px; + } + + input:hover, + input:focus { + background-color: #eee; + } + + input+span { + position: relative; + } + + input:required+span::after { + font-size: 0.7rem; + position: absolute; + content: "обов'язкове поле"; + color: white; + background-color: black; + padding: 5px 10px; + top: -26px; + left: -70px; + } + + input+span::before { + position: absolute; + right: -20px; + top: 5px; + } + + input:invalid { + border: 2px solid red; + } + + input:invalid+span::before { + content: '✖'; + color: red; + } + + input:valid+span::before { + content: '✓'; + color: green; + } + + button { + width: 60%; + margin: 0 auto; + } + </style> +</head> + +<body> + <form> + <fieldset> + <legend>Форма зворотного зв'язку</legend> + + <p>Обо'язкові поля позначені підписом "обов'язкове поле".</p> + <div> + <label for="fname">Ім'я: </label> + <input id="fname" name="fname" type="text" required> + <span></span> + </div> + <div> + <label for="lname">Прізвище: </label> + <input id="lname" name="lname" type="text" required> + <span></span> + </div> + <div> + <label for="email">Адреса електронної пошти (введіть її, якщо бажаєте отримати відповідь): </label> + <input id="email" name="email" type="email"> + <span></span> + </div> + <div><button>Подати</button></div> + </fieldset> + </form> +</body> + +</html> \ No newline at end of file