Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found

Submitted

Room - Sass, intersection observer API, mobile first, Flex, Grid

P
tedikoβ€’ 6,580

@tediko

Desktop design screenshot for the Room homepage coding challenge

This is a solution for...

  • HTML
  • CSS
  • JS
3intermediate
View challenge

Design comparison


SolutionDesign

Solution retrospective


HelloπŸ‘‹!

I have to admit that the challenge was more difficult than I thought but it was fun to get throught the problems I faced. Here are few new things that i was able to bring in into my project:

  • :focus-visible pseudo class (spec). This selector should now only indicate focus when it is helpful to the user - such as in cases where the user interacts with the page via a keyboard or some other non-pointing device.
  • This is first time i used @extend rule. Since my modifier classes kv__hero-bg--1/2/3 all uses styles from kv__hero-bg. I extend this class and it allowed me to remove unnecessary class from HTML code.
  • Added sticky nav menu using Intersection Observer API. This time i make it to be just hamburger menu after scroll with background, not sure if it's pretty but i want to have some fun.
  • Added backdrop-filter to opacity background when nav mobile is open. It provide effect such as blurring. (no Firefox support yet tho). Thanks to @ApplePieGiraffe. I found it in his solution.
  • I experimented with clip-path to create this slide effect on my background slider.
  • Added aria-live="polite" to my .kv__intro element to expose dynamic content changes in a way that can be announced by assistive technologies after my slider change content within that element. This one is from @Matt.
  • Implement prefers-reduced-motion CSS media feature which is used to detect if the user has requested that the system minimize the amount of non-essential motion it uses. Prevent animations in brief.

Again thanks for @grace-snow for helping me. No specific questions here but any additional feedback will be appreciated!

Thanks! 😁

Community feedback

P
Graceβ€’ 27,870

@grace-snow

Posted

This is hands down the best version of this solution I've seen. Ace work!

bookmarking

3

P
tedikoβ€’ 6,580

@tediko

Posted

@grace-snow Thank you. It means a lot! You just made my day. πŸ˜„

0
P
ApplePieGiraffeβ€’ 30,545

@ApplePieGiraffe

Posted

Hey, tediko! πŸ‘‹

Amazing work on this challenge! 🀩 It sounds like you learned a lot in the making of this solution and it sure was worth it! πŸ˜€ Everything's on point! πŸ‘ŒAnd the animation on the mobile menu icon and the slider is pretty fun! πŸ‘

I'm looking forward to seeing more great solutions from you! πŸ™‚

And, of courseβ€”keep coding (and happy coding, too)! 😁

2

P
tedikoβ€’ 6,580

@tediko

Posted

@ApplePieGiraffe Hey, APG! Yeah, that was demanding challenge and it brought a lot of new things that i learned. Thank you for kind words, and can't wait to see your future projects too πŸ‘€

1
Mathieuβ€’ 295

@mathcrln

Posted

Such amazing work, well done!

The UI implementation is amazing and smooth, and I actually learned quite a few things reading your code (like the @extend rule I hadn't heard about yet, amongst other things), so thank you for that!

Please keep up the great work πŸ’ͺ🏾

1

P
tedikoβ€’ 6,580

@tediko

Posted

@mathcrln Thank you very much! I am happy that you learned something from me. Have a good day!

0
MetisTβ€’ 275

@greatmetis

Posted

WOW! tediko,

Your solution is AMAZING. I tried not to type fewer capital words, BUT I just realised how small I am, and really inspired by your work.

This one is definitely THE BEST solution I've seen here so far. I don't have any suggestions to you while I believe you should know you deserve more compliments.

BTW, thanks for writing the notes clearly. I just learnt a handy effect from you,backdrop-filter:blur(), and I have used it in my solution πŸ”†

Again, thanks for your inspired work!

1

P
tedikoβ€’ 6,580

@tediko

Posted

@greatmetis Hey! It means a lot to me. Thank you for your feedback. Happy that you learn something from this solution! πŸ˜„

1
Anna Leighβ€’ 5,135

@brasspetals

Posted

Hey, tediko!

Was a bit busy yesterday, so didn't get a chance to comment (but bookmarked!). Sadly, I don't have anything constructive to say, so I'll chime in with everyone else in saying that your solution is EXCELLENT. πŸ™Œ It responds great, the UX is great, keyboard accessibility is great...are you sensing a pattern here? πŸ˜„

My only real suggestion is to maybe expand on your README, adding something like what you wrote here: a bit more about your process, what you learned, resources you found helpful, etc.

Again, awesome job and looking forward to your next solution!

1

P
tedikoβ€’ 6,580

@tediko

Posted

@brasspetals Hey, Anna! Thank you for your feedback. I agree with you that i should describe my work process in README. I will definitely try to start doing it! I am also waiting for your projects too!

1
Jayβ€’ 695

@Junjiequan

Posted

Hello, tediko,

I really like the image slider animations and the idea of mobile menu icons.

But, there's one issue I believe should be avoided for this challenge. That is , however the screen resizes, the edge of the right button should always exactly in touch with right bottom corner image.

My screen has resolution of 1920x 1080 and from my screen there's huge gap between right button and bottom right image. In my case, the gap disappears only when I resizes the page to 1440px not below nor above.

Since this challenge is mainly for practicing optimal layout, I think it is worth to notice to make design matches different screen size.

I also did this challenge before, and my solution was to calculate exact percentage of width for each layout with width:calc( ) method.

Hope you don't feel offended receiving suggetions from a newbie.

1

P
tedikoβ€’ 6,580

@tediko

Posted

@a331998513 Hello, Jay! Thank you for your feedback. Indeed I have to rework this section a bit to make it fit the layout on each resolution! Good catch.

I'm a newbie too and we all here to learn something new everyday so thank you for that suggestion and I looking forward to receive more from you!

1

Please log in to post a comment

Log in with GitHub
Discord logo

Join our Discord community

Join thousands of Frontend Mentor community members taking the challenges, sharing resources, helping each other, and chatting about all things front-end!

Join our Discord