Products · Product
CSS
Raised as a usability problem by 521 people on Hacker News over 19 years (2008–2026), in 399 threads.
- 1
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10Dark grey text on black is hard to readUnreviewed
- 11
- 12Grid syntax must be looked up every timeUnreviewed
- 13
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11Dark grey text on black is hard to readUnreviewed
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28Grid syntax must be looked up every timeUnreviewed
- 29
- 30
- 31
Every issue, all time, most people first
Centering elements needs searches, hacks and many corner casesUnreviewed
20082026- Spent far more time than expected centering elements; frustrating to get intended layout2025-05-29
- Too many overlapping layout mechanisms and hard-to-do centering, requiring heavy learning2025-03-03
- Centering a div requires remembering many properties across several competing approaches2025-01-23
Hard to get layouts right because CSS is unintuitiveUnreviewed
20082026- Replicating table features like resizable columns and scrollable panes takes tons of ugly CSS2025-12-11
- Simple header layout requires fighting CSS complexity and accidental complexity, taking far too long2025-11-18
- Guide presents questions in a confusing layout that is hard to follow2025-06-28
Quirks must be learned over years to use CSSUnreviewed
20082026- CSS keeps gaining features in an awkward syntax never designed for them2026-10-21
- Keeping up with CSS standards is practically impossible for the writer2026-04-17
- CSS is confusing and annoying to use, with quirks people must learn over years2026-01-10
Flexbox options interact confusingly with the rest of layoutUnreviewed
20082026- Nested flexbox and grid layouts become hard to reason about and confusing2026-03-10
- Mixing flexbox, grid and traditional layout makes the page impossible to reason about2026-01-07
- Flexbox layouts are hard to reason about, especially responsive ones2025-01-06
Default box model is confusing for building layoutsUnreviewed
20082026- Default content-box box sizing feels at odds with how people expect sizing to work2023-11-22
- Padding and border make elements wider than their set width, making layout hard to calculate2021-11-27
- CSS layout is hard to use: float, box model and display rules have unintuitive defaults2021-05-16
Hard to tell which CSS affects an element; styles cascade unexpectedlyUnreviewed
20082026- Hard to find which of many CSS files sets a given style; selectors are awkward and unreadable2025-07-22
- CSS is hard to debug and behaves inconsistently, surprising developers2025-03-02
- Hard to tell which CSS rule is breaking elements2025-01-23
Three-column layouts are hard and counter-intuitive to buildUnreviewed
20082026- Common layouts like three columns were hard to build, requiring hacks and workarounds2026-06-08
- Getting a three column float layout to work was very hard and time-consuming2022-09-14
- Layout model feels unintuitive compared to rows and columns, and CSS feels over-designed2021-10-07
Slow animations delay controls, and controls shift the imageUnreviewed
20082026- Button press animation is too slow and annoying2026-07-24
- Hover color animation feels sluggish and makes the interface seem slow to respond2025-09-05
- Animations on many webpages are laggy and slow to interact with2022-03-01
Dark grey text on black is hard to readUnreviewed
20082026- Text is dark grey on black and partly covered by grey rectangles, so it is hard to read2024-07-08
- The styled page is hard for the reader to read2024-03-23
- Huge fonts, unclear foreground and background, and random all caps make text hard to read2023-10-04
Floats are unintuitive for achieving layoutsUnreviewed
20082026- Floats are unintuitive to use for achieving layouts2025-12-11
- Floats were tricky, requiring clearing tricks to lay out pages2022-02-25
- Page layout required counterintuitive float hacks and crazy workarounds for years2021-05-16
Margins, floats and positioning behave unexpectedly, needing trial and errorUnreviewed
20082026- Layout breaks unpredictably: margins fight when nested, scrollbars appear from 1px differences, labels misalign2025-01-16
- Layout shifts every time the page loads with the menu2023-01-27
- CSS layout behaviour produces surprising, hard-to-debug breakage like float containment failures2021-09-12
Layouts behave differently across browsers, needing trial and errorUnreviewed
20082026- Getting web page layout to behave correctly across screen sizes requires expert CSS and extra JavaScript2022-05-12
- Adjusting styles across many screen sizes and inconsistent browsers is a constant hassle requiring restarts2019-01-29
- Fixing layout in Firefox breaks it in Chrome, forcing endless hacks2019-01-29
Flex property names like align-content are unintuitiveUnreviewed
20082026- Property names like justify-content and align-items are unintuitive, hard to remember, and overwhelming in number2024-02-13
- Flex property names like align-content and justify-content are unintuitive2019-02-28
- Has to look up Flexbox parameter names like align-content vs align-items2018-07-27
Exact placement requires clunky CSS that fights the browserUnreviewed
20082026- Getting elements placed exactly as designed requires clunky, complex CSS fighting the browser2024-04-12
- Top/left/right/bottom behave differently in Chrome and Firefox with sticky positioning2020-12-23
- Hard to get elements to show in the right place on a page2014-07-04
Too many settings to memorise for getting layouts rightUnreviewed
20082026- Too many settings to memorize; hard to remember how to get layouts right2025-01-05
- Too many properties, selectors and layout systems to learn and keep up with2023-12-15
- Styles behave inconsistently across elements, so users must memorise many tricks to get layout right2023-12-15
Positioning rules are hard to express and reason aboutUnreviewed
20082026- Programmers struggle with CSS, and positioning rules are hard to express and reason about2019-01-29
- Placement and spacing behave unintuitively, plus browser-specific rules and overrides confuse even experienced developers2019-01-29
- Casual developers get lost in coordinated CSS rules and can't see their intent2017-01-31
Scrollbars always show with overflow: scroll on Linux and WindowsUnreviewed
20082026- Scrollbar changes make it unusable for its purpose2025-12-14
- Forced scrollbars appear on users' systems without overlay scrollbars, where they are rarely appropriate2023-11-10
- 100vw overflows the page whenever scrollbars take up space, a trap for authors2023-06-18
Styles spread across the codebase make changes cumbersomeUnreviewed
20082026- Developers need insane hacks to get the styling behaviour they want2025-12-05
- Styles bleed in from elsewhere, so developers must guess via dev tools where they come from2025-05-13
- Styles are spread all over the code, making development cumbersome2019-02-13
Designers struggle to make pages match their envisioned designUnreviewed
20082026- Graphic designers struggle to make web pages do exactly what they envision2019-01-30
- Building such drawings in CSS is unintuitive and breaks across browsers2012-09-08
- Building good-looking front pages feels like fighting CSS, needing contorted wrappers and absolute positioning2009-07-14
Responsive sites need separate designs and workarounds per screenUnreviewed
20082026- Media queries for each screen size bloat the CSS and hurt readability2024-02-18
- Hard to lay out responsive sites; needs separate designs and workarounds for each screen2021-11-01
- Web UI design is a mess, leaving sites with tiny tablet links and clunky mobile layouts2019-01-29
Layout system too weak, forcing programmer-oriented workaroundsUnreviewed
20082026- Hard to predict or control page layout, and the spec is poorly defined2023-12-16
- Laying out pages with it is frustrating in many cases2020-07-23
- Hard to lay out pages; layout system too weak and programmer-oriented2014-10-10
Tricky corners take an hour to explain layout differencesUnreviewed
20082026- Borders split half inside and half outside, making layout math and alignment terrible for developers2023-08-18
- Tricky corners make developers spend an hour working out why layout differs from expectations2019-07-26
- Mixing border-box with third-party code causes glitches and constant mental overhead for developers2014-03-24
Page text can no longer be selected anywhereUnreviewed
20082026- Text on the page can no longer be selected anywhere2021-07-27
- CSS prevents users from selecting text on web pages2020-02-18
- Red text selection highlight doesn't display in Firefox 72011-10-04
Grid syntax must be looked up every timeUnreviewed
20082026- Too many ways to write the same grid declaration, making others' grids hard to read2024-08-16
- Even a developer with nearly 20 years of experience struggles to understand grid2023-12-16
- Too robust, so developers must look up grid syntax every time2021-11-21
Numbers keep updating after the mouse stops, feeling laggyUnreviewed
20082026- Large lag between clicking a cell and the UI updating2020-07-22
- Numbers keep updating for a while after the mouse stops, so feedback feels laggy2013-07-14
- Button press feedback has two steps, so it feels laggy2010-09-02
Overflowing centred text becomes unreachable on the leftUnreviewed
20082026- Centered text overflowing its box becomes unreachable on the left, so content can't be scrolled to2025-12-07
- Centering overflows to the left get silently lost and can't be scrolled to2024-02-11
- Overflowing centered flex content is unreachable, with no way to scroll to it2023-07-16
Nested divs don't show how elements relate or will appearUnreviewed
20082026- Raw markup of nested divs doesn't show how elements relate or will appear2020-10-13
- Layout requires many inexplicable nested divs to work around confusing behavior2020-02-02
- Vertical centring needs nested-div workarounds that mangle markup2013-08-11
Unreviewed issues were grouped by machine: Claude Haiku labelled each comment as a usability complaint, named what it's about and summed up the problem in a line, and a small model grouped similar problems. Nobody has checked them by hand. Expect mistakes.
The newest 50 complaints
- CSS keeps gaining features in an awkward syntax never designed for them2026-10-21
- Hard to remember property names, value syntax and ordering2026-10-14
- Style controls are hard to find again every time a design is changed2026-09-15
- Screen reader and keyboard users get confused because visual order differs from HTML order2026-09-15
- Scrolling stops halfway to the next page, forcing the user to scroll again2026-09-01
- Hard to tell whether a button was pressed or what is selected2026-09-01
- Decorative status labels and fake data clutter the UI without conveying real information2026-09-01
- Knobs only respond to vertical drag, and the second knob's grab handle appears only in a small area2026-09-01
- Most of the tool feels unusable on mobile Safari2026-09-01
- Radio buttons are inconsistent and the middle one doesn't work at all2026-09-01
- Keyboard selection depends on visual layout because radios are fake buttons with JavaScript2026-09-01
- Hard to position a popover next to its trigger element, and the API is hard to understand2026-08-20
- Button press animation is too slow and annoying2026-07-24
- Peach and lavender colours are too similar to tell apart2026-06-27
- Common layouts like three columns were hard to build, requiring hacks and workarounds2026-06-08
- Nested attribute selectors take too long to parse mentally2026-04-24
- Keeping up with CSS standards is practically impossible for the writer2026-04-17
- Obscure property combinations are too many to remember, so humans struggle with it2026-04-12
- Demo hits a wall requiring an agent connection, so user gives up2026-04-09
- Commenter almost missed the key feature and left the site2026-04-09
- Play button looks like it plays a video but redirects to a login page2026-04-09
- Demo video is confusing about how the product works and its benefit2026-04-09
- Nested flexbox and grid layouts become hard to reason about and confusing2026-03-10
- Can't work out how to operate the knobs, and they turn unpredictably2026-02-17
- Knobs aren't intuitive to turn; users must click and scroll to operate them2026-02-17
- CSS is confusing and annoying to use, with quirks people must learn over years2026-01-10
- Mixing flexbox, grid and traditional layout makes the page impossible to reason about2026-01-07
- Commenter can never remember CSS when needed, unlike HTML2026-01-05
- Too many overlapping layout systems that interact in confusing ways, hard to learn2026-01-05
- Sometimes a maze of quirky, frustrating hacks that are hard to work with2026-01-05
- Percentage-based text sizes rarely produce the result the designer wants2026-01-05
- Fundamental techniques keep changing, so developers must repeatedly unlearn and relearn them2026-01-05
- Unclear which block to read next in masonry columns, reading order confusing2025-12-20
- Masonry layout makes it unclear what order to scan and easy to skip blocks2025-12-20
- Hard to tell where next line starts, eyes bounce, items skipped or repeated2025-12-19
- Scrollbar changes make it unusable for its purpose2025-12-14
- Replicating table features like resizable columns and scrollable panes takes tons of ugly CSS2025-12-11
- Default display: table setup is often a pain to work with2025-12-11
- Items moved to the sidebar stack on top of each other, so only one is visible2025-12-11
- Commenter finds z-index, margins, vertical-align and border-radius unintuitive when using them in practice2025-12-11
- Floats are unintuitive to use for achieving layouts2025-12-11
- Float state leaks out of blocks, which is extremely unintuitive for developers2025-12-11
- Newer CSS features are more confusing than the older model2025-12-07
- Centered text overflowing its box becomes unreachable on the left, so content can't be scrolled to2025-12-07
- Break-after doesn't work properly, forcing many workarounds to print2025-12-05
- Developers need insane hacks to get the styling behaviour they want2025-12-05
- CSS layout terms borrowed from print media are confusing to work with2025-12-04
- Inheritance and cascading of CSS variables is so confusing that results can't be predicted without a tool2025-11-25
- Simple header layout requires fighting CSS complexity and accidental complexity, taking far too long2025-11-18
- Site crawls to a halt and becomes unusable2025-10-31