В течение многих лет Visual Studio.NET предлагала «абсолютное позиционирование» для ASP.NET, благодаря чему вы можете перетаскивать элементы управления на холст конструктора, где бы вы их ни хотели. Тем не менее, всегда были сильные советы не, чтобы использовать эту функцию. Вместо этого, общая мудрость говорит, что вы должны использовать «Flow layout», потому что, если вы будете использовать «абсолютное позиционирование» VS.NET, ваш экран не будет отображаться правильно для пользователей, разрешение которых отличается от вашего.В чем проблема с «абсолютным позиционированием» Visual Studio.Net и как эта проблема устранена «абсолютным позиционированием» CSS?
Однако, это старый совет. Некоторое время назад CSS вышел с возможностью выполнять «абсолютное позиционирование» стандартным образом, и большинство или все браузеры догнали CSS и правильно выполнили позиционирование CSS (или, по крайней мере, достаточно).
Таким образом, рекомендуемая практика состоит в том, чтобы позиционировать элементы, используя абсолютное позиционирование CSS.
Вопрос: Что делает CSS правильно об абсолютном позиционировании, что Visual Studio делает неправильно? Как абсолютное позиционирование CSS может быть в порядке даже для пользователей с разными разрешениями экрана, в то время как Visual Studio.NET не может?
ОБНОВЛЕНИЕ: Ответы здесь прояснили вопрос для меня. Вот как я резюмирую его:
- Возраст ранее, VS.NET по умолчанию использовал абсолютное позиционирование для всего. Вот как VB работал со своего начала (что означало, что приложения Windows до того, как существовала даже сеть), и VS.NET был создан так, чтобы чувствовать себя подобно VB.
- Однако, используя абсолютное позиционирование для всего, что есть на веб-странице, есть очень плохая идея. См. Один из ответов ниже для некоторых конкретных примеров из .
- С помощью абсолютного позиционирования для каждый контроль над веб-приложение страница такая плохая идея, все, что советы по использованию «раскладку Flow» возникли. Это был способ работы с VS.NET без абсолютно позиционирование всего.
- Теперь, когда CSS настолько зрелый и широко поддерживаются, и является предпочтительным механизма для позиционирования и внешнего вида, он все еще CRAZY к абсолютно позиционировать все, и по тем же причины. Большинство предметов должно быть допущено к положению самим «в потоке». Тем не менее, для некоторых элементов здесь и там, абсолютное позиционирование CSS может сделать смысл.
- Механизм VS.NET всегда использовал для выполнения абсолютного позиционирования фактически встроенные стили CSS.
Отлично, что все это прояснилось. Благодарю.
* «Итак, рекомендуемая практика состоит в том, чтобы позиционировать элементы с использованием абсолютного позиционирования CSS» * - рекомендован кем? VS.NET имеет * всегда * реализованное абсолютное позиционирование для ASP.NET с использованием CSS, по той простой причине, что CSS - единственный способ добиться абсолютного позиционирования в HTML-документе. (Позиционирование CSS предшествует ASP.NET на несколько лет.) – NickFitz
Ну, может быть, я ошибаюсь. Я понимаю, что общее веб-сообщество (за пределами мира Microsoft) рекомендует использовать позиционирование CSS. Эти элементы HTML должны передавать структуру, а не позиционирование или внешний вид. Затем позиционирование должно выполняться с помощью CSS.Кроме того, я понимаю, что более крупные организационные элементы страницы должны быть позиционированы с помощью абсолютного позиционирования CSS. Например, эта ссылка recc использует CSS-P вместо табличного расположения: http://webdesign.about.com/od/css/a/aa102102a.htm. –