How is specificity calculated for :is() and :where(), and how do they differ?
:where(#sidebar) a
:is(#sidebar) aRead the full question →Every question is hand-checked, every answer comes with an explanation, and your progress builds into a clear picture of where you stand.
Every CSS question shows its code before you answer, so you are reading real CSS, not a description of it.
Once you attempt a question you get the reasoning, not just a tick. That matters most on CSS, where specificity maths, margin collapsing, what creates a new stacking or containing block, flex versus grid sizing, and which properties can be animated cheaply.
Progress is tracked per topic across the 43 CSS topics, so revision points at the gaps instead of the whole list.
527 CSS questions right now: 128 easy, 198 medium and 201 hard. That number is read straight from the question table when this page is built, so it is never a rounded marketing figure.
No. Every CSS question, including its code snippet, its difficulty and its topic, is readable without signing in. You need a free account only to submit an answer, see which option is correct, and read the worked explanation. We keep it that way so the platform stays honest about what you actually got right.
Specificity maths, margin collapsing, what creates a new stacking or containing block, flex versus grid sizing, and which properties can be animated cheaply.
43 distinct topics are tagged on the CSS questions, including color and background, grid template rows cols areas, the box model, attribute and nth-child, font-size family, keyframes. The topic labels come from the questions themselves, so the list matches what you will actually be asked.
Yes. Reading is free and unlimited. A free account unlocks answering, explanations and progress tracking. Pro (₹199 per month) adds AI explanations and AI-graded guesstimates on top; it is not needed to practise CSS MCQs.
Frontend roles, design-system teams, and anywhere responsive or themeable UI is built.
These are 12 of the 527 CSS questions in the library, pulled live from the question table. The snippet, the difficulty and the topic are all here. The answer options and the explanation are not. Those need a free account.
Specificity maths, margin collapsing, what creates a new stacking or containing block, flex versus grid sizing, and which properties can be animated cheaply.
:where(#sidebar) a
:is(#sidebar) aRead the full question →div, span {
width: 200px;
height: 200px;
object-fit: cover;
}Read the full question →.ancestor { transform: translateZ(0); }
.fixed-child { position: fixed; top: 0; left: 0; width: 50%; }Read the full question →.card-wrap { container-type: inline-size; }Read the full question →.parent { overflow: hidden; }
.parent > .child { float: left; height: 80px; }Read the full question →p {
color: #00ff0080;
}Read the full question →grid-template-columns: repeat(auto-fit, 200px);Read the full question →.grid {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-areas:
"header header"
"sidebar main";
}Read the full question →:is(header, footer) a:hover { text-decoration: underline; }Read the full question →:where(.a, .b) > span { color: red; }Read the full question →<h2>Title</h2>
<p>One</p>
<div></div>
<p>Two</p>Read the full question →<form>
<input type="text"> <!-- input 1 -->
<input type="email"> <!-- input 2 -->
<input type="text"> <!-- input 3 -->
</form>Read the full question →We keep the correct answer, the explanation and the scoring behind sign-in so the platform stays honest, which is why the correct option and the worked explanation for every CSS question stay behind a free account. Signing in is free and takes a few seconds.
Frontend roles, design-system teams, and anywhere responsive or themeable UI is built.