Prosilver - дублирование стилей

Есть любые вопросы, связанные со стилями/темами для phpBB 3.0.x? Задайте их здесь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
sasha-ua
phpBB 1.0.0
Сообщения: 8
Стаж: 12 лет 8 месяцев

Prosilver - дублирование стилей

Сообщение sasha-ua »

Здравствуйте.

Начал вникать в устройство тем для phpBB на примере базовой темы prosilver, и что мне сразу же бросилось в глаза:

common.css

Код: Выделить всё

body {
	/* Text-Sizing with ems: http://www.clagnut.com/blog/348/ */
	font-family: Verdana, Helvetica, Arial, sans-serif;
	color: #828282;
	background-color: #FFFFFF;
	/*font-size: 62.5%;			 This sets the default font size to be equivalent to 10px */
	font-size: 10px;
	margin: 0;
	padding: 12px 0;
}
colours.css

Код: Выделить всё

html, body {
	color: #536482;
	background-color: #FFFFFF;
}
common.css

Код: Выделить всё

h1 {
	/* Forum name */
	font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
	margin-right: 200px;
	color: #FFFFFF;
	margin-top: 15px;
	font-weight: bold;
	font-size: 2em;
}
colours.css

Код: Выделить всё

h1 {
	color: #FFFFFF;
}
и еще много..

Не могу понять смысл, это так задумано или это просто мусор который наследовался от версии к версии?
Стили не только дублируются а еще и противоречат друг другу..
Аватара пользователя
Pazh
Former team member
Сообщения: 2317
Стаж: 16 лет 10 месяцев
Благодарил (а): 42 раза
Поблагодарили: 506 раз

Re: Prosilver - дублирование стилей

Сообщение Pazh »

sasha-ua изучаем матчасть Общее описание файлов стиля phpBB3
Помощь в ЛС/email только за WM или ЮMoney
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Prosilver - дублирование стилей

Сообщение Sheer »

sasha-ua писал(а):Стили не только дублируются
Это не стили, а классы.
sasha-ua писал(а):это так задумано
Так задумано. Поэтому меня prosilver бесит. Надо же было придумать, размазать свойства одного элемента по десятку файлов, цвет в одном, шрифт в другом, расположение в третьем. А потом все в кучу собирать.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
sasha-ua
phpBB 1.0.0
Сообщения: 8
Стаж: 12 лет 8 месяцев

Re: Prosilver - дублирование стилей

Сообщение sasha-ua »

То что разнесен в принципе не страшно, есть такая петодология написания стилей, напрягает дублирование и противоречие, в одном файле один цвет в другом уже другой..
Перевести бы это все на что-то типа less )
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Prosilver - дублирование стилей

Сообщение Sheer »

sasha-ua писал(а):напрягает дублирование и противоречие
Хех... ну да, не шедевр, что тут скажешь, хотя приверженцы данного стиля поспорят. Однако ж
prosilver.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Dbonz
phpBB 2.0.0
Сообщения: 231
Стаж: 14 лет 2 месяца
Благодарил (а): 25 раз
Поблагодарили: 25 раз

Re: Prosilver - дублирование стилей

Сообщение Dbonz »

В основном все дубли в colours.css по отношению к другим файлам. Где-то 3-и часика с блокнотом + Folder Find Text посидеть, чтобы всё привести к одному виду.
Больше даже не противоречия расстраивают, а когда в двух файлах одинаковая широко растянутая гармошка классов ради какого-нибудь color: #fff; - вот это действительно маразм.
В общем, о лёгкой кастомизации разрабы стиля явно не думали. Даже напротив, накрутили так, что сколько просильвер не перекраивай, он почти всегда остаётся узнаваемым.)
Аватара пользователя
MIT
Former team member
Сообщения: 2500
Стаж: 17 лет 6 месяцев
Откуда: 56°20′02″ с. ш. 36°42′45″ в. д.
Благодарил (а): 3 раза
Поблагодарили: 351 раз

Re: Prosilver - дублирование стилей

Сообщение MIT »

Смотрите шире — это реально удобная фича, которой особо никто не пользуется (в рамках phpBB, а зря).

Удалите всё содержимое файла colours.css. Что стало с форумом? Удивление :)

На самом деле всё просто: в каждом файле есть параметры какого-то определённого ранга, например, ответственные за визуальное представление (цвет фона, фоновая картинка, цвет текста) или за ориентацию элементов страницы на этой самой странице (описание ширины, высоты, обтекания и т.п.).
Если мы хотим поменять только цвета текста, то изменения будут внесены только в один файл, а не в несколько. Поэтому удобно, например, в зависимости от своего настроения, заменять один файл colours.css на другой, изменяя цвета форума.

Если размышлять дальше, то сейчас, например, когда получают всё большую популярность такие языковые надмножества типа SCSS, подобное разделение ответственности наоборот только развивается. SCSS фреймворк Compass состоит из сотни файлов, описывающих сугубо определённые правила и которые подключаются в компилируемый файл стиля при необходимости.

Подобный подход становится актуальнее с развитием самого CSS и с ростом количества директив, необходимых для построения красивого современного веб-сайта. Разбираться в файле в 10000 строк ничем не лучше. И Сабсильвер писали не "в сто раз более умные люди", там просто очень мало CSS кода.
Аватара пользователя
Dbonz
phpBB 2.0.0
Сообщения: 231
Стаж: 14 лет 2 месяца
Благодарил (а): 25 раз
Поблагодарили: 25 раз

Re: Prosilver - дублирование стилей

Сообщение Dbonz »

Как пример:
colours.css

Код: Выделить всё

/* Links on gradient backgrounds */
#search-box a:link, .navbg a:link, .forumbg .header a:link, .forabg .header a:link, th a:link {
	color: #FFFFFF;
}

#search-box a:visited, .navbg a:visited, .forumbg .header a:visited, .forabg .header a:visited, th a:visited {
	color: #FFFFFF;
}

#search-box a:hover, .navbg a:hover, .forumbg .header a:hover, .forabg .header a:hover, th a:hover {
	color: #A8D8FF;
}

#search-box a:active, .navbg a:active, .forumbg .header a:active, .forabg .header a:active, th a:active {
	color: #C8E6FF;
}
links.css

Код: Выделить всё

/* Links on gradient backgrounds */
#search-box a:link, .navbg a:link, .forumbg .header a:link, .forabg .header a:link, th a:link {
	color: #FFFFFF;
	text-decoration: none;
}

#search-box a:visited, .navbg a:visited, .forumbg .header a:visited, .forabg .header a:visited, th a:visited {
	color: #FFFFFF;
	text-decoration: none;
}

#search-box a:hover, .navbg a:hover, .forumbg .header a:hover, .forabg .header a:hover, th a:hover {
	color: #ffffff;
	text-decoration: underline;
}

#search-box a:active, .navbg a:active, .forumbg .header a:active, .forabg .header a:active, th a:active {
	color: #ffffff;
	text-decoration: none;
}
По Вашей логике, пусть тогда бы и описывали все цвета только в colours.css. Зачем дублировать?
Или вот пример:
colours.css

Код: Выделить всё

/* Arrow links  */
a.up		{ background-image: url("{T_THEME_PATH}/images/arrow_up.gif") }
a.down		{ background-image: url("{T_THEME_PATH}/images/arrow_down.gif") }
a.left		{ background-image: url("{T_THEME_PATH}/images/arrow_left.gif") }
a.right		{ background-image: url("{T_THEME_PATH}/images/arrow_right.gif") }
links.css

Код: Выделить всё

/* Arrow links  */
a.up		{ background: none no-repeat left center; }
a.down		{ background: none no-repeat right center; }
a.left		{ background: none no-repeat 3px 60%; }
a.right		{ background: none no-repeat 95% 60%; }
К чему сейчас такие извращения? :shock:

Разве это удобно для быстрой переделки стиля под свои нужды? Слишком много противоречий вылезает из-за дублей и приоритета между файлами. Иначе б не появлялись постоянно вопросы, в каком фале, какой цвет и размер искать. А подмена одного colours.css не решает проблему, раз позиции, размеры картинок/кнопок указаны в другом файле. Всё равно появится желание скинуть в одну строку картинку с её позицией repeatом и цветом фона. Этот форум тому пример))
И разве такое многократное перечисление классов с множеством противоречий никак не сказывается на скорости работы парсера браузера?

Или этот вездесущий спан <span class="corners-bottom"><span></span></span>, для которого задали высоту:

Код: Выделить всё

span.corners-top, span.corners-bottom, span.corners-top span, span.corners-bottom span {
	font-size: 1px;
	line-height: 1px;
	display: block;
	height: 5px;
	background-repeat: no-repeat;
}
затронув, которую, поползут все отступы на странице? А иногда вынуждает отрицательные маргны прописывать. Реально как шило в з..

Смотреть шире в будущее - это хорошо, но с просиком как-то, ни туда, ни сюда не получается. :D
Аватара пользователя
MIT
Former team member
Сообщения: 2500
Стаж: 17 лет 6 месяцев
Откуда: 56°20′02″ с. ш. 36°42′45″ в. д.
Благодарил (а): 3 раза
Поблагодарили: 351 раз

Re: Prosilver - дублирование стилей

Сообщение MIT »

Dbonz писал(а):Зачем дублировать?
Здесь — не знаю. Я бы links.css вообще выкинул, необходимость в его наличии высосана из пальца.
Dbonz писал(а):Или вот пример
Более-менее логично. В одном месте описание того, что показывать, в другом — как.
Dbonz писал(а):И разве такое многократное перечисление классов с множеством противоречий никак не сказывается на скорости работы парсера браузера?
Нет.
Dbonz писал(а):Реально как шило в з..
Извини, но эта попаболь от недостаточной компетенции в вопросах вёрстки. Стоит принимать во внимание то, когда этот стиль верстался. Со всеми вытекающими.
Аватара пользователя
Dbonz
phpBB 2.0.0
Сообщения: 231
Стаж: 14 лет 2 месяца
Благодарил (а): 25 раз
Поблагодарили: 25 раз

Re: Prosilver - дублирование стилей

Сообщение Dbonz »

MIT писал(а):Более-менее логично. В одном месте описание того, что показывать, в другом — как.
Т.е. любой, даже самый маленький намёк на оптимизацию или снижение веса css – есть табу для приверженцев "православного" стиля phpBB? :lol:
MIT писал(а):Нет.
Охотно верю!
MIT писал(а):Извини, но эта попаболь от недостаточной компетенции в вопросах вёрстки. Стоит принимать во внимание то, когда этот стиль верстался. Со всеми вытекающими.
Я что-то тут упустил, или мы уже широко смотрим в далёкое прошлое с бравурными намёками в стиле "сам дурак"?

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

Следует вывод, что у разрабов целевой аудиторией была кучка MITов-специальстов, способная широко смотреть в свои частности, навроде подмены colours.css.

А тем временем будущее уже сегодня. И много ли за время нескончаемых обновлений этот стиль претерпел изменений? Ну за исключением пары хаков. ;)
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Prosilver - дублирование стилей

Сообщение Sheer »

Dbonz писал(а):раз позиции, размеры картинок/кнопок указаны в другом файле
И для этого еще нужно наизусть знать, что, где и в каком файле прописано.

Добавлено спустя 2 минуты 53 секунды:
Я как-то пытался сделать аналог стиля X-Static (основан на subsilver2), взяв за основу prosilver - чуть не удавился, но почти сделал. Когда подошло время вычистить css от лишнего мусора - плюнул на эту затею.

Вернуться в «Стили для phpBB 3.0.x»