|
5 / 2 / 3
Регистрация: 21.06.2013
Сообщений: 117
|
|||||||||||||||||||||
Много классов и меньше стилей или наоборот?26.02.2017, 15:55. Показов 5461. Ответов 13
Метки нет (Все метки)
Сделал несколько больших проектов. В обеих я решил поэксперементировать со стилизацией
В первом я решил делать меньше классов, при этом каждому дописывать стиль отдельно. Для наглядности:
Во втором проекте решил сделать по-другому.
А что скажете вы?
0
|
|||||||||||||||||||||
| 26.02.2017, 15:55 | |
|
Ответы с готовыми решениями:
13
Много методов или много классов. Что лучше? Генератор всей информации на много Yetabayte или много битный счетчик или ЗУ с неограниченным размером Почему в файле css много стилей не работает? |
|
25 / 25 / 19
Регистрация: 13.07.2015
Сообщений: 433
|
|
| 26.02.2017, 16:06 | |
|
Название классов элементам - это просто идентификация не более того. А вот браузеру приходиться постоянно нагружаться, и обрабатывать каждый селектор с одним и тем же новым значением. Есть же разница когда браузер 1 раз выполнил float в одном селекторе, и 100 раз выполнил тот же float в 100 селекторах.
Добавлено через 1 минуту Присвоение класса элементам не несёт никакой нагрузки.
1
|
|
|
5 / 2 / 3
Регистрация: 21.06.2013
Сообщений: 117
|
|
| 26.02.2017, 16:28 [ТС] | |
|
Aqua77, Cпасибо за ответ. Да, в итоге float все равно пишется те же 100 раз в HTML и 100 раз в CSS.
Все же второй вариант лучше. Просто мне не раз говорили, что огромное количество классов (огромное в смысле 5-6) это плохо и лучше писать в стилях заново
0
|
|
|
|
|
| 26.02.2017, 16:51 | |
|
Kucc, взгляните на получившийся код глазами человека, который впервые его видит. Как поддерживать такой код, если стили элемента разбросаны по всему css-файлу? Я думаю, это так же усложнит браузеру построение дерева рендеринга. Но это если уже слишком глубоко закапываться.
На самом деле ощутить разницу будет сложно. Фреймворки работают с такими классами, как вы описали и ничего страшного не происходит. Тут надо иметь чувство меры, если классы float-left, float-right, clearfix и т.п. можно объяснить и допустить, то классы f-size и pad-top явно лишние. Что они описывают? Что у элемента есть внутренний верхний отступ? А какой? И на выходе получается каша в стилях.
1
|
|
|
|
|
| 26.02.2017, 17:10 | |
|
Kucc, почитал Вашу темку, поржал...
Надо наверно переименовать в шило на мыло... Вроде 2017 год, а мифы про оптимизацию кода упорно бродят по сети... Лучшее враг хорошему, если у Вас есть куча времени, то конечно можно объединить классы с одинаковыми стилями, но потом Вы элементарно запутаетесь и Ваша вёрстка не будет соответствовать довольно популярной(в наше время!) методологии БЭМ... Смысл есть объединять стили только тогда, когда на Вашей странице есть элементы, которые имеют одинаковое оформление(более 1-2 стилей!)... К слову недавно колупал один платный шаблон в котором стили переопределялись по 4-5 раз, в 4-х разных CSS-файлах, Вы просто себе не представляете, какой "кайф" ждёт оптимизаторов...
1
|
|
|
5 / 2 / 3
Регистрация: 21.06.2013
Сообщений: 117
|
||||||||||||||||
| 26.02.2017, 17:15 [ТС] | ||||||||||||||||
|
mrtoxas, Я понял Ваше мнение. Приведу пример, когда я называю класс "margin-top". Это единственный класс касающийся маргина. Все блоки на сайте имеют одинаковый отступ сверху от предыдущего - 30px. Вы открываете первый раз код и смотрите - что за непонятный "margin-top"?? Открываете стили и в первых строчках описаны все подобные непонятные на первый взгляд сокращения и там
Я не пытаюсь кого-то переубедить или доказать свою правоту. Я хочу понять, когда уместно задавать 1 класс и присваивать ему одно значение в стилях, и добавлять этот класс в нужные теги. Добавлено через 4 минуты Fedor92, Ваш ответ все же больше склоняет меня к первому варианту. Значит из Вашего сообщения становится ясно, что не стоит делать отдельный класс на один стиль:
0
|
||||||||||||||||
|
|
||||||||||||
| 26.02.2017, 17:22 | ||||||||||||
Вот представьте стоит у Вас класс:
1
|
||||||||||||
|
5 / 2 / 3
Регистрация: 21.06.2013
Сообщений: 117
|
|||||||
| 26.02.2017, 17:27 [ТС] | |||||||
|
Fedor92, Ну если верстка сугубо на flex, то тут выходит та же история, что и с сотнями дивов, которым надо задать флекс.
Значит даже в таком случае, лучше перечислять все классы, которым надо задать нужные стиль через запятую? Значит так правильнее?
0
|
|||||||
|
5 / 2 / 3
Регистрация: 21.06.2013
Сообщений: 117
|
||||||||||||
| 26.02.2017, 17:36 [ТС] | ||||||||||||
|
Fedor92, Ну бутстрап своими лентами не очень впечатляет, поэтому следовать всему, как у них я думаю не стоит.
Спасибо, все же откажусь от второго варианта.. ![]()
0
|
||||||||||||
|
|
||||
| 26.02.2017, 17:40 | ||||
|
0
|
||||
|
5 / 2 / 3
Регистрация: 21.06.2013
Сообщений: 117
|
|
| 26.02.2017, 17:47 [ТС] | |
|
Fedor92, Про бутстрап было лишнее
![]() Логику я сейчас объясню. По весу, написать 100 классам 100 раз float:left будет тяжелее, чем задать 1 класс в стилях и написать 1 раз float: left. Да и помимо прочего при чтении повторяющиеся классы мешают, правда это дело третье. Вот и вся суть. Я просто попробовал, мне так удобнее и я в этом не путаюсь вообще, т.к. мои классы, что с одним стилем, понятны и их легко запомнить, но это опять же для меня. Но после этой темы я окончательно убедился, что так делать не стоит и если стили будет весить на 10% больше с такими повторами, пусть так и будет.
0
|
|
|
|
|||
| 26.02.2017, 17:57 | |||
Сообщение было отмечено Kucc как решение
Решение![]() Вот смотрите у Вас есть две страницы(допустим главная и контакты) на одном сайте, на которых есть положим одинаковый класс float... Вам понадобилось, может не конкретно Вам, а человеку, который оптимизирует сайт сделать обтекание блока с правой стороны на странице контактов... Но изначально он не знает, где лучше отредактировать код в HTML или CSS... И конечно же логичнее обтекание редактировать в CSS, отредактировав обтекание упадёт на 2-х страницах в лучшем случае... Допустим, он догадается изменить HTML, но откуда он будет знать как задать обтекание с правой стороны - он же не знает имён классов... ? Выхода 3: либо в css писать новый класс - либо искать класс, который задаёт правое обтекание и переназначать его в html - либо писать атрибут "style"(говнокодить)... Понимаете к чему приведёт Ваша схема? А вот если классы перечислялись бы, в CSS достаточно удалить класс, который имеет стиль float:left на странице контактов и задать ему float:right и всё гуд...
1
|
|||
|
5 / 2 / 3
Регистрация: 21.06.2013
Сообщений: 117
|
|
| 26.02.2017, 18:04 [ТС] | |
|
Fedor92, Хорошее объяснение, Вы правы.
Спасибо большое за пояснения и терпение
0
|
|
| 26.02.2017, 18:04 | |
|
Помогаю со студенческими работами здесь
14
Что лучше: 1 цикл и много действий или много циклов и 1 действие? Что лучше - много строк или много колонок? Слишком много аргументов в вызове функции, или как создать много файлов на рабочем столе? Настройка стилей для вложенной таблицы без использования классов
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программный отбор значения справочника
Maks 21.03.2026
Процедура ВодителиНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка)
/ / Отключаем стандартную обработку (стандартное открытие формы выбора без фильтров)
. . .
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|