<html lang="en">
<head>
<meta charset="utf-8"/>
<title>HTML5 controls: Task 1</title>
<style>
body {
background-color: #fff;
color: #333;
font: 1em / 1.4 Helvetica Neue, Helvetica, Arial, sans-serif;
padding: 1em;
margin: 0;
}
* {
box-sizing: border-box;
}
.wrapper {
border: 1px solid #CCC;
padding: 0 1em;
margin-bottom: 1em;
width: 400px;
}
</style>
</head>
<body>
<!-- Could also put in a <fieldset> here but styling looks off. -->
<div class="wrapper">
<form>
<h2>Edit your preferences</h2>
<ul>
<li>
<label for="e-mail">Email: </label>
<input type="email" id="e-mail" name="e-mail" />
</li>
<li>
<label for="website">Website: </label>
<input type="url" id="website" name="website" />
</li>
<li>
<label for="phone">Phone number: </label>
<input type="tel" id="phone" name="phone" />
</li>
<li>
<label for="fave-color">Favorite color: </label>
<input type="color" name="fave-color" id="fave-color" />
</li>
<li>
<button>Update preferences</button>
</li>
</ul>
</form>
</div>
<div class="wrapper">
<form>
<ul>
<li>
<label for="max-invite">Select maximum number of invitations</label>
<input
type="range"
name="max-invite"
id="max-invite"
min="1"
max="30"
step="1"
value="3" />
<output class="invite-output" for="max-invite"></output>
</li>
<li>
<button>Submit</button>
</li>
</ul>
</form>
<script>
const invite = document.querySelector('#max-invite');
const output = document.querySelector('.invite-output');
output.textContent = invite.value;
invite.addEventListener('input', function() {
output.textContent = invite.value;
});
</script>
</div>
</body>
</html>
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.