Latest solutions
Responsive age calculator app built with Svelte and Tailwind
#svelte#tailwind-css#typescript#viteSubmitted about 2 years agoResponsive interactive card details form using React and Typescript
#react#tailwind-css#typescript#viteSubmitted about 2 years agoResponsive solution to social proof section using HTML and SCSS
#sass/scssSubmitted about 2 years ago
Latest comments
- @briannelson95@kanuos
Congrats on your first submission. It looks great :)
- @Kuzitaa@kanuos
Hi @Kuzitaa, I previewed the site and found some issues - mostly JS issues.
- The form can be submitted with all/some unfilled form fields.
- The validation is not working e.g. - the card holder name should not have digits etc
- Since you're using client side validation - the form submission's default behavior should always be prevented - unconditionally
- A form is submitted only if the button has a
type="submit"
and nottype="button"
. In your HTML form, update the button type. - You used
button.addEventListener('click', completeFormView)
on line 18 as the form doesn't submit on click meaning the form validation is never run. It's a hack and not a good one too. You cannot bypass validation - There is not one
heading
element - try to include ah1
element per page - even if you have to hide it using CSS - Try to use any CSS naming convention e.g BEM and structure your tags and classes accordingly.
- Using
span
to denote the thank you logo is not preferred. It should be animg
element. - You are using absolute units in your style - e.g
width: 280px;
. Using relative units helps in avoiding unnecessary media queries. - Also, if you can - write modular js files and unit test them. It will help you a lot
Apart from these, I think your solution is pretty decent. Fix the issues and re-upload if you can.
Let me know what you think of the feedback - happy coding :)
- @caduovieira@kanuos
Hi Cadu, it is not an error - rather an attribution. When someone sees your solution, FrontEnd Mentor wants the visitor to know that the design was created by them.
If you want you can hide them using something similar to tailwind's
sr-only
class. - @Legrito@kanuos
Hi Lesya, congrats on your first submission. The UI structure looks nice, however I've few questions/suggestions -
- Why is the card heading replaced by random lorem ipsum texts?
- Same goes with the card description
- Imagine a scenario - you visited a website where you are to scan a QR code (preferably by a phone camera). Would you like to hover the card before you can scan? There's no need for this effect. It is counter productive as it beats the purpose of a Quick Response card. The card rotation using perspective property is cool but kinda goes against the UX of this app.
As far as the semantic HTML and BEM naming conventions are concerned - you aced it! At a quick glance, I thought it was perfect. Keep up the good work :)
Marked as helpful - @mariemkhaled0@kanuos
Hey Khaled, Your design is not mobile responsive. It looks good on desktop but the mobile UI is completely missing. Try to fix that and generate a new screenshot.
Also, I found this in your css file -
body { background-color: hsl(0, 0%, 81%); font-family: "Bai Jamjuree", sans-serif; font-family: "Barlow Semi Condensed", sans-serif; font-family: "Big Shoulders Display", cursive; font-family: "Fraunces", serif; font-family: "Karla", sans-serif; font-family: "Kumbh Sans", sans-serif; font-family: "Lexend Deca", sans-serif; font-family: "Montserrat", sans-serif; font-family: "Open Sans", sans-serif; font-family: "Outfit", sans-serif; font-family: "Poppins", sans-serif; font-family: "Raleway", sans-serif; font-size: 10px; }
Could you explain why you did that?
- @WiaterKa@kanuos
Hi Kamil, congrats on your submission. Your code looks pretty decent to be honest but like they say - there's always room for improvement.
Here's a few tips on how to improve your code
- Your code is missing the landmark wrapper. Easy fix - convert the
div.container
tomain.container
- Looking at your class names, try to follow a standard - eg. BEM. Look up
BEM naming convention
. That'll help you isolate the UI into minute re-usable components - hence leading to DRY-er code. - Always use an
alt
attribute to your img element. - Try to make the img styling more generic. The starter kit provided by FEM is kind enough to resize and optimize the images. What if the images were out of shape/aspect ratio? Use
object-fit
object-position
etc props onimg
elements. Setting the display toblock
helps prevent a lot of unnecessary bugs. - If you look at the design, you'll see the font weight of the heading element is not optimal in your code. Fix it when you can. While at it, fix the font size of the card description too.
- You probably missed out the hover effect on the button. As a pointer, I'd recommend using a
<a>
tag instead of the button element. Also, decrease the border-radius of the button to make it look identical to the design's button. - If you look at the desktop design, the image on the left and the card info on the right are of the same width. In your solution, the image looks a bit thinner compared to the card info. Also, the padding on the text content is a bit more in the design.
- Try using
relative
units likerem, %, em
etc instead of absolute units likepx
.
Hope this helps. Hope to see a lot more from you in the future. Happy coding :)
Marked as helpful - Your code is missing the landmark wrapper. Easy fix - convert the