Можно ли центрировать элемент встроенного блока, и если да, то как?
у меня есть элемент изначально неизвестной ширины, в частности, уравнение MathJax, предоставленных Пользователем. У меня есть элемент, установленный как встроенный блок, чтобы гарантировать, что ширина элемента соответствует его содержимому и так, чтобы он имел определенную ширину. Однако этому препятствуют традиционные методы центрирования. То есть, не работает следующее:
.equationElement
{
display: inline-block;
margin-left: auto;
margin-right: auto;
}
и решение не может быть:
.equationElement
{
display: block;
width: 100px;
margin-left: auto;
margin-right: auto;
}
потому что я понятия не имею, что ширина должна быть на самом деле заранее и если пользователь нажимает на уравнение, мне нужно, чтобы все уравнение было выделено, поэтому я не могу установить ширину в 0. У кого-нибудь есть решение для центрирования этого уравнения?
3 ответа:
другой способ сделать это (работает и для блочного элемента):
.center-horizontal { position: absolute; left: 50%; transform: translateX(-50%); }
объяснение: слева:50% будет позиционировать элемент начиная с из центра содержания родителя, так что вы хотите потяните его назад на половину его ширины с transform: translateX (-50%)
Примечание1: Обязательно установите положение содержащего родителя в положение: относительное; если родитель абсолютно расположен, поместите 100% ширину и высоту, 0 отступов и поля div внутри него и дайте ему положение: относительное
примечание 2: также может быть изменен для вертикального центрирования с
top:50%; transform: translateY(-50%);