Skip to content

feat: add new icons for CSS#2710

Merged
PKief merged 6 commits intomaterial-extensions:mainfrom
aixegorri:css-logo
Apr 8, 2025
Merged

feat: add new icons for CSS#2710
PKief merged 6 commits intomaterial-extensions:mainfrom
aixegorri:css-logo

Conversation

@aixegorri
Copy link
Copy Markdown
Contributor

@aixegorri aixegorri commented Nov 15, 2024

Description

Added the official new logos for CSS to the icon set.

Closes: #2716

Official info at: https://github.com/CSS-Next/logo.css

Contribution Guidelines

@github-actions github-actions bot added the icons PR with new icons label Nov 15, 2024
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Nov 15, 2024

Preview

Thank you for creating a pull request. This preview shows you how your icons will look on the different themes:

Generated preview

Check how your icons fit in a 16x16 grid with our Pixel Perfect Checker by following this link.

You can find more information on how to contribute in the contribution guidelines.

@okineadev
Copy link
Copy Markdown
Contributor

These icons go well with the JS and TS icons, but I think it will be difficult to get used to them...

@okineadev
Copy link
Copy Markdown
Contributor

I also think that they should be lighter, because they are too dark on a dark background, and too contrasting on a light one

@mallowigi
Copy link
Copy Markdown

mallowigi commented Nov 15, 2024

They are so ugly. In my opinion it will be detrimental to the main purpose of the pack, which is to help visual distinction. We already have JS and TS that look alike, and now css?

@aixegorri
Copy link
Copy Markdown
Contributor Author

aixegorri commented Nov 15, 2024

They are so ugly. In my opinion it will be detrimental to the main purpose of the pack, which is to help visual distinction. We already have JS and TS that look alike, and now css?

We are not arguing whether the new logo is ugly or pretty. This is the new official CSS logo and soon everyone will associate it with the language. It would be nice to use a new icon that connects with the new image.

@okineadev
Copy link
Copy Markdown
Contributor

They are so ugly. In my opinion it will be detrimental to the main purpose of the pack, which is to help visual distinction. We already have JS and TS that look alike, and now css?

See https://en.m.wikipedia.org/wiki/CSS

@okineadev
Copy link
Copy Markdown
Contributor

I think it is necessary to create a mass forced vote for the best icon among all users of this extension in order to decide whether it is necessary to add a new icon

@okineadev
Copy link
Copy Markdown
Contributor

A notification should pop up that cannot even be closed

@itznao
Copy link
Copy Markdown

itznao commented Nov 18, 2024

Im personally loving the new logo! Here it is in a mock Next.js project!

image

@okineadev
Copy link
Copy Markdown
Contributor

Im personally loving the new logo! Here it is in a mock Next.js project!

image

It's actually pretty hard to tell that it's a CSS icon...

@itznao
Copy link
Copy Markdown

itznao commented Nov 18, 2024

Im personally loving the new logo! Here it is in a mock Next.js project!
image

It's actually pretty hard to tell that it's a CSS icon...

I mean, I personally look at the colours, and I really like the look.

image

@itznao
Copy link
Copy Markdown

itznao commented Nov 18, 2024

Here is a look at it in tabs:

image

@okineadev

This comment was marked as spam.

@okineadev
Copy link
Copy Markdown
Contributor

Because the letters on the icon are not visible

@lucas-labs
Copy link
Copy Markdown
Member

I opened #2716 a few days ago but didn't create a PR anticipating this change was going to be controversial.

IMO, It's still too early. The icon is just too new and if we merge this, we will have dozens of issues with the title "CSS icon broken". I would wait some time until the icon is more widely adopted and people is more familiar with it.

Also, I agree that the color doesn't play well with dark themes.

@lucas-labs
Copy link
Copy Markdown
Member

I think it is necessary to create a mass forced vote for the best icon among all users of this extension in order to decide whether it is necessary to add a new icon
A notification should pop up that cannot even be closed

@okineadev I wouldn't do that. This pack is probably top-20 most installed extensions in vscode (26 million downloads). And not all users of this pack care about a css icon. If your main language is rust or cpp or zig, you don't want an imposible-to-close popup asking about css.

@okineadev
Copy link
Copy Markdown
Contributor

I think it is necessary to create a mass forced vote for the best icon among all users of this extension in order to decide whether it is necessary to add a new icon
A notification should pop up that cannot even be closed

@okineadev I wouldn't do that. This pack is probably top-20 most installed extensions in vscode (26 million downloads). And not all users of this pack care about a css icon. If your main language is rust or cpp or zig, you don't want an imposible-to-close popup asking about css.

I don't care if they are interested in the CSS or not, we need public opinion!

(Actually, I'm writing this to troll Elior 😅)

@mallowigi
Copy link
Copy Markdown

mallowigi commented Nov 19, 2024

In my plugin whenever there is a huge change like in angular for example, I always provide both icons. Unless the previous icon was ugly (like the previous yaml, the previous perl).

@mi2ebi
Copy link
Copy Markdown

mi2ebi commented Nov 20, 2024

looks a bit too dark to be readable imo

@itznao
Copy link
Copy Markdown

itznao commented Nov 28, 2024

I mean, it is the official logo for CSS now, I personally don't like the SQLite logo but it is still the logo.

@itznao
Copy link
Copy Markdown

itznao commented Nov 28, 2024

In my plugin whenever there is a huge change like in angular for example, I always provide both icons. Unless the previous icon was ugly (like the previous yaml, the previous perl).

You could make an option to change it in the config to the old logo, like css-old or something, making this will enable the project to have alternate logos in the future too! Thumbs up from me 👍

@mi2ebi
Copy link
Copy Markdown

mi2ebi commented Nov 28, 2024

I mean, it is the official logo for CSS now, I personally don't like the SQLite logo but it is still the logo.

accessibility is my point, rather than aesthetics

@rafael-roldan
Copy link
Copy Markdown

Well, I find this elegant and consistent:

image

I think it could be improved by coloring the text white and enlarging it a bit. Maybe also using more saturated colors to improve the contrast in dark themes.

@mi2ebi
Copy link
Copy Markdown

mi2ebi commented Nov 29, 2024

yep that works :)

@mi2ebi
Copy link
Copy Markdown

mi2ebi commented Nov 30, 2024

that's fine

@itsjavi
Copy link
Copy Markdown

itsjavi commented Feb 28, 2025

Hey thanks for doing this.

I use this extension and as the creator of the logo I was also concerned about its readability in the IDEs in dark mode, but I think it's fine to do some color variation to improve readability, since the logo guidelines allow that.

image

1st - Original color, rebeccapurple, 663399
2nd - Original color with 10% more lightness, 8040BF
3rd - Material UI Color, Deep Purple 400, 7E57C2

I prefer the 2nd option if possible, at 15% more lightness than the original looks even better: 8C53C5

@PKief
Copy link
Copy Markdown
Member

PKief commented Apr 3, 2025

@lucas-labs shall we proceed with it? I have seen that you already created a pixel perfect version of it. Would you mind adding it to this PR? I think we could get it in now

@lucas-labs
Copy link
Copy Markdown
Member

lucas-labs commented Apr 3, 2025

Hi!
Yes, I created a few slightly different variations:

First column uses #8C53C5 (original color at 15% lightness), which is the color the creator of the icon talked about (not a material color), the second column uses #7e57c2 from the material palette which I think it looks similar enough.

Rows are variations of the "CSS" typography. Both are (kinda) pixel perfect at 16px, but the first one is more "rounded".

Here's the same, but at 16px and with dark/light backgrounds

Captura de pantalla 2025-04-03 102458

Thoughts?

@itsjavi
Copy link
Copy Markdown

itsjavi commented Apr 3, 2025

The first option seem to have better contrast, but if you only use material colors then I would choose the second one. They're closer to the logo original design
thanks for your work

@PKief
Copy link
Copy Markdown
Member

PKief commented Apr 3, 2025

@lucas-labs they look quite similar, but personally I'd also prefer if we use a material color for that icon. Can we invert the icon on the light themes? I mean can we cut out the white shape from the purple shape instead of having a white shape on top of the purple shape? I mean similar how we did it for the typescript or JS file icons: https://github.com/material-extensions/vscode-material-icon-theme/blob/main/icons/typescript.svg

@lucas-labs
Copy link
Copy Markdown
Member

@lucas-labs they look quite similar, but personally I'd also prefer if we use a material color for that icon. Can we invert the icon on the light themes? I mean can we cut out the white shape from the purple shape instead of having a white shape on top of the purple shape? I mean similar how we did it for the typescript or JS file icons: https://github.com/material-extensions/vscode-material-icon-theme/blob/main/icons/typescript.svg

Hi! If I understood that right, the "CSS" part is already cutted out. The white characters are actually the background, not a white shape on top (that's why it's "black" in the black theme).

image

@PKief
Copy link
Copy Markdown
Member

PKief commented Apr 3, 2025

@lucas-labs they look quite similar, but personally I'd also prefer if we use a material color for that icon. Can we invert the icon on the light themes? I mean can we cut out the white shape from the purple shape instead of having a white shape on top of the purple shape? I mean similar how we did it for the typescript or JS file icons: https://github.com/material-extensions/vscode-material-icon-theme/blob/main/icons/typescript.svg

Hi! If I understood that right, the "CSS" part is already cutted out. The white characters are actually the background, not a white shape on top (that's why it's "black" in the black theme).

image

thanks for the reply, you're right. I didn't see it in the first sight. It looks good like that :)

@lucas-labs
Copy link
Copy Markdown
Member

lucas-labs commented Apr 3, 2025

Alright! This is the end result.

Note: the css.map icon is 1px larger than the js.map (has to fit 1 more character 😅).

image


image

@PKief PKief self-requested a review April 4, 2025 05:07
@PKief PKief merged commit 6a831bd into material-extensions:main Apr 8, 2025
6 checks passed
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 8, 2025

Merge Successful

Thanks for your contribution! 🎉

The changes will be part of the upcoming update on the Marketplace.

@anderspk
Copy link
Copy Markdown

anderspk commented May 3, 2025

I thought the icon was broken and showing artifacts when I was updated today to this version...
Why go with lettering that doesn't properly render?
image
Compared to
image

@faisalnjs
Copy link
Copy Markdown

faisalnjs commented May 3, 2025

I thought the icon was broken and showing artifacts when I was updated today to this version... Why go with lettering that doesn't properly render? image Compared to image

I agree, thought the same when I loaded up my CSS today. The new logo is really unrecognizable as CSS, especially in dark mode, doesn't show the "CSS" text well. 😕

@Sominemo
Copy link
Copy Markdown

Sominemo commented May 5, 2025

I agree, I had no clue what logo I'm looking at as the text is unreadable at that scale, unfortunately.

@ghost
Copy link
Copy Markdown

ghost commented May 11, 2025

I am using dark mode and the text is too small to read. It looks like an sd card or a floppy disk. Could we atleast get an unused "css-classic/old" icon that we can manually assign ourselves?

@lucas-labs
Copy link
Copy Markdown
Member

There's no much we can do about the text, fitting 3 characters in 9 pixels is hard.

Giving it a brighter color for dark-mode might improve visibility... maybe.

image

Having an unassigned icon might be an option too.

@nnmrts
Copy link
Copy Markdown

nnmrts commented May 12, 2025

Why was this approved with dark letters?

https://github.com/CSS-Next/logo.css?tab=readme-ov-file#logo-usage-guidelines

@bricejoosten
Copy link
Copy Markdown

Hello from my cave, did I miss something about CSS ?
Isn't CSS, the language, supposed to NOT have versions numbers like CSS4 and CSS5 ?

According to W3C's official website, at least... which makes me question : who is this Github account : https://github.com/CSS-Next/ and how are they "official" while speaking about "CSS4" and "CSS5" while the official website clearly says there won't be any further version numbers like this in the nomenclature as CSS works by module.

I'm just really confused about wether this Github accound is really and officially related to CSS or not.

@nnmrts
Copy link
Copy Markdown

nnmrts commented May 27, 2025

@bricejoosten
Copy link
Copy Markdown

bricejoosten commented May 27, 2025

@nnmrts

See

* https://www.w3.org/community/css4/

* [[css-next] Adoption of the logo created by the CSS Next CG w3c/csswg-drafts#11193](https://github.com/w3c/csswg-drafts/issues/11193)

Oh ok, I didn't know.... It seems that when you're not working on a language for a bit of time, things live by themselves and evolve so I'm happy to see it was just me who was left behind, so many knowledge to catch up. Thanks for the information.

@nnmrts
Copy link
Copy Markdown

nnmrts commented May 27, 2025

Also, AFAIK, @argyleink is the "connecting" person, who is both in the "official" CSS WG and the CG, but maybe they can elaborate more. I do agree the relationships and who has a say on what are not entirely obvious but then again that's kind of a logical consequence of the web standards space and especially W3C being mostly open and open source.

@anderspk
Copy link
Copy Markdown

Whatever the case, I don't think anyone would be bothered by the icon change if the letters were actually legible, rather than a jumble of pixels. Like, I'm used to seeing the icon now, so I associate it with css, but I really think scaling-viability should be taken into consideration when implementing icons from logos.

@nnmrts
Copy link
Copy Markdown

nnmrts commented May 27, 2025

Look at the PR I linked above, they made a favicon (more legible) version as well. Main issue is that this project is using dark letters instead of white ones.

@argyleink
Copy link
Copy Markdown

Why was this approved with dark letters?

it appears the colors used arent per the accessibility guidelines in the logo repo; the text should be white not black. if black text is desired, use the white logo.

also, consider the "small" variant which spans the letters across the whole box: https://github.com/CSS-Next/logo.css/blob/main/css.dark.small.svg, this will increase legibility at the small size the logo is rendering.

@lucas-labs
Copy link
Copy Markdown
Member

The reason we used black text is to make the overall design of this icon theme feel cohesive. Using white text would "break the visual harmony" of the theme, as all other icons use black text.

image

Note: It's not actually black — it's negative space, so it takes on the background color of your chosen VSCode theme.

Also, mathematically, it's not possible to keep this icon pixel-perfect while adding a 1px separation between the three characters. We're fitting 3 characters at 3px each inside a 10px viewbox. That only leaves 1px of extra space, not 2. So adding space between characters could actually reduce legibility due to blurring.

That said, PRs are welcome — if someone has a better alternative that improves the design, we're always happy to review it 😊

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

icons PR with new icons

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Icon Request]: new official CSS icon