I found validating the form a bit challenging but sites such as w3schools, tutorialspoint, and freecodecamp came to the rescue.
One thing I found particularly challenging was showing the success state when the submit button was clicked. I had to put the newsletter and success-state in one main
tag and toggle display
property to flex
and none' or
noneand
blockfor the newsletter and success-state respectively using JavaScript
DOM`. Please let me know if there is a better way of doing so.
Tshepiso
@Gandalf-hashAll comments
- @Caleb-AbuulSubmitted 11 months ago@Gandalf-hashPosted 11 months ago
Hey Caleb, great design. I noticed some potential improvements for you while reviewing your site: what do you think about adjusting the size of your .container class and modifying the min width on the .form (I would recommend setting the .form width to 100% and a maximum width of your desired size)? Other than that, your design looks good and is accessible on different screen sizes.
0 - @funficientSubmitted 11 months ago
Finally got the validation and display of the error message right, but still struggling to get the hover fill-color of the social icons white. How do I modify the svg fill color on hover?
@Gandalf-hashPosted 11 months agoHello Kate, Ek hoop dit gaan goed and what a beatiful layout you have here. However when viewing the layout, I noticed that the input element seems to dominate the container, taking up around 80% of the width, leaving only 20% for the button. This may result in an imbalanced visual hierarchy. Additionally, on smaller devices, it seems that both the button and the input expand to the full width of the container, arranged in a column format.
To improve this layout and enhance the visual appeal, I would recommend the following adjustments:
Consider distributing the space more evenly between the input and the button. For example, you could allocate 70/30 of the width to each element respectively to achieve a more balanced appearance.
Instead of fixed pixel values for the input and button, you might want to use relative units like percentages or viewport units.
Lastly, Consider using CSS Grid or Flexbox layout for more fine-grained control over the positioning and sizing of your elements.
I'll make you an example of how you might structure your CSS for equal distribution and responsiveness below:
.container { display: flex; flex-wrap: wrap; }
.input-container { flex: 1; max-width: 70%; }
.button-container { flex: 1; max-width: 30%; }
You'll just have to adjust the flex value based on the desired distribution. I Also noticed that you're based in South Africa. It's always wonderful to connect with fellow developers, especially when we're all on a learning journey. If you're open to it, I'd be delighted to connect, share insights, and learn together. thank you
0