ФорумРазработкаКлиентская сторонаВерстка и оформление → Хак <body class="ie">

Хак <body class="ie">

  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 5 октября 2009 г. 9:00

    Не нашел было ли здесь про такой приём, поэтому описываю: хак комбинирует условные комментарии и наследование селекторов в CSS
    В HTML:

    <!–[if (!IE) | (gt IE 7)]><!–><body><!–><![endif]–>
    <!–[if IE 7]><body class="ie ie7"><![endif]–>
    <!–[if IE 6]><body class="ie ie6"><![endif]–>

    Здесь для IE6 получим два класса ie и ie6
    для IE7 получим два класса ie и ie7
    для IE8 не будет класса, он вродебы более-менее соответствует стандартам.
    в CSS что-нибудь вроде:

    .ie6 #wrapper { display: inline-block; }

    Не надо ковбойских скачек c "* html" или "/*\*/" (блят* не могу запомнить как там правильно).
    С нормальными селекторами всё выглядит пристойно.

    Little offtopic: на Sass может выглядеть еще интереснее:

    // hack to compensate for IE and percentage widths rounding errors
    .ie
    #topbar
    :width = !inner-width + 0.6%
    #mid-center
    :width = !inner-middle-width - 0.2%

    // for IE6
    .ie6
     #wrapper
       :display inline-block
    ιιlllιlllι унц-унц
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz 5 октября 2009 г. 11:49, спустя 2 часа 49 минут 3 секунды

    а не проще добавлять класс яваскриптом?
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 5 октября 2009 г. 11:56, спустя 7 минут 28 секунд


    а не проще добавлять класс яваскриптом?
    +1
    Сапожник без сапог
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 5 октября 2009 г. 12:22, спустя 25 минут 43 секунды

    походу вы простых путей не ищете
    ιιlllιlllι унц-унц
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 5 октября 2009 г. 13:04, спустя 41 минуту 43 секунды


    походу вы простых путей не ищете
    мы тебе простой путь и предлагаем …

    считаю вот ЭТО! лучшим хаком.

    http://chernev.ru/css-xak-pod-lyuboj-brauzer-legko.html

    плюсы:
    - лаконично
    - ненадо учить доп синтаксис
    - валидно
    - отсеивает уебков пользователей

    Сапожник без сапог
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 5 октября 2009 г. 13:20, спустя 15 минут 59 секунд

    "любой" браузер не нужен. есть соответствующие стандартам и есть IE. помоему все настолько очевидно, что не надо ничего доказывать.
    про доп. синтаксис ты загнул. я sass упомянул только чтобы "завернуть траффик" :) а суть приёма та же, что и в вашем ёбан*м джаваскрипте, только без скрипта.

    ιιlllιlllι унц-унц
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 5 октября 2009 г. 13:46, спустя 26 минут 2 секунды


    "любой" браузер не нужен. есть соответствующие стандартам и есть IE. помоему все настолько очевидно, что не надо ничего доказывать.
    про доп. синтаксис ты загнул. я sass упомянул только чтобы "завернуть траффик" :) а суть приёма та же, что и в вашем ёбан*м джаваскрипте, только без скрипта.


    так без скрипта … вобщем я думаю что нативно правильно - css хаки на уровне самих хаков.

    остальное - все яваскрипт :)

    ведь <!–[ IF ie] по сути тоже скриптовая вещица … она многое поддерживает так то)
    Сапожник без сапог
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 5 октября 2009 г. 14:50, спустя 1 час 4 минуты 34 секунды

    А не пофигу ли будут хаки в файле стилей (если он таки валидный) или будет нужный файл подгружаться условными комментариями ?! Главное чтоб корректно работало, и юзеры оставались довольны… даже те, как Дуд сказал, уебки пользователи (хотя чаще всего виноваты в таких случаях не они, а руководство, жлобящееся на нормальное ПО).
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz 5 октября 2009 г. 18:25, спустя 3 часа 34 минуты 44 секунды

    - отсеивает уебков пользователей

    самое главное
    Спустя 97 сек.
    в восьмом не пашет ваша <!–[ IF ie]
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 6 октября 2009 г. 6:07, спустя 11 часов 41 минуту 59 секунд

    она и не должна :)
    ιιlllιlllι унц-унц
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz 6 октября 2009 г. 10:43, спустя 4 часа 35 минут 53 секунды

    artoodetoo, это было для дуда
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 6 октября 2009 г. 10:48, спустя 4 минуты 42 секунды


    artoodetoo, это было для дуда
    я предложил яваскрипт и буду с ним работать дальше :)

    это оочень удобно

    body.ie6 .target {width: 600px}

    и все нахуй!)
    Сапожник без сапог
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 22 ноября 2009 г. 11:53, спустя 47 дней 2 часа 5 минут

    Чернев только на основе user-agent'а расставляет классы. Считаю это некорректным. Нужно проверять по технологиям.
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 22 ноября 2009 г. 11:58, спустя 5 минут 45 секунд

    ИМХО, хорошая идея, чего вы набросились.
    Действительно лаконично, надежно и по сути является законным синтаксисом, а не хаком.
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 22 ноября 2009 г. 12:10, спустя 11 минут 26 секунд


    ИМХО, хорошая идея, чего вы набросились.
    Действительно лаконично, надежно и по сути является законным синтаксисом, а не хаком.
    да, это ахуенный метод :)
    Сапожник без сапог

Пожалуйста, авторизуйтесь, чтобы написать комментарий!