Home > OS >  Scss classnames with special symbols like "[]"
Scss classnames with special symbols like "[]"

Time:02-07

This is a strange question. I request link type from server which might return "[TCP]" or "[UDP]". And I wanna use the string as classname directly for different background color like. What I want is :

<div className={`${styles.span} ${styles["[TCP]"]}`}/>

But the css selector ".[TCP]" is not allowed, below error given:

SassError: Invalid CSS after "&": expected selector, was ".[TCP]"

Now I am using .replace(/\[|\]/g,"") split the string "[TCP]" --> "TCP". But I hope someone can tell me another way or it's impossible.

CodePudding user response:

"You can use [TCP] as classname."

As written here (demo) you can use any character for classname except NULL. All you have to do is in CSS write \ before special characters. In your case, it would look like this .\[TCP\].

But I believe it's much easier to just remove the special characters.

  •  Tags:  
  • Related