Я работаю над веб-страницей в ASP.Net/C#, которая использует абсолютное позиционирование для текстового поля, на самом деле для нескольких. Он работал нормально, пока я не добавил еще несколько текстовых полей. То есть существующие текстовые поля по-прежнему располагаются правильно, а новые - нет, несмотря на то, что я создал новые стили в CSS для них, как и для других. Экзамен ниже:
.pieceBox {
position: absolute;
top: 425px;
left: 133px;
background-color: White;
color: Black;
width: 132px;
font-weight: bold;
text-align: center;
}
Идентичные стили в одном файле CSS (конечно, с разными именами) как над, так и под ним работают нормально. Я проверил, дважды и трижды проверил имя стиля в атрибуте CssClass, и оно верное. Однако независимо от того, что я делаю, включая присвоение ему нового имени, копирование старых записей, их переименование и т. д., Эти три новых текстовых поля располагаются вверху страницы, тогда как остальные отображаются в их правильных абсолютных положениях. . Я посмотрел на исходную страницу aspx и убедился, что их нет в каком-то другом DIV и т. д. Я нахожусь в своем уме. На данный момент я придумал обходной путь, но я не хочу его оставлять (включает программное создание некоторого HTML внутри Asp: Literal.)
Я проверил полученный источник (через источник просмотра IE), и класс правильно установлен в результирующем HTML.
Еще одна вещь, если это имеет значение; этот проект веб-сайта изначально был создан в VS 2005 и преобразован в формат VS 2008. Не то чтобы это имело значение, но подумал, что упомяну об этом.
Кто-нибудь еще испытывал подобное поведение?





Трудно объяснить подобные проблемы, если фактический код не предоставлен, но я предполагаю, что у вас проблемы с новыми элементами управления, которые не используют те же родительские контейнеры, что и старые.
Вы проверили правила CSS, которые применяются к родительским контейнерам правильно работающих текстовых полей? Обычно они должны быть установлены на "position: relative;" если вы хотите, чтобы ваши дочерние элементы управления были выровнены в соответствии с ними.
Также убедитесь, что проблема с макетом не возникает из-за перекрытия элементов управления, т.е. два текстовых поля могут иметь одинаковые или близкие позиции, а затем одно перекрывает другое.
В любом случае, если вы хотите правильное и прямое решение вашей проблемы, я бы посоветовал вам опубликовать часть вашего кода.
Если у вас есть абсолютно позиционированные элементы, у которых есть родительский элемент, который позиционируется абсолютно или относительно, они будут позиционировать себя относительно своего контейнера, а не всей страницы.
Другими словами, ваши элементы могут позиционироваться из разных исходных точек.
Используйте расширение Web Developer для Firefox (или эквивалент в IE) для отладки проблем с позиционированием.
Пожалуйста, опубликуйте URL-адрес для примера. Недостаточно подробностей, чтобы сказать из того, что было опубликовано.