Центр выравнивания текста подвергается воздействию элементов с плавающей точкой
У меня есть два элемента float, справа и слева.
Родительский элемент для всех из них является text-align: center, margin: auto.
Пожалуйста, смотрите здесь:
http://jsfiddle.net/KRWNs/
Если вы видите текст 1., там находится центр. 2. Текст перемещается (будучи затронутым от элементов float) влево, как вы можете видеть, и не является центром.
Как я могу сделать это выравнивание как нормальное выше (как текст 1.), без влияния элементов float на правой и левой стороне?
спасибо вперёд
Ответы
Ответ 1
Вам нужно использовать что-то другое, кроме float, чтобы привязать элементы к бокам. Как бы то ни было, они ведут себя так, как должны. Здесь обновленный пример, используя абсолютное позиционирование, чтобы придерживаться сторон. Однако очень длинный контент не будет чтить элементы.
В качестве альтернативы, как показано в этот тест, вам необходимо убедиться, что оба поплавка имеют одинаковую ширину.
Тот факт, что внешний элемент является "margin auto", не имеет значения.
Ответ 2
Если вы не можете играть с абсолютными позициями, как в моем случае, так как я работаю над печатаемой страницей и абсолютным выводит весь контент из страницы, вы можете играть с полями.
Просто напишите, что вы хотите в разных строках, а затем для контента, который хотите выровнять вправо/влево, добавьте отрицательный верхний край (или снизу, если вы написали его вверху).
Используя пример Phrogz:
<div class="test">
<div id="s0">
1. text<br />
2. text
</div>
<div id='s1'>999</div>
<div id='s2'>Follow me</div>
</div
с помощью css:
.test{
width: 500px;
text-align: center;
background: yellow;
line-height: 18px;
}
#s1 { text-align: right; margin-top: -18px; }
#s2 { text-align: left; margin-top: -18px; }
Вы можете увидеть рабочий пример здесь