Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   CSS3 свойства и единицы измерения. (https://javascript.ru/forum/offtopic/26500-css3-svojjstva-i-edinicy-izmereniya.html)

devote 10.03.2012 22:23

CSS3 свойства и единицы измерения.
 
Привет всем!

Пишу библиотеку CSS3 для браузеров ИЕ7-9. Вот нужно выяснить не делаю ли я лишнюю работу и на чем стоит заострить в первую очередь внимание.

Вот несколько вопросов которые меня интересуют:
1. На какие свойства CSS нужно в первую очередь уделить время?
2. Какие единицы измерения распарсивать в значениях свойств, или же обойтись лишь только пикселями px?
3. Добавлять ли в библиотеку работу с именованными цветами, такими как: red, blue, white, black и т.д? Или обойтись лишь rgb, rgba, hex?

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

Так же прошу не указывать на то что я страдаю ерундой и т.п. Что мол есть всякие там css3pie и прочие дребедени. Это мое личное решение и писать вас заставлять не буду. Но, конструктивную критику готов выслушать.

Так же укажу на то что я не пишу ненужные библиотеки и каждое мое решение хорошо обдуманно, оптимизировано и удобно. ИМХО

Заранее всем Спасибо!

float 10.03.2012 23:48

Цитата:

Так же прошу не указывать на то что я страдаю ерундой и т.п.
Ну не совсем ерундой... В плане прошаривания очень продвинетесь, тк придется затронуть "тёмные уголки вселенной js" и не только. А вот как "инструмент", библиотека скорее всего будет не востребована, а то и ещё пуще - будет негатив в её сторону. Тк в проф кругах такие вещи не сваляться ( сам делал анти-пропаганду css3pie в своей канторе для молодежи).

На мой взгляд затронуть те самые уголки можно и с другими проектами.

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

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

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

devote 11.03.2012 02:14

Цитата:

Сообщение от float
В плане прошаривания очень продвинетесь, тк придется затронуть "тёмные уголки вселенной js" и не только.

Ну это я и без написания библиотек уж заню... а познать глубинки осла, мало от них пользы. :)
Цитата:

Сообщение от float
А вот как "инструмент", библиотека скорее всего будет не востребована

Ну в первую очередь я пишу для себя, ибо нормальных для частого использования я не нашел.
Цитата:

Сообщение от float
а то и ещё пуще - будет негатив в её сторону.

Ну а без этого никак, это одна из важных частей обсуждения. От этого зарождаются улучшения и порой идеи)
Цитата:

Сообщение от float
сам делал анти-пропаганду css3pie в своей канторе для молодежи

Ну я не пропагандирую чего то либо, просто она оказалось ужастно не удобной. А самое противное это то что при большом контенте на сайте все тормозит.
Цитата:

Сообщение от float
На мой взгляд затронуть те самые уголки можно и с другими проектами.

Никто не спорит, как я уже говорил, мне самому лично она нужна. Уж таков я человек, пишу всегда все сам.
Цитата:

Сообщение от float
Сам из некроссных css свойств использую скругление и тени. Больше чего-то припомнить не могу... Ну может ещё транзишн иногда.

Спасибо, возьму на заметку)
Цитата:

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

потому что:
Цитата:

Сообщение от float
Вы делаете каждый модуль абсолютно независимым

Но это уже мелочи, при желании можно обрезать, урезать и т.д.
Цитата:

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

Я подумаю над этим

monolithed 11.03.2012 12:38

Цитата:

Сообщение от devote
Добавлять ли в библиотеку работу с именованными цветами, такими как: red, blue, white, black и т.д? Или обойтись лишь rgb, rgba, hex?

Сделай Minification for color notation:
RGB->HEX и HEX6->HEX3
.
Можешь посмотреть как у меня это сделано :)
А добавлять работу с named colors нет особого смысла, может только для базовых цветов, где есть разногласия в написании типа: gray и grey

Gozar 11.03.2012 12:53

Цитата:

Сообщение от devote (Сообщение 162370)
Так же прошу не указывать на то что я страдаю ерундой

Сам пишу подобие Ext и jquery, уже скоро внедрение и версия 2.0 будет :)

Цитата:

Сообщение от float (Сообщение 162398)
Вы делаете каждый модуль абсолютно независимым.

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

По поводу совместимости с <IE9. Честно отвечу: - я забил большущий болт. Но у меня бэкэнд. Для фронтэнда пользуюсь css3pie, хотя он несомненно тяжелый.

В css мне важно: скругленные углы и возможность изменения размера без потери этих самых углов очень страшная бага в IE7, которую css3pie решить не может и мне не удалось.

Градиент, перевернутая картинка и скругленные углы в IE8, тоже совместить с css3pie мне не удалось в движении тормоза были страшные год назад.

Итого:
- скругленные углы
- градиент
- перевернутые фото
- box-shadow вроде и text-shadow(в IE уродский).
- и всё это вместе
:)

Gozar 11.03.2012 13:09

Перевернутые фото - имеется ввиду зеркальное отражение.

Gozar 11.03.2012 15:14

Сейчас глянул опять на css3pie, глюкать стала примочка ещё сильнее. По мне так проще на картинкаx, нежели с неизвестными глюками возиться.

Надеюсь ты не пишешь это как плагин к jQuery.

Seva1986 11.03.2012 17:14

Цитата:

Сообщение от devote
1. На какие свойства CSS нужно в первую очередь уделить время?
2. Какие единицы измерения распарсивать в значениях свойств, или же обойтись лишь только пикселями px?
3. Добавлять ли в библиотеку работу с именованными цветами, такими как: red, blue, white, black и т.д? Или обойтись лишь rgb, rgba, hex?


Во первых в жопу 7 осла, 8 - 9 с головой.
из свойств то чего мне очень не хватает это анимации transition и animation трансформации нормальная поддержка, директива медиа для 8 осла.

проценты и пиксели, по любому, всё остальное не так критично.

именованные цвета в топку.

devote 11.03.2012 20:03

Цитата:

Сообщение от Gozar
Надеюсь ты не пишешь это как плагин к jQuery.

Цитата:

Сообщение от Maxmaxmахimus
devote, напиши версию и не для jQuery чтобы те кто её не юзают тоже не оставались обделенными.

О Боже, где вы это вычитали? что я для джуквери собрался писать!?

Пишу на чистом JS без всяких джуквери и прочих либ.

Цитата:

Сообщение от Gozar
Итого:
- скругленные углы
- градиент
- перевернутые фото
- box-shadow вроде и text-shadow(в IE уродский).
- и всё это вместе

Спасибо, взял на заметку.

Цитата:

Сообщение от Seva1986
Во первых в жопу 7 осла, 8 - 9 с головой.

Хотелось бы отказаться, но вообще я планирую написать две версии библы, для ИЕ7-9 и для ИЕ8-9.

Цитата:

Сообщение от monolithed
Сделай Minification for color notation:
RGB->HEX и HEX6->HEX3

Да идея интересная, уменьшает количество букв)
Цитата:

Сообщение от Seva1986
именованные цвета в топку.

Понял, цвета по имени идут лесом)

Gozar 11.03.2012 21:47

Цитата:

Сообщение от devote (Сообщение 162530)
я планирую написать две версии библы, для ИЕ7-9 и для ИЕ8-9.

Планы прям Наполеоновские :)

devote 11.03.2012 21:56

Цитата:

Сообщение от Gozar (Сообщение 162547)
Планы прям Наполеоновские :)

На это есть причины, ибо для ИЕ8-9 написать не сложно, благо в них есть все те методы которые позволяют писать код более оптимальным и функциональным. Что не скажешь о ИЕ7, для которого нужно сотню костылей присобачить.

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

Gozar 11.03.2012 22:20

Ты крут, ты ещё собираешься писать под IE7. Я уже реально забил на попытки там что-то получить с помощью CSS. Всё что нужно - делаю через картинки или не делаю :)

Для меня было реальным шоком увидеть как IE9 поддерживает border-radius. Я смеялся до слёз, а потом рыдал весь вечер. Все мои мечты разбились о кривые рога ms.

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

Будет время погляди что там с png с прозрачностью. В движении рама вокруг видимой части картинок появляется, смотрится тоже убожески.

FINoM 12.03.2012 03:19

Цитата:

Сообщение от devote
я не пишу ненужные библиотеки

Фак мой мозг. На радиальные, диагональные, многоцветные градиенты в ИЕ уже почти все давно забили, закругленные уголки никто не делает, тексту не добавляют тень (это, конечно, в нормальных конторах). Вопрос, зачем? Особенно, учитывая, что ты, непосредственно, можешь повлиять на мнение заказчика, указав скорость и легкость при отсутствии дебилоидных хаков.

trikadin 12.03.2012 03:35

FINoM, таки, мне кажется, автор пишет для тех, кому будет интересно...

devote, к вопросу о модульности - а нельзя ли поделить её на куски? Скажем, мне абсолютно не нужны градиенты, но нужны круглые уголки. Но если я качаю css3pie, то инструменты для градиентов туда входят. Это тормозит работу и занимает лишнее место.

devote 12.03.2012 03:54

Цитата:

Сообщение от FINoM
На радиальные, диагональные, многоцветные градиенты в ИЕ уже почти все давно забили, закругленные уголки никто не делает, тексту не добавляют тень (это, конечно, в нормальных конторах).

Ну если почти все это ТЫ и еще раз ТЫ. То извини, тебе виднее. Лично в моей конторе никто ни на что не забивал и не планирует. Ибо если заказчик хочет, значит так оно должно быть. Если ТЫ в своей конторе идешь на перекор заказчика, то мне жаль твою контору.
Цитата:

Сообщение от FINoM
Вопрос, зачем?

Потому что в первую очередь это нужно МНЕ!
Цитата:

Сообщение от FINoM
Особенно, учитывая, что ты, непосредственно, можешь повлиять на мнение заказчика, указав скорость и легкость при отсутствии дебилоидных хаков.

Я могу указать, объяснить и т.д. Но, решать все равно заказчику. Если он хочет, то, отговаривать я его не стану, а буду знать что я его предупредил.

Цитата:

Сообщение от trikadin
а нельзя ли поделить её на куски? Скажем, мне абсолютно не нужны градиенты, но нужны круглые уголки.

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

FINoM 12.03.2012 04:07

Цитата:

Сообщение от devote
Если ТЫ в своей конторе идешь на перекор заказчика, то мне жаль твою контору.

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

Ну и загляни в наш предыдущий холивар. Там ты так же выступал в виде местоимения, набранного прописными буквами с жирным шрифтом.

devote 12.03.2012 04:27

FINoM,
скажу простым языком, если тебе это не нужно, это не значит что другим не нужно. Если у тебя заказчики рады от твоих слов, то у меня заказчики плачут от радости, потому что я делаю так как они хотели, ни смотря ни на что. Даже часто им что-то делаю в плюс.

Например тут уже как минимум несколько человек были бы не против от данной библы, но только если она будет и вправду хороша. Чего я и пытаюсь сделать. Уверен что и ты тоже ее оценишь.

FINoM 12.03.2012 04:33

Цитата:

Сообщение от devote
Уверен что и ты тоже ее оценишь.

Сомневаюсь. Я никогда не использовал css3pie или подобную муру. С версткой картинками сразу же перепрыгнул на обычный css3 с квадратами в IE.

Чисто из интереса: ты собираешься воскресить VML?

devote 12.03.2012 04:41

Цитата:

Сообщение от FINoM
Я никогда не использовал css3pie или подобную муру.

если честно, я тоже не применял еще ни в одном проекте css3pie (но локально тестил, смотрел что из себя оно представляет) обычно использую свое решение. Но оно устарело, писал я его давно и ИЕ9 оно не поддерживает, поэтому я и решился написать сейчас новое решение для себя в первую очередь.
Цитата:

Сообщение от FINoM
Чисто из интереса: ты собираешься воскресить VML?

Что значит воскресить? Понятно дело что в ИЕ7-8 без VML круглые углы не сделаешь, поэтому да, буду использовать VML.

devote 12.03.2012 04:52

Цитата:

Сообщение от FINoM
С версткой картинками сразу же перепрыгнул на обычный css3 с квадратами в IE.

Забыл на это ответить, дело то не только в круглых углах. Понятно дело что и без них обойтись можно. Но вот например градиенты, тени. Тут уже накладное дело. Если делать картинками это приведет к тому что сайт долго будет грузится. Если не делать картинками, то на сайте будет пусто или залито что нить одним цветом.

FINoM 12.03.2012 04:55

Цитата:

Сообщение от devote
Но вот например градиенты

В ие есть двухцветный вертикальный и горизонтальный градиенты. Их использование достаточно в большинстве случаев.
Цитата:

Сообщение от devote
тени

Они тоже есть. См filter.

devote 12.03.2012 05:54

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

Я рад что ты так хорошо про это знаешь, если тебя это удовлетворяет, то это твое право. Никто тебя не будет навязывать пользоваться тем что я пишу, а уж тем более никто тебя не будет заставлять писать это. Так что холивар о нужно/ненужно кому-то это или нет, разводить нет смысла. А то мне уже начинает казаться что тебя кто-то принуждает пользоваться/писать.

Gozar 12.03.2012 11:24

devote,
А свойства table, table-row и т.д. для IE7 будут реализованы? :)

devote 12.03.2012 11:28

Цитата:

Сообщение от Gozar (Сообщение 162629)
devote,
А свойства table, table-row и т.д. для IE7 будут реализованы? :)

Смеешься :)

Gozar 12.03.2012 11:32

Цитата:

Сообщение от devote (Сообщение 162630)
Смеешься :)

Ну у меня без них фреймворк обойтись не может, а дополнительные костыли клепать неохота. Ты же спрашивал чему уделить внимание, вот я и решил, а вдруг ты правда напишешь что-то опупенное отчего я заплачу как заказчик :)

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

devote 12.03.2012 11:40

Цитата:

Сообщение от Gozar
лучше перечисли свойства, которые собрался реализовать

в первую очередь планирую сделать border-radius, linear-gradient, text-shadow, box-shadow, border-image а потом прочие вещи. Так же возможно анимацию через CSS буду делать.

Gozar 12.03.2012 13:19

О, уже жду не дождусь на это посмотреть.

devote 12.03.2012 13:37

Цитата:

Сообщение от Gozar
О, уже жду не дождусь на это посмотреть.

Для ИЕ9 я уже написал linear-gradient. Полностью совместима с border-radius, box-shadow.

полностью w3c формат, в CSS выглядит это примерно так:
background-image: linear-gradient(45deg, magenta 0%, green 25%, yellow 50%, red 75%, blue 100%);
ну и в разных вариациях по стандарту.

devote 12.03.2012 13:45

можно посмотреть тут: http://spb-piksel.ru/temp/ только ИЕ9, версии ниже будут позже.


Часовой пояс GMT +3, время: 04:46.