#html #css
#HTML #css
Вопрос:
У меня есть span рядом с каждым элементом формы на странице, который показывает ошибку, если она есть. На странице в основном два столбца, левый и правый. Я пытаюсь заставить span отображаться из левого столбца по всей странице (не переносясь на 2-ю строку на границах левого столбца). столбец).
Я некоторое время играл с позиционированием и z-индексами и не могу заставить это работать, поэтому я решил опубликовать jsfiddle, чтобы посмотреть, может ли кто-нибудь помочь пролить свет:
Ответ №1:
.one_third, .two_third {
float:left;
margin-bottom:10px;
margin-right:40px;
}
.formerror {
position: absolute;
width: auto;
left: 320px;
top: 45px;
border: 1px solid #FF7878;
background-color: #FFBABA;
padding:4px 6px 4px 6px;
color: #D8000C;
}
Комментарии:
1. Но насколько это можно использовать повторно? Если на странице несколько ошибок, разве они не будут просто накладываться друг на друга? РЕДАКТИРОВАТЬ Я протестировал это с помощью fiddle, и ошибка все еще была завернута!
2. @sdleihssirhc: оно не будет перенесено, если вы увеличите ширину области скрипки «Результат»
3. Ах, ты прав… Но он накладывает сообщения об ошибках друг на друга: jsfiddle.net/zZ7MN/5
4. @sdleihssirhc: его можно использовать повторно, если вы устанавливаете собственные свойства «top» и «left» для каждого сообщения об ошибке. В любом случае, это взлом существующей проблемы. Если бы мне пришлось создавать такое сообщение об ошибке — я бы сделал его поверх поля ввода с меньшим шрифтом, чтобы оно подходило без переноса и не требовалось никакого «абсолютного» стиля 😉
5. Это не работает из-за того, что поле #content равно **margin: 15px auto; ** . Я пытался заставить .formerror отображать 20 пикселей справа от элемента формы (см. Пример, опубликованный Выше)
Ответ №2:
.formerror {
position: absolute;
width: 560px;
overflow: visible;
border: 1px solid #FF7878;
background-color: #FFBABA;
padding:4px 6px 4px 6px;
color: #D8000C;
z-index: 999;
}
Дмитрий был близок, его проблема заключалась в том, что он указывал атрибут left. Когда позиция изменяется на абсолютную, это приводит к перемещению span на N пикселей слева от экрана. Удалите левую часть и дайте вашему span заданную ширину, и он больше не будет переноситься!!
Вот решение в jsfiddle http://jsfiddle.net/zZ7MN/8 /