Приемлемый CSS взламывает/устраняет

В Python с пандами.

from io import StringIO
import pandas as pd
csvfile=StringIO(""""REG","PROV","COM","AMMOUNT"
1,11,111,213123
1,11,111,645573
1,12,112,545455
1,12,112,167442
1,13,113,767436
1,13,123,231653
1,13,133,124674
2,21,211,876534
2,21,212,439324
2,21,212,872364""")

df=pd.read_csv(csvfile)


for n, g in df.groupby(['REG','PROV','COM']):
    g.to_csv('reg-'+str(n[0])+'_prob-'+str(n[1])+'_com-'+str(n[2])+'.csv')

Вывод справочника:

01/15/2019  02:19 PM                61 reg-1_prob-11_com-111.csv
01/15/2019  02:19 PM                61 reg-1_prob-12_com-112.csv
01/15/2019  02:19 PM                42 reg-1_prob-13_com-113.csv
01/15/2019  02:19 PM                42 reg-1_prob-13_com-123.csv
01/15/2019  02:19 PM                42 reg-1_prob-13_com-133.csv
01/15/2019  02:19 PM                42 reg-2_prob-21_com-211.csv
01/15/2019  02:19 PM                61 reg-2_prob-21_com-212.csv
               7 File(s)            351 bytes
7
задан 10 revs, 5 users 100% 19 March 2015 в 11:00
поделиться

11 ответов

Это - хорошее место для хорошо зарегистрированных и хорошо протестированных ошибок браузера, и взломы позволяют Вам работать вокруг них:

http://www.positioniseverything.net/

4
ответ дан 6 December 2019 в 06:26
поделиться

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

10
ответ дан 6 December 2019 в 06:26
поделиться

Я использовал веб-сайт Peter-Paul Koch "QuirksMode" много для проблем, включающих CSS и перекрестную совместимость браузера. Он склонен осуждать определенные для браузера методы, но у него действительно есть страница на Взломах CSS.

4
ответ дан 6 December 2019 в 06:26
поделиться

Nicole Sullivan (иначе Stubbornella), кто работает на команду Работы Yahoo, предложенную в Этих 7 Привычках для Исключительного Перфекта, что необходимо использовать взлом подчеркивания CSS для исправления ошибок IE6 потому что:

  • Взломы должны быть немногочисленными.
  • Если у Вас только будет 5-6 взломов (который уже является много), затем, это не имело бы смысл, размещающий тех, которые во внешнем файле и таким образом разделяющий его от его контекста.
  • Дополнительный файл привел бы к потерям производительности (Лучшие практики Yahoo, Правило 1).

Нужно однако отметить, что это не действительный CSS.

3
ответ дан 6 December 2019 в 06:26
поделиться

Нет такой вещи как польза, чистая/приемлемая [CSS], взлом - всегда кодирует к Стандартам и затем использует browser+version определенные таблицы стилей для любых взломов, требуемых заставить вещи работать.

Например:
default.css
default.ie6-fix.css
default.ie7-fix.css
default.ff2-fix.css
и т.д.

Затем когда новая версия браузера выпущена, копирует взломы предыдущей версии и удаляет биты, которые больше не применяются (и добавьте новые биты, при необходимости).

(Загрузите отдельные таблицы стилей с помощью Условных Комментариев для IE и сниффинга агента пользователя для других браузеров.)

2
ответ дан 6 December 2019 в 06:26
поделиться

Взлом подчеркивания для IE6-материала работает вполне хорошо, например.

min-height:50px;
_height:50px;

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

1
ответ дан 6 December 2019 в 06:26
поделиться

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

Люди упомянули условные комментарии, которые являются замечательными для обработки IE. Но Вам будет нужен немного больше для обработки всех браузеров (мобильный, геккон, WebKit, опера, и т.д.). Обычно Вы будете анализировать заголовки входящего запроса для выборки типа браузера и версии от параметрического усилителя Агента пользователя. На основе этого можно начать загружать файлы CSS.

Я живо способ, которым большинство из нас делает это:

  • Сначала разрабатывая для одного совместимого стандартами браузера (позволяют нам взять FF, например),
  • После того как CSS завершен, Вы приближаетесь к поддержке providig IE (это может быть легко сделано с условными комментариями, как доступно упомянуто),
    • Сначала создайте файл CSS, который точно настроит все для IE6 и любой другой версии ниже
    • Затем создайте файл CSS, который обработает все для IE7
    • Наконец, создайте файл CSS, который обработает все для версий IE IE8 и больше
      • После того как IE9 выходит, удостоверьтесь, что Вы устанавливаете IE8 + обрабатывающий к конкретному IE8, и создаете IE9 + файл CSS с необходимыми мерами
  • Наконец, создайте дополнительный файл CSS для WebKit, фиксирует
    • При необходимости можно также создать дополнительные файлы для специфического предназначения для Chrome или Safari при необходимости

Определенные реализации CSS касающегося браузера, я обычно группа все реализации в моем основном файле CSS (можно легко сделать поиск их и заменить их в одном документе в случае необходимости). Таким образом, если что-то должно быть прозрачным, я установил и непрозрачность и фильтры (MSIE) в том же блоке. Браузеры просто игнорируют реализации, которые они не поддерживают, таким образом, Ваш сейф. Определенные реализации, которых я был бы склонен избегать, являются пользовательскими реализациями (эй, мне нравится-moz поле выше W3C один, но я просто не хочу полагаться на него).

Когда это идет с наследованием CSS и переопределением, Вы не должны переопределять все объявления CSS и определения в каждом файле CSS. Каждый последовательно загруженный файл CSS должен только содержать селекторные и определенные определения, требуемые для фиксации и ничего иного.

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

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

1
ответ дан 6 December 2019 в 06:26
поделиться

Centricle имеет хороший список взломов CSS и их совместимости.

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

1
ответ дан 6 December 2019 в 06:26
поделиться

При определении правил я нахожу, что это хороший для разрешения естественной неисправности происходит, например, в CSS3 существует поддержка Цветовых моделей RGBA, но нет в CSS2, таким образом, я делаю:

 background-color: #FF0000; 
 background-color: rgba( 255,0,0, 50% );

Так, чтобы, когда более позднее правило перестало работать на более старых браузерах, которые не поддерживают его, оно ухудшилось к ранее определенному стилю.

0
ответ дан 6 December 2019 в 06:26
поделиться

Я предпочитаю глобальный условный метод комментария, описанный Hiroki Chalfant;

Я нахожу полезным сохранить мои предназначенные IE правила бок о бок с моими предназначенными стандартов правилами в единственной действительной таблице стилей.

0
ответ дан 6 December 2019 в 06:26
поделиться

Эта статья является хорошим обзором CSS-взломов: http://www.webdevout.net/css-hacks

1
ответ дан 6 December 2019 в 06:26
поделиться
Другие вопросы по тегам:

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