Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Классы a1 a2 a3 ... a999 a1000. Как задать им CSS через общий .a?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
LShark
Отправлено: 08 Марта, 2013 - 08:21:40
Post Id



Частый гость


Покинул форум
Сообщений всего: 240
Дата рег-ции: Нояб. 2012  


Помог: 1 раз(а)




В целом - сабж.

Автоматом генерируется контент, в котором множество пунктом, имеющих такое построение:
У каждой группы указан класс:
class='a1' a2 и т.д., вплоть до возможных a999 a1000

Как им всем назначить стиль через CSS, не объявляя каждый класс?

.a {} ? Или как?


-----
Истина прежде всего в том, что...
 
 Top
DeepVarvar Супермодератор
Отправлено: 08 Марта, 2013 - 08:57:35
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Сабж некорректен. Подозреваю используете эти селекторы для доступа к таким элементам из js.
Вот нормальный пример:
CODE (html):
скопировать код в буфер обмена
  1. <div class="myclass"></div>
  2. <div class="myclass"></div>
  3. <div class="myclass"></div>
  4. <div class="myclass"></div>
  5. <div class="myclass"></div>
  6. <div class="myclass"></div>
  7. <script type="text/javascript">
  8.   $("div.myclass").each(function(){
  9.     console.log("Div index of array: " + $(this).index());
  10.   });
  11. </script>
 
 Top
DelphinPRO
Отправлено: 08 Марта, 2013 - 09:01:07
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




ну обычно это делается так

CODE (html):
скопировать код в буфер обмена
  1. <div class="item item__red"></div>
  2. <div class="item item__green"></div>


CODE (css):
скопировать код в буфер обмена
  1. /* общие стили для всех */
  2. .item { border: 3px solid; }
  3.  
  4. /* индивидуальные стили (модификаторы) */
  5. .item__red { border-color: red; }
  6. .item__green { border-color: green; }
  7.  


и это правильно.

можно так:
CODE (html):
скопировать код в буфер обмена
  1. <div class="item__red"></div>
  2. <div class="item__green"></div>


CODE (css):
скопировать код в буфер обмена
  1. /* общие стили для всех */
  2. div[class*=item] { border: 3px solid; }
  3.  
  4. /* индивидуальные стили (модификаторы) */
  5. .item__red { border-color: red; }
  6. .item__green { border-color: green; }
  7.  


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

(Отредактировано автором: 08 Марта, 2013 - 09:02:00)



-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
LShark
Отправлено: 08 Марта, 2013 - 10:38:11
Post Id



Частый гость


Покинул форум
Сообщений всего: 240
Дата рег-ции: Нояб. 2012  


Помог: 1 раз(а)




DeepVarvar пишет:
Сабж некорректен.

Увы, корректен.

Используется в тестах, где каждый вопрос имеет ответы, у каждого - свой класс, соответственно пронумерованный (а в классе - от 2 до 50 элементов-ответов).

DelphinPRO пишет:
ну обычно это делается так

Ты как всегда прав. Действительно, увеличил длину основного имени класса для уменьшения совпадения в будущем, получил (условно класс теперь aaa1-1000):
CODE (htmlphp):
скопировать код в буфер обмена
  1. input[class*=aaa] { border: 3px solid; }
- все сработало, как надо. Это значительно сократило размер страницы, которую генерирует программа тестирования (так как ранее это было всунуто в каждый элемент).

(Отредактировано автором: 08 Марта, 2013 - 10:39:55)



-----
Истина прежде всего в том, что...
 
 Top
DeepVarvar Супермодератор
Отправлено: 08 Марта, 2013 - 11:51:22
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




LShark пишет:
Увы, корректен.
Вам показалось.
 
 Top
LShark
Отправлено: 08 Марта, 2013 - 13:36:58
Post Id



Частый гость


Покинул форум
Сообщений всего: 240
Дата рег-ции: Нояб. 2012  


Помог: 1 раз(а)




Хорошо, в моем варианте использовано:
CODE (htmlphp):
скопировать код в буфер обмена
  1. Вопрос 1
  2. Ответ1
  3. Ответ2
  4. Ответ3
  5.  
  6. Вопрос 2
  7. Ответ1
  8. Ответ2
  9. Ответ3
  10. Ответ4
  11. Ответ5
  12. Ответ6

ОТВЕТЫ каждого вопроса - это отдельный класс (a1 для первого вопроса, a2 для второго).

Вопрос - как мне тогда использовать класс типа "myclass" с последующим запросом по Index, если я ЗАРАНЕЕ не знаю, сколько в каждом вопросе ответов и какого они вида?

При этом их количество может в сумме быть - 500-1000 вопросов с 20-30 вариантами в КАЖДОМ вопросе - не будет ли запрос на индекс выполняться ДОЛГО?

(Отредактировано автором: 08 Марта, 2013 - 13:37:20)



-----
Истина прежде всего в том, что...
 
 Top
DelphinPRO
Отправлено: 08 Марта, 2013 - 14:45:13
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




LShark, вопрос на засыпку - а для чего конкретно используются такие классы? Явно не для оформления, ведь вы хотите задать им единый стиль.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
LShark
Отправлено: 08 Марта, 2013 - 18:08:16
Post Id



Частый гость


Покинул форум
Сообщений всего: 240
Дата рег-ции: Нояб. 2012  


Помог: 1 раз(а)




По ним отслеживается выбранное/нажатое/отмененное и прочее.

Именно из-за этого я не могу придать им стандартный класс. Оформление каждого вопроса может отличаться.

И есть проблема, что загружается сразу ВСЯ партия вопросов (а не подгружается каждый вопрос отдельно).


-----
Истина прежде всего в том, что...
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« HTML, Дизайн & CSS »


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



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB