After countless amount of time and me giving up Iāve finally completed my Survey form. Iāve barely been able to make it responsive and I mainly have flexbox to thank for that. Please give me advice and be brutal. Should I have used CSS grid instead of flexbox or what could I do differently? How do people find such great website backgrounds? Any youtube channels or resources I should turn to? Lacking a mentorā¦
Iām not quite liking the fact that in order to complete your survey I have to check every single checkbox or it wonāt submit. Thatās NOT the purpose of a checkbox.
Youāre using <br> a lot. If you want to add spacing you should be doing this in CSS with either margin or padding.
The alignment needs some work. Making a nicely aligned form can be surprisingly difficult.
You have vertical text overflow on small screens caused by giving elements a fixed height.
You have the .button-container selector declared twice (line 72 and 99)
The <label> element cannot be a child of the <ul> element.
You have:
<ul style="list-style: none;">
<label for="dancesafe">
<li>
<input type="checkbox" name="checkboxes" id="dancesafe" value="1" required> Allow Dancesafe to be on scene
</li>
</label>
</ul>
Should be:
<ul style="list-style: none;">
<li>
<label for="dancesafe">
<input type="checkbox" name="checkboxes" id="dancesafe" value="1" required> Allow Dancesafe to be on scene
</label>
</li>
</ul>
On line 69 and 91 you have closed the ul before the label, you have a few other mismatched tags. The best way to avoid this is by being very judicial about your formatting, always have clear indentation and nesting of elements.
āvalueā is not a valid attribute of the <select> element. On line 36.
For 2 just remove all the fixed hight declarations, use margin (and padding if needed) to space the elements. You probably have to do it per-element to make it look the same but here is a selector that at least shows what I mean.
#survey-form > * {
margin-bottom: 40px;
}
The select element just doesnāt take a value, it is the child option elements that do.