Условный CSS? - PullRequest
       7

Условный CSS?

2 голосов
/ 17 июля 2010

Возможно, нет, и мне нужно сделать это в HTML, но есть ли способ написать

if($('.Name1 li').length>2) $('.main').css('k', 'v');

Я сделал это в JS, и если я загружаю страницу в первый раз, я вижу заметный всплбывает.Это не «плохо», но я «замечаю» это.

Ответы [ 4 ]

7 голосов
/ 17 июля 2010

Было бы лучше, если вы проверите это условие на стороне сервера (php, ruby, C #, python и т. Д.) И назначите какой-то класс.

4 голосов
/ 17 июля 2010

CSS не является языком программирования, он не предназначен для взаимодействия с HTML таким образом.

1 голос
/ 17 июля 2010

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

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

Единственным другим (и лучшим) способом будет использование предложения klew и вставка серверной части класса вместо ожидания, пока DOM загрузится для JS, чтобы выполнить свою работу.

1 голос
/ 17 июля 2010

Нечто подобное возможно или скоро станет возможным, если использовать JESS , фреймворк, сочетающий CSS с JavaScript для «динамического стиля» Я еще не смотрел на это в отделе, но, возможно, стоит поискать людей, интересующихся этой вещью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...