Just a heads up this belongs in the general Web Building side of the forum. It wil require more than html and css.
Start out by breaking everything into pieces, and looking up how to do that piece.
First you'll need html and css to design a quiz form.
You'll need to collect information from the form using PHP. So look into
If you plan to have each quiz ask 20 random questions then you will need a large collection of questions the code can pull at any given time. So look into MySql databases. Look into pulling data randomly out of DBs. i would create a DB and insert numerous questions into it, and use php to write a script that pulls 20 questions out randomly per quiz.
You'll need to look into form validation.
And so on.
Just break it into pieces and learn each piece. I'd start with a three question quiz. Something that simply has you answer three questions, collects them, and grades it using
if else statements.
I don't want to flat out code this for you. Forms are a pretty complicated part of web design. So be sure to read as muc has you can over them.