freeCodeCamp/curriculum/challenges/english/01-responsive-web-design/registration-form/step-039.md

121 lines
3.3 KiB
Markdown
Raw Normal View History

---
id: 60fad99e09f9d30c1657e790
title: Step 39
challengeType: 0
dashedName: step-39
---
# --description--
Center the `form` element, by giving it a `margin` of `0 auto`. Then, fix its size to a maximum `width` of `500px`, and a minimum width of `300px`. In between that range, allow it to have a `width` of `60vw`.
# --hints--
You should use a `form` selector to style the `form` element.
```js
assert.exists(new __helpers.CSSHelp(document).getStyle('form'));
```
You should give the `form` a `margin` of `0 auto`.
```js
assert.equal(new __helpers.CSSHelp(document).getStyle('form')?.margin, '0px auto');
```
You should give the `form` a `max-width` of `500px`.
```js
assert.equal(new __helpers.CSSHelp(document).getStyle('form')?.maxWidth, '500px');
```
You should give the `form` a `min-width` of `300px`.
```js
assert.equal(new __helpers.CSSHelp(document).getStyle('form')?.minWidth, '300px');
```
You should give the `form` a `width` of `60vw`.
```js
assert.equal(new __helpers.CSSHelp(document).getStyle('form')?.width, '60vw');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<title>freeCodeCamp Registration Form Project</title>
<link rel="stylesheet" type="text/css" href="styles.css" />
</head>
<body>
<h1>Registration Form</h1>
<p>Please fill out this form with the required information</p>
<form action='https://fcc-registration-form.com'>
<fieldset>
<label>Enter Your First Name: <input type="text" name="first-name" required /></label>
<label>Enter Your Last Name: <input type="text" name="last-name" required /></label>
<label>Enter Your Email: <input type="email" name="email" required /></label>
<label>Create a New Password: <input type="password" name="password" pattern="[a-z0-5]{8,}" required /></label>
</fieldset>
<fieldset>
<label><input type="radio" name="account-type" /> Personal Account</label>
<label><input type="radio" name="account-type" /> Business Account</label>
<label>
<input type="checkbox" name="terms" required /> I accept the <a href="https://www.freecodecamp.org/news/terms-of-service/">terms and conditions</a>
</label>
</fieldset>
<fieldset>
<label>Upload a profile picture: <input type="file" name="file" /></label>
<label>Input your age (years): <input type="number" name="age" min="13" max="120" />
</label>
<label>How did you hear about us?
<select name="referrer">
<option value="">(select one)</option>
<option value="1">freeCodeCamp News</option>
<option value="2">freeCodeCamp YouTube Channel</option>
<option value="3">freeCodeCamp Forum</option>
<option value="4">Other</option>
</select>
</label>
<label>Provide a bio:
<textarea name="bio" rows="3" cols="30" placeholder="I like coding on the beach..."></textarea>
</label>
</fieldset>
<input type="submit" value="Submit" />
</form>
</body>
</html>
```
```css
body {
width: 100%;
height: 100vh;
margin: 0;
background-color: #1b1b32;
color: #f5f6f7;
font-family: Tahoma;
font-size: 16px;
}
h1, p {
margin: 1em auto;
text-align: center;
}
--fcc-editable-region--
--fcc-editable-region--
label {
display: block;
margin: 0.5rem 0;
}
```