DIV по сравнению с таблицами или CSS по сравнению с тем, чтобы быть глупым

Я хочу, чтобы form.data['field'] и form.field.value всегда имели одинаковое значение

Это возможно, потому что оно включает декорированные имена и индексирование, т. е. совершенно разные конструкции из названий a и b, о которых вы спрашиваете, и с вашей просьбой совершенно невозможно. Зачем спрашивать о чем-то невозможном и совершенно отличном от (возможного) предмета, который вы на самом деле хотите ?!

Возможно, вы не понимаете, насколько радикально разные имена и декорированные имена. Когда вы ссылаетесь на barename a, вы точно получаете объект a, последний связанный в этой области (или исключение, если оно не было связано в этой области) - это такой глубокий и фундаментальный аспект Python, что он не может быть искажен. Когда вы ссылаетесь на имя украшенное x.y, вы запрашиваете объект (на который ссылается объект x), чтобы указать «атрибут y» - и в ответ на это запрос, объект может выполнять полностью произвольные вычисления (и индексирование очень похоже: оно также позволяет выполнять произвольные вычисления в ответ).

Теперь ваш пример «фактического желаемого» таинственен, потому что в каждом случае два уровни индексации или получения атрибутов, поэтому тонкость, которую вы жаждете, может быть введена разными способами. Какие еще атрибуты form.field предполагается иметь, например, помимо value? Без дополнительных .value вычислений возможности включали бы:

class Form(object):
   ...
   def __getattr__(self, name):
       return self.data[name]

и

class Form(object):
   ...
   @property
   def data(self):
       return self.__dict__

. Наличие .value предполагает выбор первой формы, а также вид -useless wrapper:

class KouWrap(object):
   def __init__(self, value):
       self.value = value

class Form(object):
   ...
   def __getattr__(self, name):
       return KouWrap(self.data[name])

Если присваивания такие form.field.value = 23 также должны установить запись в form.data, тогда обертка должна стать более сложной, а не все это бесполезно:

class MciWrap(object):
   def __init__(self, data, k):
       self._data = data
       self._k = k
   @property
   def value(self):
       return self._data[self._k]
   @value.setter
   def value(self, v)
       self._data[self._k] = v

class Form(object):
   ...
   def __getattr__(self, name):
       return MciWrap(self.data, name)

Последний пример примерно такой же близкий, как и в Python, к понятию «указатель», как вам кажется, - но важно понять, что такое тонкости могут работать только с индексированием и / или декорированными именами , никогда с именами баров, как вы изначально задавали!

53
задан Peter Mortensen 18 December 2009 в 10:54
поделиться

12 ответов

Существует CSS Сетки Yahoo, который может сделать все виды вещей.

, Но помните: CSS НЕ ЯВЛЯЕТСЯ РЕЛИГИЕЙ . При сохранении часов при помощи таблиц вместо css сделайте так.

Один из угловых случаев я никогда не мог составлять свой ум о, формы. Я хотел бы сделать это в css, но это именно так намного более сложно, чем таблицы.

Вы могли даже утверждать, что формы являются таблицами, в этом у них есть заголовки (маркировки) и данные (поля ввода).

24
ответ дан Stewartside 7 November 2019 в 08:48
поделиться

В Великобритании и в США существует законное требование для одобрения разметок CSS по Таблицам. Оба Раздела 508 (США) и закон о Дискриминации Нетрудоспособности (Великобритания) покрывают стандарты доступности для пользователей с ограниченным видением.

В Великобритании законодательство расширяется, насколько на самом деле сделать его недопустимым для коммерческого создания сайта, который препятствует способности слабовидящего пользователя таким же образом, что это теперь недопустимо для имения магазина с шагом для ввода его и никакой способ для пользователя инвалидного кресла войти - по общему признанию еще не было никакого судебного преследования по доступности веб-сайта. Однако я всегда шел бы с CSS, поскольку это означает, что Ваш дизайн сайта настолько легче поддержать в дальнейшей перспективе.

время Инвестирования в изучении CSS (я использовал школы W3C и.Net Журнал http://www.netmag.co.uk ) окупится.

17
ответ дан Mauro 7 November 2019 в 08:48
поделиться

По-моему, предвзятость должна выступить за CSS по IE6 - т.е. если не будет безумно серьезное основание (например, Ваш сайт только предназначен для людей, использующих IE6, который был бы странный ), лучше 'отчуждать' людей, использующих IE6, а не людей с плохим видением и/или автоматизированными агентами пользователя. Использование IE6 уменьшается; последняя группа увеличивается численно. Даже если Ваш сайт не будет выглядеть прекрасным в IE6, для тех пользователей, вероятно, будет легко считать его, чем основанное на таблице расположение будет для тех, кто не видит его.

Это - очень общий вопрос, таким образом, трудно ответить специфическими особенностями. Две книги, которые являются превосходными ресурсами:

, Если только необходимо провести час, разрабатывая полное расположение сайта, это плохо не идет.

6
ответ дан Bobby Jack 7 November 2019 в 08:48
поделиться

CSS не может быть религией, но это - как браузеры интерпретируют HTML для расположения. Нравится или нет, все современное использование браузеров (некоторая версия) модели поля W3C. Продолжать полагаться на таблицы, продолжают полагаться на методологию, которая является просто неправильной в глазах людей, которые разрабатывают веб-технологию рендеринга.

я знаю, что CSS может казаться ужасно сложным время от времени, но я полагаю, что это - необходимость в этот день, и возраст (доверяйте мне, Ваши клиенты собираются хотеть его).

, Если Вы не чувствуете себя комфортно, не торопясь действительно, изучают CSS (таким образом, Вам требуются секунды или минуты для расположения элементов... не час), тогда необходимо передать разметку кому-то, кто знает, действительно знает фронтенд.

Да, существует много проблем с текущими реализациями браузера CSS, но ничто столь решительное, что необходимо когда-либо чувствовать потребность возвратиться к основанному на таблице расположению. Просто сядьте и не торопитесь, чтобы узнать, что это, как Вы было бы любой другой язык или платформа.

лучший ссылочный ресурс онлайн, который я нашел, является этим: http://reference.sitepoint.com/css

, Но не могло бы повредить смотреть на книгу как Разработка С веб-стандартами , который имеет большое значение в помощи Вам понять, почему этот материал важен.

5
ответ дан Bryan M. 7 November 2019 в 08:48
поделиться

Я также думал, что Проект был большим, пока я не видел YAML (еще одно Многостолбцовое Расположение). Существует инструмент разработчика онлайн , который является фантастическим. Я могу получить прохладно выглядящее многостолбцовое расположение в течение 5 минут

4
ответ дан cnu 7 November 2019 в 08:48
поделиться

Это может быть бесполезно, но я так или иначе не понимаю всех этих проблем, связанных с CSS. Если бы газетный разработчик попытался бы встроить фильм в страницу рекламы, все согласились бы, что он является немного сумасшедшим. Но все еще те те же люди сосна после разметок на три столбца в HTML. HTML просто не склонен обработать этот вид расположения хорошо в данный момент. Кроме того, многостолбцовые разметки являются обычно не действительно подходящими для чтения на компьютерных мониторах. Нет ли достаточно жизнеспособных альтернатив?

И между прочим, даже таблицы не предлагают хороший способ реализовать быстрое расположение столбца, таким образом, это не причина вообще для обращения к таким взломам. Принятие промежуточного современного браузера (т.е.>. MSIE 6), таблицы не предлагают преимуществ перед чистым HTML + CSS, о котором я знаю.

1
ответ дан Konrad Rudolph 7 November 2019 в 08:48
поделиться

Я просто использовал бы таблицу.

, По моему опыту, с помощью таблицы для расположения будет работать, то же во всех браузерах и CSS не будет (особенно, при попытке поддерживать IE6). Это просто не стоит часов и часов кодирования, чтобы заставить расположение работать в CSS, когда это может быть сделано через 10 минут с помощью таблицы.

другое преимущество для использования таблиц состоит в том, что Ваше расположение может очень легко динамично измерить себя к содержанию. Попытка сделать это с CSS является огромным кошмаром.

1
ответ дан 17 of 26 7 November 2019 в 08:48
поделиться

Я нахожу, что существует много ограничений к CSS, которые просто, кажется, подсказывают, что разработчики спецификации не делают веб-сайты для жизни.

HTML-таблицы Использования, если Вы не можете сделать этого легкий в CSS.

Однако некоторые платформы действительно помогают и это всегда более хороший сделать в CSS, если можно управлять им.

1
ответ дан Matt Mitchell 7 November 2019 в 08:48
поделиться

Вы могли бы быть в состоянии найти некоторое вдохновение здесь: http://blog.html.it/layoutgala/

1
ответ дан erlando 7 November 2019 в 08:48
поделиться

Список А Независимо является большой ссылкой для использования семантического HTML, , статья Holy Grail является, вероятно, одним из лучших примеров. Кроме того, проверьте CSS Zen-Garden для некоторого вдохновения по теме или прочитайте превосходную книгу Dave Shea "Дзэн CSS Дизайн".

1
ответ дан Eric DeLabar 7 November 2019 в 08:48
поделиться

Вы используете CSS для расположения, потому что не только он, семантически исправляют, но и потому что таблицы имеют несколько недостатков.

Таблицы ужасны для доступности, потому что они повреждают почти все программы экранного доступа, который в свою очередь дает слабовидящую бесполезную информацию из-за способа, которым читаются таблицы.

Они также представляют намного медленнее, чем их дубликаты CSS. Таблицы должны быть оттянуты дважды, однажды для расположения, и снова для содержания. Это может означать что, если у Вас есть удаленное изображение или два на сервере с медленным соединением, которое не представит Ваше ВСЕ РАСПОЛОЖЕНИЕ.

Вы использовали бы массив для хранения словаря, когда у Вас есть hashmap? Нет. И Вы не должны использовать таблицу, когда существует что-то там, которое работает лучше.

1
ответ дан 7 November 2019 в 08:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: