powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / использование JavaScript в CSS
25 сообщений из 89, страница 3 из 4
использование JavaScript в CSS
    #35555650
The_ShadoW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apapacy
Оно всё конечно замечательно. До тех пор, пока виджеты выражаются чем-нибудь не сложнее input.
А после этого - вот очередной виджет, составленный из двух более простых. У него свои состояния, и одновременно с этим он должен навязывать определенные состояния виджетам-составляющим. А еще в разных составных виджетах составляющие должны оформляться по разному. И т.д. На выходе имеем первозданный хаос разнообразных state'ов, в цсс оформленных.

Собственно, именно так изначально и было, до того, как взялись за рефакторинг.
...
Рейтинг: 0 / 0
использование JavaScript в CSS
    #35555658
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уж куда сложнее инпутов работает.
Все что Вы описываете как раз и обеспечивается нормальным использованием CSS.
Иначе сообщество w3c предложило бы что-либо другое.
Делаете по-другому - пожалуйста. Никто Вам не мешает.
...
Рейтинг: 0 / 0
использование JavaScript в CSS
    #35555678
The_ShadoW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apapacyУж куда сложнее инпутов работает.
Все что Вы описываете как раз и обеспечивается нормальным использованием CSS.
"Обеспечивается" и "удобно применять" - это слегка разные вещи. Написание абсолютно любых программ обеспечивается знанием машинного кода. Давайте дружно возьмемся... хотя бы за ассемблер?

ЗЫ: В последнее время на скульру заметна страшная любовь к передергиваниям. Например, откуда Вы вытащили "работает"? Где-то были утверждения, что "не работает"? Кажется, как раз было обратное. О том, что всё работало (да и сейчас продолжает, только по-другому). Только неудобно для поддержки и доработки было.
...
Рейтинг: 0 / 0
использование JavaScript в CSS
    #35555732
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_ShadoW apapacyУж куда сложнее инпутов работает.
Все что Вы описываете как раз и обеспечивается нормальным использованием CSS.
"Обеспечивается" и "удобно применять" - это слегка разные вещи.
...
ЗЫ: В последнее время на скульру заметна страшная любовь к передергиваниям. Например, откуда Вы вытащили "работает"? Где-то были утверждения, что "не работает"?

2 The_ShadoW : и ты еще заикался о логике несколькими постами выше? Осмыслил бы фразы для начала, а потом комментировал... В первой ключевое слово - СЛОЖНЕЕ, а во второй - НОРМАЛЬНЫМ.

P.S. достался мне от коллеги один проект, в котором часть стилей в css, а другая часть (для компонентов, формируемых яваскриптом) - в виде констант в скриптах. Да чтоб этому коллеге икалось и не глоталось....
...
Рейтинг: 0 / 0
использование JavaScript в CSS
    #35555876
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
виджет по сути является законченным логическим элементом, какой бы сложности он ни был. CSS описывает его внешний вид. Если он относится к некоему фреймворку, то он может иметь в себе некие стандартные правила (например, цвет рамки, толщина заголовка, шрифт и т.п.), в остальном же его правила должны быть изолированы, чтобы не пересекаться с остальными и не зависеть от контейнера, в котором виджет находится. Считай правило аналогично программированию на JS - не гадь в общий неймспейс, иначе плохо будет. CSS правила могут так же описывать различные состояния, используя различные селекторы (например, .ok .border { border-color: blue; } , .error .border { border-color: red; }). Лучше всего не увлекаться каскадными правилами и описать определение состояний явно через методы виджета, при этом он сам знает, как изменить свой класс (замечу, класс, а не прописать своему бордюру константу в стиль border-color).
Если у тебя составной виджет, то это сильно ничего не меняет - внутри находятся простые виджеты со своими правилами, их контейнер делегирует вызов по смене состояния каждому из составляющих. Когда есть базовый css, плюс каждый виджет имеет свой изолированный css, а код виджета не лезет в оформление, я не вижу проблем с "кашей".
Я когда-то пробовал каскадно менять на сложных формах состояние всех элементов. Да, типа круто, приписал контейнеру класс .invalid, все внутри перерисовалось. Но, как всегда, IE все изгадил. Эта падла, особенно шестая версия, не всегда способна перерисовать сложный контейнер целиком, а пляски с бубном, заставляющие его это сделать, только засоряют код. В результате я решил, что лучше не жадничать и попросить каждый входящий в коллекцию виджет изменить свое состояние на необходимое. Это даже более гибкий подход и не надо мусорить css-метками в html.
стили должны быть полночтью исключены из JS, JS в идеале не должен знать, как выглядит его элемент (хотя конечно всегда бывают исключения), и в константах могут находиться только имена css классов. Если ты ваяешь html со стилями на яваскрипте, значит ты что-то делаешь не так.
...
Рейтинг: 0 / 0
использование JavaScript в CSS
    #35556152
The_ShadoW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
illion2 The_ShadoW : и ты еще заикался о логике несколькими постами выше? Осмыслил бы фразы для начала, а потом комментировал... В первой ключевое слово - СЛОЖНЕЕ, а во второй - НОРМАЛЬНЫМ.
Ух ты. Никогда не знал, что прилагательные идут за ключевые слова. Конечно, куда там до них существительным и глаголам.

зы
Ага, кажется я теперь вижу, где мы успели разбежаться в понимании.
Так вот,
1) "Внешний вид" весь лежит в цсс;
2) "Примочки" (особенно связанные с кроссбраузерностью) к отдельным состояниям, вида "в случае А под ИЕ выставить overflow:hidden" - лежат в скриптах;
3) Связь элемента со своими правильными стилями (в зависимости от контекста, состояния и т.п.) обеспечивается "типафреймворком" и константами-переменными.
...
Рейтинг: 0 / 0
использование JavaScript в CSS
    #35556226
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_ShadoW illion2 The_ShadoW : и ты еще заикался о логике несколькими постами выше? Осмыслил бы фразы для начала, а потом комментировал... В первой ключевое слово - СЛОЖНЕЕ, а во второй - НОРМАЛЬНЫМ.
Ух ты. Никогда не знал, что прилагательные идут за ключевые слова. Конечно, куда там до них существительным и глаголам.
О, сколько нам открытий чудных… Прими к сведению, что ключевыми словами могут быть даже предлоги. Например, когда принципиальным становится выбор, послать В или НА…
...
Рейтинг: 0 / 0
использование JavaScript в CSS
    #35556362
The_ShadoW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyО, сколько нам открытий чудных… Прими к сведению, что ключевыми словами могут быть даже предлоги. Например, когда принципиальным становится выбор, послать В или НА…
Когда Ваше "послать" лишено смысла, можете хоть до позеленения вкладывать глубинный смысл в "В" или "НА". Выглядеть будет одинаково смешно.
...
Рейтинг: 0 / 0
использование JavaScript в CSS
    #35556598
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_ShadoW
2) "Примочки" (особенно связанные с кроссбраузерностью) к отдельным состояниям, вида "в случае А под ИЕ выставить overflow:hidden" - лежат в скриптах;

от dojo я узнал один интересный подход - при загрузке документа определяется браузер и в body вписывается класс-константа, соответствующая браузеру. Например, <body class="dj_ie6">. Далее все кроссбраузерные "хаки" используются к написанию нужных селекторов, можно забыть о всяких #, _ и >, и отныне считаю этот подход идеальным:
Код: plaintext
.dj_ie div.container { overflow: hidden; }
А в скриптах этой мерзости делать нечего, потому что если тебе придется переделывать внешний вид, то запаришься искать, где ещё проставляются эти чертовы стили.

The_ShadoW
3) Связь элемента со своими правильными стилями (в зависимости от контекста, состояния и т.п.) обеспечивается "типафреймворком" и константами-переменными.
так стилями или классами? стилям в коде делать нечего, кроме позиционирования и display: none/block;
...
Рейтинг: 0 / 0
использование JavaScript в CSS
    #35556603
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
* используются = сводятся
...
Рейтинг: 0 / 0
использование JavaScript в CSS
    #35557032
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_ShadoWНаваяйте фреймворк :)

У нас вот нечто на эту тему (динамическое управление стилями) постепенно начинает вырисовываться, мб и до фреймворка когда-нибудь дорастет. А всё потому, что при обилии элементов, стилей и js простой css неизбежно становится кашей.

Я все же вернусь к Вашему первому постингу в этой теме.
>>наваяйте йреймворк

Что есть фреймворк? Даже очень хорошие библиотеки называют себя библиотеки. Большинство участников форума имеют на своем счету такие библиотеки. Один участник даже заставлял всех тестировать такую библиотеку.

>>У нас вот нечто на эту тему (динамическое управление стилями) постепенно начинает вырисовываться

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

>>А всё потому, что при обилии элементов, стилей и js простой css неизбежно становится кашей.

Тут я процитирую Уайльда. Бывают тети большие, а бывают тети маленькие. У Меньшова в к/ф Ширли-мырли жто звучит так: бавыют бабуси большие, а бывают бабуси маленькие. Бабушка Муся карлик была: вот такая...
Я же скажу так. У одних простой css превращается в кашу, у других не превращается.

Ну написали Вы компоненты на JavaScript. Ну хорошо. И все пишут. И пользуются. И работает.
Зачем же CSS обвинять.
...
Рейтинг: 0 / 0
использование JavaScript в CSS
    #35557131
The_ShadoW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зыА в скриптах этой мерзости делать нечего, потому что если тебе придется переделывать внешний вид, то запаришься искать, где ещё проставляются эти чертовы стили.
Вообще-то здесь как раз слегка наоборот. Точечные извращения в стилях, которые обязаны быть привязаны к определенной js-ной логике. Если придется переделывать внешний вид (настолько, что это затронет даже "хаки") - да, придется искать. Однако в случае выноса этого всего в цсс - при изменении логики придется точно так же копать цсс на тему переделывания классов-хаков под новую логику. Выигрыша незаметно.

зытак стилями или классами? стилям в коде делать нечего, кроме позиционирования и display: none/block;
Классами, классами. Право, успокойтесь уже, никто шрифты и цвета в js-константах не держит (а если кто-то и держит, это его хорошо иллюстрирует).
...
Рейтинг: 0 / 0
использование JavaScript в CSS
    #35557144
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apapacyЗачем же CSS обвинять.Затем, что обвинять себя — смелость нужно иметь.

По сути.
наваяйте фреймворкДа раз полюнуть. Объектные модели броузеров никто не засекречивает. Почему до сих пор не наваян? Потому же, почему не пойман Неуловимый Джо.

Другими словами — фреймворк должен выполнять какие-то функции, причем часто используемые и не привязанные к функционалу какого-либо бредопроекта. В этом смысл фреймворков. Вопрос, какие функции?
...
Рейтинг: 0 / 0
использование JavaScript в CSS
    #35557232
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_ShadoW
Классами, классами. Право, успокойтесь уже, никто шрифты и цвета в js-константах не держит (а если кто-то и держит, это его хорошо иллюстрирует).
стили и классы это разные вещи, тебя все поняли именно так, как поняли, что ты держишь стили в коде. Надо правильно оперировать терминами

авторОднако в случае выноса этого всего в цсс - при изменении логики придется точно так же копать цсс на тему переделывания классов-хаков под новую логику. Выигрыша незаметно.
теперь осталось понять, что же имеется ввиду под "всем" на конкретных примерах. Иметь хаки и основной стиль рядом в css - очень выгодно. Можно и даже нужно иметь по css-ке на каждый виджет, а упаковку оставить сборщику, тогда никакого ужаса не будет.
...
Рейтинг: 0 / 0
использование JavaScript в CSS
    #35557903
The_ShadoW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зытеперь осталось понять, что же имеется ввиду под "всем" на конкретных примерах. Иметь хаки и основной стиль рядом в css - очень выгодно. Можно и даже нужно иметь по css-ке на каждый виджет, а упаковку оставить сборщику, тогда никакого ужаса не будет.
"Это всё" - это как раз хаки и точечные изменения.
Теперь про "css на каждый виджет" - каждый виджет уже и так олицетворяется отдельным js (ибо код делить на части приходится начинать много раньше, чем цсс). Какая выгода будет получена от переноса стилевых хаков из js (свой файл на каждый виджет) в цсс (опять же, свой файл на каждый виджет)?
Далее, разнос по разным файлам облегчит поиск, но опять же не избавит от необходимости пересматривать все стилевые хаки, привязанные к js-логике, при каждом изменении логики. Когда хаки лежат вместе с js - пересмотр стилей идет заодно с переделкой логики.
...
Рейтинг: 0 / 0
использование JavaScript в CSS
    #35558013
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_ShadoWНаваяйте фреймворк :)

У нас вот нечто на эту тему (динамическое управление стилями) постепенно начинает вырисовываться, мб и до фреймворка когда-нибудь дорастет. А всё потому, что при обилии элементов, стилей и js простой css неизбежно становится кашей.

Я вновь позволю вернуться к Вашему первому постингу.
Речь у топикстартера шла о применении JavaScript непосредственно в файлах CSS.
Далее речь пошла о том, что такое возможно в NN.
Далее зы вспомнил о том незабываемом времени, когда под ишака и капитана нужно было делать принципиально различную верстку.
Вопрос знатокам (знатоку):
Какое отношение к теме разговора имеет Ваше умозаключение о кашеобразности CSS.
99% постоянных участников форума создают приложения на основе динамического управления стилями. А как они при этом действуют - уже второй вопрос. Тут возникает только одна дилемма. С одной стороны, хочется создавать собственный код, а с другой воспользоваться широкими возможностями имеющихся в наличии в достаточном количестве билиотек сторонних разработчиков.
Чем больше программер занимается изучением кода хороших библиотек, спецификаций, тем более просто и естественно он решает все необходимые проблемы. Я вспоминаю свой первый компонент, это был выпадающий список, который через сервлет обращался к базе данных. Он бал решен ужасно. Запросы через iframe (объект XMLHttpRequest был мне незнаком). Обработчики событий и стили определялись прямо в генерируемом HTML-коде. Затем мне попалась книга Паскарелли и Ко Аякс в действии. И знаете ли, мои подходы существенно изменились. разумеется вместо одного сервлета я имею файл js и файл css. Зато код стал прозрачнее, доступнее для рефакторинга.

Я уверяю Вас, что мы спорим ни о чем, что хаки в известном смысле должны остаться на совести библиотек поддержки кроссбраузерности, такой как x.js. Аналогичную функциональность обеспечивают и prototype с script.aculo.us, и в разной степени многие другие библиотеки.
...
Рейтинг: 0 / 0
использование JavaScript в CSS
    #35558053
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_ShadoW
"Это всё" - это как раз хаки и точечные изменения.
Теперь про "css на каждый виджет" - каждый виджет уже и так олицетворяется отдельным js (ибо код делить на части приходится начинать много раньше, чем цсс). Какая выгода будет получена от переноса стилевых хаков из js (свой файл на каждый виджет) в цсс (опять же, свой файл на каждый виджет)?
Далее, разнос по разным файлам облегчит поиск, но опять же не избавит от необходимости пересматривать все стилевые хаки, привязанные к js-логике, при каждом изменении логики. Когда хаки лежат вместе с js - пересмотр стилей идет заодно с переделкой логики.
ещё раз. Хаки и js не имеют ничего общего. "хаки" борятся с несовместимостью рендеринга и лежат исключительно в CSS. "Хаки" в js полностью берет на себя фреймворк или библиотека, которая используется в проекте (например, кроссбраузерно вычислить размер элемента, твой код проблемы браузеров волновать уже не должны).
выгода своего css очевидно - то, что нужно для конкретного виджета, лежит рядом с ним и относится исключительно к нему. То, что файлов много - тебя волновать не должно, или ты не слышал про процесс сборки? А может и код виджетов у тебя тоже не собирается и не пакуется в единый файл в процессе билда?
...
Рейтинг: 0 / 0
использование JavaScript в CSS
    #35558097
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зы[quot The_ShadoW]..."Хаки" в js полностью берет на себя фреймворк или библиотека, которая используется в проекте...
Не совсем верно. Я и занимаюсь в основном подхачиванием того, чего уже сделано. Я так предполагаю, хотя могу и ошибаться.
...
Рейтинг: 0 / 0
использование JavaScript в CSS
    #35558119
The_ShadoW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зыещё раз. Хаки и js не имеют ничего общего. "хаки" борятся с несовместимостью рендеринга и лежат исключительно в CSS.
а) Я так и не услышал, в чем выгода.
б) Есть общие случаи несовместимости рендеринга. Их мало и им место в цсс. Есть мелкие частности "в виджете А в ситуации З в браузере У всё криво". Им в цсс не место.

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

зывыгода своего css очевидно - то, что нужно для конкретного виджета, лежит рядом с ним и относится исключительно к нему.
А если стилевые хаки лежат в js - они, представьте себе, тоже относятся исключительно к нему. И лежат прям там же.

зыТо, что файлов много - тебя волновать не должно, или ты не слышал про процесс сборки? А может и код виджетов у тебя тоже не собирается и не пакуется в единый файл в процессе билда?
Меня и не волнует. Если у Вас опять какие-то ночные фантазии (аналогично вчерашним), и Вы додумываете за собеседника его мысли - лучше идите и додумывайте, только не излагайте их письменно.
...
Рейтинг: 0 / 0
использование JavaScript в CSS
    #35558125
The_ShadoW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apapacyЯ уверяю Вас, что мы спорим ни о чем, что хаки в известном смысле должны остаться на совести библиотек поддержки кроссбраузерности, такой как x.js. Аналогичную функциональность обеспечивают и prototype с script.aculo.us, и в разной степени многие другие библиотеки.
Несомненно.

Но когда в мои должностные обязанности входит поддержка и развитие веб-морды проекта с четырехлетней историей (и как следствие - на 90% самописка) - от абстрактных умозаключений о том, кто что кому в идеале должен - ни жарко, ни холодно.
Если говорить об абстракциях - то как обычно, нужно "всё выбросить и сделать по-новой, максимально правильным путем". Так не бывает, однако же.
...
Рейтинг: 0 / 0
использование JavaScript в CSS
    #35558159
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_ShadoW...проекта с четырехлетней историей (и как следствие - на 90% самописка) ...
Надо всё-таки переделать (это - серьёзно). Хотя ,в этом смысле я не могу быть "правильным" советчиком, потому что до сих пор работает мой самый первый сайт, написанный двадцать лет назад. Тынц, пардон, не дам - стесняюсь.
...
Рейтинг: 0 / 0
использование JavaScript в CSS
    #35558208
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автордвадцать лет назад20???? О_О 1988?
педивикияВ 1989 году в Европе, в стенах Европейского совета по ядерным исследованиям (фр. Conseil Européen pour la Recherche Nucléaire, CERN) родилась концепция Всемирной паутины. Её предложил знаменитый британский учёный Тим Бернерс-Ли, он же в течение двух лет разработал протокол HTTP, язык HTML и идентификаторы URI .Что-то не сходится.
...
Рейтинг: 0 / 0
использование JavaScript в CSS
    #35558231
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_ShadoW
А если стилевые хаки лежат в js - они, представьте себе, тоже относятся исключительно к нему. И лежат прям там же.

давай так, хватит абстрактных фраз, приведи ряд конкретных примеров "стилевых хаков в js", а то надоело переливать из пустого в порожнее
...
Рейтинг: 0 / 0
использование JavaScript в CSS
    #35558234
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSerge
Не совсем верно. Я и занимаюсь в основном подхачиванием того, чего уже сделано. Я так предполагаю, хотя могу и ошибаться.
все зависит от объема реализации фреймворка. Возьми, например, ExtJS, там ты даже думать не будешь, что есть какой-то браузер. Возьми что-нибудь попроще, и конечно же придется самому решать конкретные задачи.
...
Рейтинг: 0 / 0
использование JavaScript в CSS
    #35558473
The_ShadoW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зыдавай так, хватит абстрактных фраз, приведи ряд конкретных примеров "стилевых хаков в js", а то надоело переливать из пустого в порожнее
На 90% это подергивания размеров\положения\границ отдельных элементов (туда же overflow и display). Размеры и положение изначально полностью принадлежат js, а вот границы (padding, margin и outline) собраны в цсс, и "стилевые хаки в js" их в определенные моменты меняют.
...
Рейтинг: 0 / 0
25 сообщений из 89, страница 3 из 4
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / использование JavaScript в CSS
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]