Questions
28 of 45
1What is a pseudo-element in CSS?
2How are pseudo-elements different from pseudo-classes?
3What is the syntax of a pseudo-element?
4Name some commonly used pseudo-elements.
5What does the ::before pseudo-element do? What does the ::after pseudo-element do?
6How can you insert content using pseudo-elements?
7What is the difference between :before and ::before? Why were pseudo-elements changed from one colon (:) to two (::) in CSS3?
8What does the ::first-letter pseudo-element do?
9What does the ::first-line pseudo-element do?
10How can you style the first line of a paragraph differently?
11Can pseudo-elements be styled with animations or transitions?
12What’s the difference between using ::before and ::after?
13Can pseudo-elements be positioned using CSS positioning properties? Can pseudo-elements have background images or colors? How can you use pseudo-elements to create shapes or icons?
14Can you use multiple pseudo-elements on the same element?
15What is the ::selection pseudo-element used for?
16How does stacking and z-index affect pseudo-elements?
17Can pseudo-elements have child elements or content inside them?
18Can you apply pseudo-elements to replaced elements (like <img>)?
19How do pseudo-elements interact with display and overflow properties?
20What’s the difference between using pseudo-elements and real elements for decoration?
21How does inheritance work with pseudo-elements?
22Can pseudo-elements trigger JavaScript events (like click)?
23How can you control the generated content with pseudo-elements using attr()?
24Can pseudo-elements be used inside flex or grid layouts?
25How do you control the stacking order of ::before and ::after pseudo-elements?
26How can you create a tooltip using pseudo-elements?
27How can you make a custom underline or highlight effect using ::after?
28How can you make a quotation mark appear before a paragraph using pseudo-elements?
29How do you create a triangle or arrow shape using only CSS pseudo-elements?
30How can you use pseudo-elements to add icons without extra markup?
31How can you create a button hover animation using ::before or ::after?
32How can pseudo-elements help in implementing skeleton loaders or shimmer effects?
33How can you use ::before and ::after to clear floats?
34How can you create a border animation using pseudo-elements?
35How can pseudo-elements be used in responsive design?
36What is the ::marker pseudo-element and when is it used?
37What does the ::placeholder pseudo-element do?
38How does ::cue work with media elements?
39What is ::backdrop, and where is it used?
40What is the difference between ::file-selector-button and other input pseudo-elements?
41How does the ::part() pseudo-element work in Web Components?
42How is ::slotted() different from ::part() in shadow DOM styling?
43Can you style text highlights with pseudo-elements?
44How can ::selection be customized for accessibility and branding?
45What are the limitations of pseudo-elements compared to actual DOM elements?
28 / 45

How can you make a quotation mark appear before a paragraph using pseudo-elements?

Difficulty: 3/10
pseudo-elements, CSS quotes, content property

Adding Quotation Marks with ::before in CSS

You can use the ::before pseudo-element to insert quotation marks or other decorative symbols before a paragraph. This allows you to add visual cues without changing the HTML content.

Key Points
  1. 1

    Use ::before with the content property to insert the quotation mark, e.g., content: '“';.

  2. 2

    Set position: relative on the parent if you need precise control over placement.

  3. 3

    Style the pseudo-element with font-size, color, margin, or transform to match your design.

  4. 4

    Combine with ::after for closing quotation marks if needed.

Example: Quotation Mark Before Paragraph

In this example, the ::before pseudo-element inserts a gray quotation mark before the paragraph. You can adjust font-size, color, and position to match your layout and style preferences.

Best Practices
  1. 1

    Use pseudo-elements for purely decorative symbols to avoid altering semantic HTML.

  2. 2

    Ensure the quotation mark does not overlap text by adjusting padding or positioning.

  3. 3

    Combine with ::after for closing quotes if needed for visual consistency.

  4. 4

    Test across different screen sizes and browsers for proper alignment and display.

Scenario Questions

0-2 years experience

  1. 1How would you add an opening quotation mark before every paragraph using only CSS, without touching the HTML?
  2. 2What happens if you forget to set display: block on the paragraph when using ::before to add a quote?

2-5 years experience

  1. 1A designer says the blockquote quotes look broken on mobile — the ::before quote is overlapping the text. How do you debug and fix this?
  2. 2We’re using ::before to add quotes in a CMS-generated blog, but sometimes the quote appears even when there’s no paragraph content. How do you prevent that?

5-8 years experience

  1. 1We’re building a multilingual content system where quote styles vary by locale — how would you architect the CSS to support this without bloating the stylesheet?
  2. 2A performance audit shows our ::before quote styles are causing layout thrashing on low-end devices. What’s the root cause and how do you optimize it?

8+ years experience

  1. 1Our legacy design system uses ::before for quotes across 20+ products — we’re migrating to a design token system. How do you plan the deprecation and ensure no visual regressions?
  2. 2We need to support screen readers properly while keeping visual quotes via CSS. How do you balance accessibility, maintainability, and design consistency at scale?

Follow-up Questions

  • What happens if the paragraph is inside a nested container with its own ::before styles?
  • How would you handle this if the quote needed to change based on language?
  • Why wouldn’t you just use an actual quote character in the HTML?
Share

Share via WhatsApp, X, Facebook, LinkedIn or copy link. Open Graph preview enabled.