fix(landing): comparison tables — columns collapsed from pill CSS#52
Merged
johnnichev merged 1 commit intomainfrom Apr 8, 2026
Merged
fix(landing): comparison tables — columns collapsed from pill CSS#52johnnichev merged 1 commit intomainfrom
johnnichev merged 1 commit intomainfrom
Conversation
The .cmp-table .yes/.no/.mid { display: inline-block; ... } rule was
applied directly to <td> elements. display: inline-block on a table
cell removes it from CSS table layout and collapses <tbody> into an
inline flow. The <thead> kept working because .yes/.no/.mid are only
ever on value cells, never on headers — so every value pill ended up
clustered under the selectools header area while LangGraph Studio /
n8n / Flowise / Dify / Rivet columns sat empty on the right.
Fix: wrap each value cell's content in <span class="pill">...</span>
and retarget the pill-layout CSS (display, padding, border-radius,
font sizing, nowrap) to the new .pill class. The <td> stays in proper
table-cell layout; the span becomes the rounded pill inside it. Color
rules stay on the td and cascade to the child span by inheritance.
Verified via playwright:
td computed display = "table-cell" (was "inline-block")
.pill computed display = "inline-block"
Both tables visually aligned across all columns, 2 screenshots taken.
Affects both comparison tables:
- Builder comparison (7 cols × 10 rows) — 60 value cells wrapped
- Framework comparison (4 cols × 15 rows) — 45 value cells wrapped
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Both comparison tables in the landing page had a CSS bug that collapsed every value cell out of table layout, causing all pills to cluster under the
selectoolscolumn header while the competitor columns sat empty on the right.Root cause (one line):
.cmp-table .yes/.no/.mid { display: inline-block; ... }was applied to<td>elements.display: inline-blockon a table cell removes it from CSS table layout and collapses the tbody into an inline flow. The thead kept working because.yes/.no/.midare only ever on value cells, never on headers.Fix: wrap each value cell's content in
<span class="pill">...</span>and retarget the pill-layout CSS (display: inline-block, padding, border-radius, font sizing, nowrap) to the new.pillclass. The<td>stays in propertable-celllayout; the span becomes the rounded pill inside it. Color rules stay on the<td>and cascade to the child span by inheritance — no duplication.Affects both comparison tables:
Net change:
+37 / -42lines. Fewer lines of code despite 105 new span wrappers, because the old td-levelwhite-space: nowraprule and the consolidated color-on-td rules more than offset the additions.Verification
Verified locally via Playwright on
landing/index.htmlserved frompython3 -m http.server:Screenshots confirmed both tables render with every column aligned and every pill in its correct column. The cyan left-edge accent on the
selectools/Selectoolswinner column is preserved. Pill colors (cyan-green for yes, gray for no, amber for mid) all render correctly.Test plan
docs.yml) runs greenmin-width: 800pxon.cmp-tableensures readable columns):hoverrule targets the tr, unaffected by this fix)Why this won't regress
The fix removes the only rule that put table cells into non-table display modes. Any future pill-styling tweaks will target
.pill(the inner span), which is safe to give any display property because it's not part of the table layout contract. If someone accidentally addsdisplay: inline-blockback onto.cmp-table .yesor similar, the tables will break again — but the comment block above the.pillrule explicitly documents why that's dangerous, so the warning is in the code.