#css #reactjs #material-ui
#css #reactjs #material-ui
Вопрос:
У меня есть две кнопки в диалоговых действиях, подобные этому.
JSX, который у меня есть, следующий:
<DialogActions classes={{ root: classes.dialogActionsLeft }}>
<Button
autoFocus
onClick={() => {
setOpen(false);
}}
>
Cancel
</Button>
<Button
onClick={() => {
setOpen(false);
navigate("/");
}}
>
Finish
</Button>
</DialogActions>
И CSS, который у меня есть, это:
const useStyles = makeStyles((theme) => ({
dialogActionsLeft: {
"amp;:nth-child(1)": {
justifyContent: `flex-start`
}
}
}));
Если псевдоселектора там нет, обе кнопки будут выровнены по левому краю, а если он есть, обе кнопки останутся выровненными по правому краю. Это говорит мне, что я неправильно использую псевдоселектор, но я не могу понять, как это исправить
Ответ №1:
Вам нужно выровнять обе кнопки по левому краю? Если это так, попробуйте amp;:nth-child(n)
.
Обновить
Вы также должны указать justifyContent для dialogActionsLeft .
dialogActionsLeft: { justifyContent: 'space-between', 'amp;:nth-child(1)': { justifyContent: flex-start, } }
Комментарии:
1. Нет, мне нужно, чтобы первая кнопка была выровнена по левому краю, а вторая кнопка выровнена по правому краю.
2. Вы также должны указать justifyContent для dialogActionsLeft . ` dialogActionsLeft: { justifyContent: ‘пробел между’, ‘amp;:n-й дочерний элемент (1)’: { justifyContent:
flex-start
, } }`3. Рад это слышать. Я отредактировал свой ответ. Если вы можете, примите это как ответ. Если нет, не беспокойтесь.