Jump to content

css hack`s :: поговорим о хаках


klierik
 Share

Recommended Posts

Я уже говорил в какой то теме и вообще считаю, что если ты в своей стихии, как рыба в воде, то тебе не понадобятся никаких хаков и не табличных таблиц, надо учиться , тренироваться и постоянно развиваться по своей теме, тогда не будет никаких проблем с любым броузером, даже с поганым ИЕ, кастати, я более менее перевариваю IE7, а IE6 просто ненавижу, одни мучения с этим ослом, когдаж правда эта 8-ми летняя зараза нас наконец покинет?

Link to comment
Share on other sites

  • Replies 76
  • Created
  • Last Reply

Top Posters In This Topic

Я уже говорил в какой то теме и вообще считаю, что если ты в своей стихии, как рыба в воде, то тебе не понадобятся никаких хаков и не табличных таблиц, надо учиться , тренироваться и постоянно развиваться по своей теме, тогда не будет никаких проблем с любым броузером, даже с поганым ИЕ, кастати, я более менее перевариваю IE7, а IE6 просто ненавижу, одни мучения с этим ослом, когдаж правда эта 8-ми летняя зараза нас наконец покинет?

Вот пока они нас не покинут, и будут нужны хаки и таблицы.

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

Link to comment
Share on other sites

rash

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

Несмотря на это всегда стараюсь приблизится к универсальному решению без таблиц, где они явно не предназначены, хотя не всегда получается, но опятьже говорю, что я далеко не профи в этом деле, поэтому мне это простительно, а например у вас rash я уверен с этим делом проблем намного меньше, правда ведь? :rolleyes:

Link to comment
Share on other sites

Имхо, в современном CSS нет ничего, специательно приспособленного для верстки (в смысле раскладки). Float-ы предназначены для врезок, а не колонок, абсолютное позиционирование не позволяет учитывать высоту контента. Так что в широком-философском смысле любая верстка традиционного макета вида "шапка-колонки-подвал" — хоть табличная, хоть блочно-CSS-ная, хоть с применением JS — есть хак :rolleyes:.

Ждем не дождемся поддержки браузерами Advanced Layouts, которые должны хоть как-то изменить ситуацию...

Edited by SelenIT
Link to comment
Share on other sites

rash

Несмотря на это всегда стараюсь приблизится к универсальному решению без таблиц, где они явно не предназначены, хотя не всегда получается, но опятьже говорю, что я далеко не профи в этом деле, поэтому мне это простительно, а например у вас rash я уверен с этим делом проблем намного меньше, правда ведь? :rolleyes:

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

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

В общем, как раз после этого случая мое восприятие таблиц «переломилось». Теперь я уверен, что важна не только чистота кода, но и его надежность и приспособленность к дальнейшей поддержке и доработке.

Ждем css layout model, инструмент, предназначенный для раскладок изначально. Я надеюсь, что он с этой задачей будет справляться лучше тех средств, которые есть сейчас.

Link to comment
Share on other sites

  • 2 weeks later...

Недавно всерьез задумался о фактической бесполезности условных комментов для IE8. Поскольку эта зверюга, не в пример предкам, не только хитро... умная, но еще и дюже самостоятельная в плане переключения своих аж 4-х режимов, а кондовые комменты тупо смотрят на фактический номер версии (который, в свете предыдущего, ни о чем не говорит), есть ли сегодня вообще какой-либо смысл в указании <!-- [if lte IE 7]> и т.п.? При этом *+html что-то, судя по всему, включается именно для режима рендеринга IE7 (неважно, настоящего или IE8-притворщика), т.е. строго когда надо. Получается, однозначно стоит использовать "неофициальный" хак? У кого какие соображения?

Upd. Похоже, я наврал, извиняюсь за ложную тревогу

Edited by SelenIT
Link to comment
Share on other sites

Я всегда использую Два условных комментария:

<!--[if IE 6]>

<link href="css/ie6.css" rel="stylesheet" type="text/css" />

<![endif]-->

<!--[if IE 7]>

<link href="css/ie7.css" rel="stylesheet" type="text/css" />

<![endif]-->

И не парюсь, и планирую это делать до тех пор, пока эти заразы не вымрут окончательно ;):):D

Link to comment
Share on other sites

Недавно всерьез задумался о фактической бесполезности условных комментов для IE8. Поскольку эта зверюга, не в пример предкам, не только хитро... умная, но еще и дюже самостоятельная в плане переключения своих аж 4-х режимов, а кондовые комменты тупо смотрят на фактический номер версии (который, в свете предыдущего, ни о чем не говорит), есть ли сегодня вообще какой-либо смысл в указании <!-- [if lte IE 7]> и т.п.? При этом *+html что-то, судя по всему, включается именно для режима рендеринга IE7 (неважно, настоящего или IE8-притворщика), т.е. строго когда надо. Получается, однозначно стоит использовать "неофициальный" хак? У кого какие соображения?

Соображения приблизительно такие:

[if IE], а дальше уже в подключаемом файле можно делать все, что хочется и нужно :-)

Link to comment
Share on other sites

psywalker, так в том-то и дело, что теперь <!--[if IE 7]> ничего не гарантирует — в таком же режиме сайт может отображать и IE8, причем по независящим от автора сайта причинам (юзер сдуру нажал на кнопку "отображать сайт в режиме совместимости", злой админ конторы сгоряча внес домен в черный список, из-за какой-то редиски Микрософт внес домен в черный список и т.п.)...

rash, похоже, делать общую добавку для IE, а внутри фильтровать по версиям хаками — единственный оставшийся вариант :). Хотя... запись *+html валидна, так что если "фиксов" всего один-два — можно, наверное, и в основной файл добавить?..

Link to comment
Share on other sites

SelenIT

psywalker, так в том-то и дело, что теперь <!--[if IE 7]> ничего не гарантирует — в таком же режиме сайт может отображать и IE8, причем по независящим от автора сайта причинам (юзер сдуру нажал на кнопку "отображать сайт в режиме совместимости", злой админ конторы сгоряча внес домен в черный список, из-за какой-то редиски Микрософт внес домен в черный список и т.п.)...

В любом случае я считаю, что это самый лучший выход из ситуации, так как не приветствую хаки и прочую фигню, Просто стараюсь делать поменьше поправок в Файле для ИЕ7, в основном приходиться оттачивать работу в ИЕ6, так что буду надеяться на нормального Юзера, по мне таких больше, чем иных ;)

Link to comment
Share on other sites

Так CC — тоже хаки, только, так сказать, "официальные", и с некоторых пор ненадежные. Для IE7 (и, соответственно, IE8-притворщика) иногда бывают нужны принципиальные правки (тот же hasLayout врубить и т.д.), но с <!--[if IE 7]> IE8-притворщик их не увидит, а вот с <!--[if IE]> *+html — запросто...

Upd. Похоже, я наврал)

Edited by SelenIT
Link to comment
Share on other sites

Упс... похоже, я был неправ насчет CC в IE8. Перепроверил - вроде всё работает, <!--[if IE 7]> и <!--[if lte IE 7]> в IE8-притворщике срабатывают (а <!--[if IE 8]> нет). Видимо, был мой локальный глюк, приношу извинения за ложную тревогу.

Плюс совсем забыл, что для IE8 есть хорошая "сыворотка правды", всегда выводящая его на чистую воду - <meta http-equiv="X-UA-Compatible" content="IE=Edge">... :)

Но на всякий случай прошу всех небезразличных перепроверить еще раз :). Вдруг есть какой-нибудь исключительный случай?

Link to comment
Share on other sites

Имхо, в современном CSS нет ничего, специательно приспособленного для верстки (в смысле раскладки). Float-ы предназначены для врезок, а не колонок, абсолютное позиционирование не позволяет учитывать высоту контента. Так что в широком-философском смысле любая верстка традиционного макета вида "шапка-колонки-подвал" — хоть табличная, хоть блочно-CSS-ная, хоть с применением JS — есть хак

+1

Link to comment
Share on other sites

  • 7 months later...

Думаю, что хаки целесообразно использовать только под ие6. Коротко и ясно как сделать css только под ие6 http://ru.ie6no.org/solutions.ie6no/solution1. Опытным это известно, а вот остальные часто не знают, особенно не верстальщики. В общем-то, программисты не любят верстать в основном.

Edited by andyp
Link to comment
Share on other sites

Думаю, что хаки целесообразно использовать только под ие6. Коротко и ясно как сделать css только под ие6 http://ie6no.org/solutions.ie6no/solution1. Опытным это известно, а вот остальные часто не знают, особенно не верстальщики. В общем-то, программисты не любят верстать в основном.

7-му тож как правило приходится.

Link to comment
Share on other sites

Браузеры на движке ослов, вроде, как понимают условные комменты! Помню, как закрасил блок красным только для 7 осла, чтоб понять, что он не так делает и забыл убрать. Потом смотрю в каком-то Acoo какой-то версии :( и там этот блок красного цвета.

Вообще мне интересно. Например, для 6 осла люди делают так:

backround: #f00

background: #fff !important

смысл, в том, что 6 осёл не понимает !important и не видит той строчки, а что если есть ещё браузер, который не понимает !important, а надо позарез чтоб в нём тоже был фон #f00 ?

Link to comment
Share on other sites

Браузеры на движке ослов, вроде, как понимают условные комменты! Помню, как закрасил блок красным только для 7 осла, чтоб понять, что он не так делает и забыл убрать. Потом смотрю в каком-то Acoo какой-то версии :( и там этот блок красного цвета.

Вообще мне интересно. Например, для 6 осла люди делают так:

backround: #f00

background: #fff !important

смысл, в том, что 6 осёл не понимает !important и не видит той строчки, а что если есть ещё браузер, который не понимает !important, а надо позарез чтоб в нём тоже был фон #f00 ?

Да понимает он все.

Слышал звон, да не знаешь, где он, вот как это называется.

IE не понимает важности одного и того же свойства в одном блоке.

background: #fff !important;
backround: #f00;

Вот так "правильно". Будет применено второе свойство в ИЕ6.

Link to comment
Share on other sites

  • 4 weeks later...
  • 4 months later...
Народ, слышали что-нибудь про динамический CSS?

Если кто слышал или работал, отзовитесь пожалуйста

Библиотека, написанная на php, C, C#, парсит файл и в зависимости от юзерагента оставляет нужные свойства.

Могу сразу рассказать про минусы данного подхода.

Link to comment
Share on other sites

Библиотека, написанная на php, C, C#, парсит файл и в зависимости от юзерагента оставляет нужные свойства.

Могу сразу рассказать про минусы данного подхода.

Расскажите пожалуйста

Link to comment
Share on other sites

Расскажите пожалуйста

1. Некоторые браузеры умеют маскироваться под других юзерагентов.

2. Библиотеку нужно держать в актуальном состоянии, иначе в один прекрасный момент ваш сайт может поломаться.

3. Если разработку библиотеки разработчик забросит, то вам придется поддерживать ее в актуальном состоянии самостоятельно.

Link to comment
Share on other sites

  • 1 month later...

Небольшой хак ни хак... Мне необходимо было убрать outline для ссылок при нажатии в IE (в презентации не очень красиво выглядело).

CSS:

a {
outline:expression(this.onFocus=this.blur());
outline: none;
border: none;
}

Проверьте на работоспособность. У меня в IE8 работает отлично.

Edited by Ялекс
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share


×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy