✨
MUIのTabs, Tabのスタイルを変えてみた
'use client';
import { styled } from '@mui/material';
import Tabs from '@mui/material/Tabs';
import Tab from '@mui/material/Tab';
import { useState } from 'react';
import { Opacity } from '@mui/icons-material';
// スタイルを適用したTabコンポーネントを作成
const StyledTab = styled((props) => <Tab {...props} />)(({ theme }) => ({
'&.MuiTab-root': {
// スタイルを定義
// color: theme.palette.primary.main,
// fontWeight: 'bold',
color: '#000000',
},
'&.Mui-selected': {
// 選択時のスタイルを定義
color: '#000000',
fontWeight: 'bold',
},
}));
// スタイルを適用したTabsコンポーネントを作成
const StyledTabs = styled(Tabs)({
backgroundColor: '#f5f5f5',
'& .MuiTabs-indicator': {
display: 'none',
// opacity: 0,
// backgroundColor: '#dcdcdc',
},
});
export default function CustomTabs() {
const [value, setValue] = useState(0);
const handleChange = (event, newValue) => {
setValue(newValue);
};
return (
<StyledTabs
value={value}
onChange={handleChange}
indicator={{ backgroundColor: '#dcdcdc' }}
>
<StyledTab label="Tab 1" />
<StyledTab label="Tab 2" />
<StyledTab label="Tab 3" />
</StyledTabs>
);
}
考察
- 別プロジェクトでTabのスタイルがうまく効かなかったのは、グローバル環境のthemeの設定の問題の可能性があるので確認する
- とはいえ、display: 'none'は試してなかったのでやってみる
Discussion