Ваш вопрос связан с основами HTML. Есть block
elements и inline
elements. Элементы уровня блока, по самой своей природе, всегда будут занимать всю ширину их содержащего элемента. Единственный способ изменить это через CSS.
Если вы хотите обернуть слово и только то, что работаете, в цвете границы или фона, вам нужно использовать встроенный элемент. Например:
div,
span {
border: 1px solid blue;
}
<div>Test</div>
<span>Test</span>
Вопрос об использовании margin: 0 auto
и почему он не центр, потому что вам нужно указать ширину. Чтобы центрировать текст с полной шириной DIV, вам необходимо применить text-align: center;
. Таким образом, вам не нужно беспокоиться о переменной длине текста.
div {
text-align: center;
}
<div>
Test
</div>
Если вы хотите стилизовать ни одного слова и центрирования его в DIV просмотреть фрагмент ниже:
div {
text-align: center;
}
span {
border: 1px solid blue;
}
<div>
<span>Test</span>
</div>
Другим вариантом было бы , если вы хотите, чтобы центрированный текст занимал только часть содержащего e lement, но по-прежнему быть в центре вы могли бы сделать что-то вроде этого:
.wrap {
width: 50%;
margin: 5px auto;
border: 1px solid blue;
text-align: center;
}
<div>
<div class="wrap">
Test
</div>
<div class="wrap">
Test Test Test Test Test Test Test Test Test Test Test Test Test Test
</div>
</div>
Поскольку один блочный элемент, а другой является встраиваемой. – Nit