Now this will help you understand your code and anyother code in the future better. I want you to always think that each html tags are block element. Except the ones that were specified as inline elements like span, img, and so on.
Know that your body tag is nested inside your html and think of the html as a container to the body tag and the body tag as the child. Then everything in the body tag will also be the child of the body tag and the body tag is their container and parent. eg header, main, footer, div, e.t.c. These are all block elements also and they can also act as container.
Now going back to your code. You defined a html tag which acts as a container to the body tag, your also defined a body tag which acts as a container to your header, form, and footer tag if there is any. For all these tags you also defined a unique size or box by defining a style for them.
If your go back to look at your code The header is a container for whatever is inside it. The form is also a container for whatever is inside it. The form is our focus so read carefully and you will understand why the submit button is the way it is.
<form id="survey-form">
<!-- User Info -->
<fieldset id="user-info">
<label id="name-label">Name
<input id="name" name="name" type="text" placeholder="Please type your full name" required />
</label>
<label id="email-label">Email
<input id="email" name="email" type="email" placeholder="Please type your email" required />
</label>
<label id="number-label">Age (optional)
<input id="number" name="number" type="number" min="13" max="99" placeholder="Please select your age" />
</label>
</fieldset>
<!-- Coding Experience -->
<fieldset id="coding-experience">
<label>What level of experience do you have?
<select id="dropdown" name="exeperience">
<option selected disabled>(select one)</option>
<option value="Online">Minimal</option>
<option value="Friend">Moderate</option>
<option value="Social Media">Adanced</option>
</select>
</label>
<p> How has your experience with freeCodeCamp been so far?</p>
<label>
<input type="radio" name="opinion" value="Terrible" checked="checked"/> Terrible
</label>
<label>
<input type="radio" name="opinion" value="Ok"/> Ok
</label>
<label>
<input type="radio" name="opinion" value="Great"/> Great
</label>
</fieldset>
<!-- Final Thoughts -->
<fieldset id="final-thoughts">
<p>Which languages are you interested in?</p>
<label>
<input type="checkbox" name="interests" value="HTML"/>
HTML
</label>
<label>
<input type="checkbox" name="interests" value="CSS"/>
CSS
</label>
<label>
<input type="checkbox" name="interests" value="Javascript"/>
Javascript
</label>
<label>
<input type="checkbox" name="interests" value="React"/>
React
</label>
<label>
<input type="checkbox" name="interests" value="Python"/>
Python
</label>
<label>
<input type="checkbox" name="interests" value="PHP"/>
PHP
</label>
<label>
Any comments you'd like to share?
<textarea id="comments" name="comments" placeholder="Please enter your comments here..."></textarea>
</label>
</fieldset>
<input type="submit" id="submit" value="Submit"/>
</form>
Indide the form tag which acts as a container you created threeo fieldset container which houses three parts of your form
Fieldset1
<!-- User Info -->
<fieldset id="user-info">
<label id="name-label">Name
<input id="name" name="name" type="text" placeholder="Please type your full name" required />
</label>
<label id="email-label">Email
<input id="email" name="email" type="email" placeholder="Please type your email" required />
</label>
<label id="number-label">Age (optional)
<input id="number" name="number" type="number" min="13" max="99" placeholder="Please select your age" />
</label>
</fieldset>
Fieldset2
<!-- Coding Experience -->
<fieldset id="coding-experience">
<label>What level of experience do you have?
<select id="dropdown" name="exeperience">
<option selected disabled>(select one)</option>
<option value="Online">Minimal</option>
<option value="Friend">Moderate</option>
<option value="Social Media">Adanced</option>
</select>
</label>
<p> How has your experience with freeCodeCamp been so far?</p>
<label>
<input type="radio" name="opinion" value="Terrible" checked="checked"/> Terrible
</label>
<label>
<input type="radio" name="opinion" value="Ok"/> Ok
</label>
<label>
<input type="radio" name="opinion" value="Great"/> Great
</label>
</fieldset>
Fieldset3
<!-- Final Thoughts -->
<fieldset id="final-thoughts">
<p>Which languages are you interested in?</p>
<label>
<input type="checkbox" name="interests" value="HTML"/>
HTML
</label>
<label>
<input type="checkbox" name="interests" value="CSS"/>
CSS
</label>
<label>
<input type="checkbox" name="interests" value="Javascript"/>
Javascript
</label>
<label>
<input type="checkbox" name="interests" value="React"/>
React
</label>
<label>
<input type="checkbox" name="interests" value="Python"/>
Python
</label>
<label>
<input type="checkbox" name="interests" value="PHP"/>
PHP
</label>
<label>
Any comments you'd like to share?
<textarea id="comments" name="comments" placeholder="Please enter your comments here..."></textarea>
</label>
</fieldset>
According to my knowledge and experience when you declare a fieldset it is also a container in the form and everything inside it will be smaller that everythin outside the fieldset container.
Now let’s take a look at your code again from the form tag:
<!-- Form -->
<form id="survey-form">
<!-- User Info -->
<fieldset id="user-info">
<label id="name-label">Name
<input id="name" name="name" type="text" placeholder="Please type your full name" required />
</label>
<label id="email-label">Email
<input id="email" name="email" type="email" placeholder="Please type your email" required />
</label>
<label id="number-label">Age (optional)
<input id="number" name="number" type="number" min="13" max="99" placeholder="Please select your age" />
</label>
</fieldset>
<!-- Coding Experience -->
<fieldset id="coding-experience">
<label>What level of experience do you have?
<select id="dropdown" name="exeperience">
<option selected disabled>(select one)</option>
<option value="Online">Minimal</option>
<option value="Friend">Moderate</option>
<option value="Social Media">Adanced</option>
</select>
</label>
<p> How has your experience with freeCodeCamp been so far?</p>
<label>
<input type="radio" name="opinion" value="Terrible" checked="checked"/> Terrible
</label>
<label>
<input type="radio" name="opinion" value="Ok"/> Ok
</label>
<label>
<input type="radio" name="opinion" value="Great"/> Great
</label>
</fieldset>
<!-- Final Thoughts -->
<fieldset id="final-thoughts">
<p>Which languages are you interested in?</p>
<label>
<input type="checkbox" name="interests" value="HTML"/>
HTML
</label>
<label>
<input type="checkbox" name="interests" value="CSS"/>
CSS
</label>
<label>
<input type="checkbox" name="interests" value="Javascript"/>
Javascript
</label>
<label>
<input type="checkbox" name="interests" value="React"/>
React
</label>
<label>
<input type="checkbox" name="interests" value="Python"/>
Python
</label>
<label>
<input type="checkbox" name="interests" value="PHP"/>
PHP
</label>
<label>
Any comments you'd like to share?
<textarea id="comments" name="comments" placeholder="Please enter your comments here..."></textarea>
</label>
</fieldset>
<input type="submit" id="submit" value="Submit"/>
</form>
If you look closely the submit button is not wrapped around a fieldset tag and it’s contained inside the form tag which is why it’s flow is different from all your other elements inside your fieldset tag. If we put it inside inside the last fieldset tag without changing the width or height you will notice it won’t be bigger than the rest input tags vice versa if we remove the fieldset tags from all your form tag you will notice that they are the same width with the button tag. I will want you to try it out and see how it works then you will be able to understand it fully.
Sorry for the long explanation but I wanted you to fully understand it and also I will advise for next time that you only wrap fieldset with the legend tag. In your code the fieldset there is not doing anything. You can wrap it in a div element instead, thanks.
Comment: it’s a nice code anyways keep it up.