Skip to content
  • Unlock Pro
  • Log in with GitHub
Profile
OverviewSolutions
5
Comments
4

Hariz

@sj0nMalaysia100 points

I’m a mysterious individual who has yet to fill out my bio. One thing’s for certain: I love writing front-end code!

Latest solutions

  • URL Shortening API Landing Page using Svelte

    #fetch#svelte#vite

    Hariz•100
    Submitted almost 3 years ago

    0 comments
  • Responsive Intro Section with Dropdown Menu | SCSS | Flexbox | CSSGrid

    #sass/scss#cube-css

    Hariz•100
    Submitted almost 3 years ago

    0 comments
  • Social Proof Section | SCSS | CSS Grid | Flexbox

    #sass/scss#cube-css

    Hariz•100
    Submitted about 3 years ago

    1 comment
  • NFT Preview Card Component | SCSS

    #sass/scss#cube-css

    Hariz•100
    Submitted about 3 years ago

    0 comments
  • Mobile-Friendly Interactive Rating Component


    Hariz•100
    Submitted about 3 years ago

    0 comments

Latest comments

  • Ting-Huei Chen•180
    @hejkeikei
    Submitted about 3 years ago

    Interactive rating component solution -- Radio Buttons with Plain JS

    2
    Hariz•100
    @sj0n
    Posted about 3 years ago

    Instead of attaching click event on all the buttons, you could just bind submit event on the form element. When submitted, the form element will contain the data binded on the name from the input element. You could then use FormData function to parse data from the form element.

    You can check out my solution if you need an idea on how to solve this challenge.

    [1] https://developer.mozilla.org/en-US/docs/Web/API/FormData/FormData

    Marked as helpful
  • Ko Loy Yee•50
    @koloyyee
    Submitted about 3 years ago

    interactive-rating-component-main

    2
    Hariz•100
    @sj0n
    Posted about 3 years ago

    Before grid was available, Flexbox was used for layout and to construct components. Now that grid is widely supported, you can use either. But generally, you would use Flexbox to construct components and grid for layout depending on how complicated the layout is.

    For your rating component, you should use radio-type input because with radio-type input you could only choose one option and that is suitable for this problem. Once that is done, you would use JavaScript to get the value from the input and display it.

    Lastly, I recommend you to watch Kevin Powell's video on CUBE CSS which teach you how to better structure your CSS.

  • Kelvin Ginikanna•40
    @keltech18
    Submitted about 3 years ago

    responsive view using media queries

    #accessibility
    2
    Hariz•100
    @sj0n
    Posted about 3 years ago

    These days people use flexbox or grid to style responsive layout. With card component, there is not much needed to be done to ensure the component is responsive. You can check out my solution for examples.

  • Keith Ching•110
    @keithc07
    Submitted about 3 years ago

    HTML, CSS, JavaScript

    #react
    1
    Hariz•100
    @sj0n
    Posted about 3 years ago

    For my solution, I use radio-type input because fundamentally that's how they works although it's a bit tricky to style them per design but it's possible.

Frontend Mentor logo

Stay up to datewith new challenges, featured solutions, selected articles, and our latest news

Frontend Mentor

  • Unlock Pro
  • Contact us
  • FAQs
  • Become a partner

Explore

  • Learning paths
  • Challenges
  • Solutions
  • Articles

Community

  • Discord
  • Guidelines

For companies

  • Hire developers
  • Train developers
© Frontend Mentor 2019 - 2025
  • Terms
  • Cookie Policy
  • Privacy Policy
  • License

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub