https://codesandbox.io/s/7p4ryw691
const styles = theme => ({
root: {
// flexGrow: 1,
width: "100%",
// flex: 0,
textTransform: "capitalize"
// backgroundColor: theme.palette.background.paper
// backgroundColor: 'red'
},
sportsAdvancedSearch: {
// backgroundColor: 'green'
color: "red",
fontSize: 16,
fontWeight: "bold"
},
sportsTotalNumber: {
fontWeight: "bold"
},
sportsExportContainer: {
paddingTop: 8,
paddingBottom: 8
},
indicator: {
backgroundColor: "red"
},
tabsIndicator: {
backgroundColor: "red",
textTransform: "capitalize"
},
tabRoot: {
textTransform: "initial",
width: "100%",
display: "block",
"&:hover": {
color: "red",
opacity: 1,
textTransform: "initial"
},
"&$tabSelected": {
color: "red",
fontWeight: theme.typography.fontWeightMedium,
textTransform: "capitalize"
},
"&:focus": {
color: "red",
textTransform: "capitalize"
}
},
tabSelected: {},
sportsHeading: {
fontSize: 32,
fontWeight: "bold",
padding: 16
},
sportsTabHeader: {
// border: "1px solid red",
backgroundColor: "#f5f5f5"
},
alignment: {
display: "block"
// color: 'red'
}
});
<Tabs
value={value}
onChange={this.handleChange}
scrollable
scrollButtons="on"
classes={{ indicator: classes.tabsIndicator }}
>
<Tab
label="phone"
icon={<PhoneIcon style={{ display: "block" }} />}
classes={{
root: classes.tabRoot,
selected: classes.tabSelected,
wrapper: classes.alignment
}}
/>
<Tab
favorites={favorites}
label="Favorites"
icon={<FavoriteIcon style={{ display: "block" }} />}
classes={{
root: classes.tabRoot,
selected: classes.tabSelected,
wrapper: classes.alignment
}}
/>
</Tabs>
答案 0 :(得分:2)
将第331行更改为:
icon={<PhoneIcon style={{ display: "inline-block", marginBottom:"-10px" }} />}
这是因为svg具有块显示,并且将文本压在下面。您可以在那边玩边距,然后将其放置在任意位置。
答案 1 :(得分:1)
这可以成功地水平对齐标签文本和标签图标,而不会干扰Tabs / TabPanel功能。
Content-Disposition: attachment; filename="file_name.pdf"
只需将其添加到标签页组件附带的CSS中即可。
<Tab label= {<div><HomeIcon style = { {verticalAlign : 'middle'} } /> Home </div>}/>
别忘了添加'!important',因为我们正在覆盖mat-UI提供的预定义类.MuiTab-wrapper {
flex-direction: row !important;
}
,因此在没有'!important'的重载后可能无法正常工作。
作为旁注,
如果在div内包含图标和选项卡,并添加一些CSS使其对齐,则可以使用,但是,您将失去material-UI开箱即用的Tabs / TabPanel功能。
如果您不介意该功能,可以尝试一下。
.MuiTab-wrapper
希望这会有所帮助!
答案 2 :(得分:0)
尝试内联阻止
display: inline-block;
答案 3 :(得分:0)
更改:
alignment: {
display: "block"
// color: 'red'
}
至:
alignment: {
display: "flex",
flexDirection: "row"
// color: 'red'
}
只是尝试过。可以。
Flex布局可以轻松处理所有浏览器!
编辑:
更新了带有标签宽度的小提琴:https://codesandbox.io/s/82ynv5qwy9
更改:
1。
classes={{
indicator: classes.tabsIndicator,
scrollButtons: { display: "flex", flex: 1 }
}}
2。
tabRoot: {
textTransform: "initial",
width: "stretch",
display: "flex",
flex: 1,
答案 4 :(得分:0)
<Tab label={<><div>Some other label<Icon/></div></>}/>