5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ReactでMaterialUIのmakeStylesで:before、:afterが表示されない

Posted at

はじめに

ReactでMaterialUIのmakeStylesを使用した際に、:beforeと:afterが表示されずに時間を使ったので、メモとして残して置きます。

問題のコード

const useStyles = makeStyles(() => ({
  link: {
    '&::before': {
      background: `url(http://~~~~~) no-repeat`,
      content: ''
    }
  }
}))

上記のコードで問題なくbackgroudに指定した画像がlinkのところで表示されるかと思っていましたが、このコードでは何も表示されません。

## 解決した方法

const useStyles = makeStyles(() => ({
  link: {
    '&::before': {
      background: `url(http://~~~~~) no-repeat`,
      content: '""'
    }
  }
}))

上記のコードでは、contentに'""'を指定しました。
JSの中でCSSを書いているので、contentに''だけではJSの空文字として扱われ、CSSに変換した時content: ""の状態にはならず表示されませんでした。

終わりに

他にもCSSinJSならではハマりどころなどありそうだなと思いました。ハマったら随時メモしていきます。

参考

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?