Да, можно центрировать элемент на странице с помощью CSS (на странице, которая отличается от всего окна браузера).
Я не в Reactjs, но вы можетепопробуйте изменить свой код следующим образом:
const styles = (theme: Theme) => {
return ({
display: {
transition: theme.transitions.create('transform')
},
displayHighlight: {
transform: 'translate(-50%,-50%)',
position: 'fixed',
top: 50%,
left: 50%,
zIndex: 10,
transition: theme.transitions.create('transform')
}
}) as any;
}
Вы можете центрировать элемент на странице со следующими свойствами CSS:
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
То, что это делает, центрирует верхний левый уголваш контейнер в центре экрана, а затем используйте transform: translate(-50%,-50%)
, чтобы переместить центр элемента туда, где раньше находился его верхний левый угол: в центре страницы.
Трудная часть будетдобиться плавного перехода от начального position: relative
к position: fixed
.