Seite 1 von 1

[3.2] prosilver: globale font-family Deklaration doppelt?

Verfasst: 12.11.2017 13:08
von ZNC
Ich passe den 3.2.1 prosilver-Style auf meine eigenen Bedürfnisse erneut an. Die von mir allgemeingültig verwendeten Schriftarten sind
body {font-family: Arial, Tahoma, Helvetica, Verdana, sans-serif;}

Zwei Möglichkeiten der Anpassung bieten sich mir: entweder ich deklariere eine eigene CSS-Datei, die ich zuletzt aufrufe, damit die anderen Styles überschrieben werden oder ich passe meine Wünsche direkt an der jeweiligen prosilver-CSS-Dateien an. Um den Stylecode nicht aufzublähen, möchte ich dieses mal an den prosilver-CSS-Dateien meine Anpassungen vornehmen.

Damit ich weiß, wo ich welche Daten ändern bzw. ergänzen muß, hatte ich den prosilver-CSS-Style in eine eigene Accessdatenbank eingelesen. Mir fiel deshalb auf, dass die allgemeingültige font-family-Deklaration doppelt, aber unterschiedlich ist:
  • body > font-family "Helvetica Neue", Helvetica, Arial, sans-serif > base.css
    body > font-family Verdana, Helvetica, Arial, sans-serif > common.css
Gibt es Gründe hierfür?

Re: [3.2] prosilver: globale font-family Deklaration doppelt?

Verfasst: 12.11.2017 20:07
von Lehrling
Die Stylesheets, die de facto für das Layout zuständig sind, sind folgende:

common.css
links.css
content.css
buttons.css
cp.css
forms.css
icons.css
colours.css
responsive.css

Die übrigen Stylesheets erfüllen andere Funktionen (Cross Browser Consistency z.B. ) und sollten auf keinen Fall verändert werden.

Re: [3.2] prosilver: globale font-family Deklaration doppelt?

Verfasst: 12.11.2017 20:46
von Melmac
Es gibt mehr als diese beiden Möglichkeiten, die Du ins Auge gefasst hast :wink:
ZNC hat geschrieben:oder ich passe meine Wünsche direkt an der jeweiligen prosilver-CSS-Dateien an.
Das wäre dann, IMHO, die Variante, die nicht nur den meisten Ärger bei späteren Updates machen kann sondern die auch noch gleichzeitig dafür sorgt, dass dies
ZNC hat geschrieben:Um den Stylecode nicht aufzublähen
trotzdem eintritt :wink:

"Aufgebläht" ist für mich ein Style, der mehr Code mit sich führt, als er wirklich für sich selbst benötigt. Da Dein Style auf prosilver aufsetzt, also ein angepasstes prosilver sein wird, kannst Du ihn auch sehr schlank gestalten: er bringt nur noch den Code mit, in dem er sich von prosilver unterscheidet - und benutzt alles andere von dort mit.
Hier => [3.1/3.2] Einen Style für phpBB 3.1/3.2 modifizieren und erstellen sind alternative Ansätze hierfür beschrieben, die Dir die gleichen Freiheiten bei der Gestaltung bieten, Dir aber das Leben bei zukünftigen Updates sehr erleichtern können.
Je weniger Dateien Du dann prüfen, abgleichen und aktualisieren musst, umso einfacher, schneller und sicherer geht das dann auch über die Bühne.

Je nachdem, welchen Weg Du dabei gehen willst und/oder wie umfangreich am Ende Deine Anpassungen ausfallen werden, kannst Du die Anzahl der mitzuführenden Template- und/oder CSS-Datein im Extremfall bis auf ein paar wenige reduzieren.

Re: [3.2] prosilver: globale font-family Deklaration doppelt?

Verfasst: 13.11.2017 07:05
von ZNC
Hallo Lehrling,

base.css + common.css werden "gezogen", denn ich habe mir die im overall_header aufgerufenen Styles und Aufrufreihenfolge angeschaut:

Code: Alles auswählen

1.	<link href="{T_FONT_AWESOME_LINK}" rel="stylesheet">
2.	<link href="{T_STYLESHEET_LINK}" rel="stylesheet">
3.	<link href="{T_STYLESHEET_LANG_LINK}" rel="stylesheet">
4.	<!-- IF S_CONTENT_DIRECTION eq 'rtl'.	<link href="{T_THEME_PATH}/bidi.css?assets_version={T_ASSETS_VERSION}" rel="stylesheet"><!-- ENDIF -->
5.	<!-- IF S_PLUPLOAD.	<link href="{T_THEME_PATH}/plupload.css?assets_version={T_ASSETS_VERSION}" rel="stylesheet"><!-- ENDIF -->
6.	<!-- IF S_COOKIE_NOTICE.	<link href="{T_ASSETS_PATH}/cookieconsent/cookieconsent.min.css?assets_version={T_ASSETS_VERSION}" rel="stylesheet"><!-- ENDIF -->
7.	<!--[if lte IE 9]><link href="{T_THEME_PATH}/tweaks.css?assets_version={T_ASSETS_VERSION}" rel="stylesheet"><![endif]-->
8.	{$STYLESHEETS}
8.	<!-- EVENT overall_header_stylesheets_after -->

besuche ich meine Home-Seite, ist sie dann folgendermaßen umgesetzt:
1.	<link href="./assets/css/font-awesome.min.css?assets_version=30" rel="stylesheet">
2.	<link href="./styles/prosilver/theme/stylesheet.css?assets_version=30" rel="stylesheet">
	ruft wiederum auf: 
		2.1	normalize.css
		2.2	base.css
		2.3	utilities.css
		2.4	common.css
		2.5	links.css
		2.6	content.css
		2.7	buttons.css
		2.8	cp.css
		2.9	forms.css
		2.10	icons.css
		2.11	colours.css
		2.12	responsive.css
3.	<link href="./styles/prosilver/theme/tr/stylesheet.css?assets_version=30" rel="stylesheet">
6.	<link href="./assets/cookieconsent/cookieconsent.min.css?assets_version=30" rel="stylesheet">
7.	<!--[if lte IE 9]><link href="./styles/prosilver/theme/tweaks.css?assets_version=30" rel="stylesheet"><![endif]-->





Hallo Melmac,

ich ändere nie an den Original-prosilver-Dateien, sondern agiere ähnlich wie in Deinem Link beschrieben. Bis zur Version 3.1.6 hatte ich meine Style-Dateien "aufgesetzt" - also nichts an den Originalen geändert, sondern in der Kopie, die von prosilver "erbt". Es sind relativ wenige Änderungen, denn ich benutze zu 99,5 % sowieso die prosilver-Vorgaben.
Je weniger Dateien Du dann prüfen, abgleichen und aktualisieren musst, umso einfacher, schneller und sicherer geht das dann auch über die Bühne.
Natürlich hast Du recht, aber will man einen etwas "individuelleren" Style, kommt man nicht umhin, Änderungen vorzunehmen - egal wie.

Wenn ich feststelle, dass in Reihenfolge folgende Anweisungen zum Tragen kommen, dann kann ich zwar den von phpBB bevorzugten Weg gehen, aber die Frage bleibt: Warum?
body > font-family "Helvetica Neue", Helvetica, Arial, sans-serif > base.css
body > font-family Verdana, Helvetica, Arial, sans-serif > common.css

Und nach wie vor bin ich von phpBB begeistert, es macht genau das, wofür es gedacht ist, es "kümmert" sich um Foren. Trotzdem hinterfrage ich, weil ich bei manchen Sachen den Sinn nicht verstehe.

Re: [3.2] prosilver: globale font-family Deklaration doppelt?

Verfasst: 13.11.2017 13:29
von Talk19zehn
Hello,
*)
body > font-family "Helvetica Neue", Helvetica, Arial, sans-serif > base.css
body > font-family Verdana, Helvetica, Arial, sans-serif > common.css
Die base.css wird als erstere lt. stylesheet.css eingelesen. Die jeweilige CSS-Klasse nimmt Alternativschriften auf, die in der Reihenfolge im jeweiligen Browser und natürlich systemabhängig abgearbeitet werden. Darum schließe ich aus dem obigen Ansatz, dass jemand, der keine Schriftart Helvetica Neue hat, die normale Helvetica sieht, hätte er auch diese nicht, Arial.
In der common.css, die nach der base.css geladen wird, kommt als weitere Alternative Verdana hinzu.

Ich sehe das Prozedere genauso, wie Lehrling. Die Schriftfamilien in der heutigen Zeit, haben eine hohe Bedeutung. Zumal Browser, Betriebssysteme - so auch mobil - ein unterschiedliches Erscheinungsbild bewirken können. Primär- und Sekundärsystemschriften momentan in der erwähnten CSS-Reihenfolge zu deklarieren, ist aus meiner Sicht daher korrekt bzw. wichtig und vor allem zweckmäßig. Vielleicht liege ich aber auch völlig falsch.

Evtl. kann jemand aus Entwicklersicht diesen derzeitigen *)Standard (vgl. Zitat) genauer erläutern.

Viele Grüße

Re: [3.2] prosilver: globale font-family Deklaration doppelt?

Verfasst: 13.11.2017 16:10
von Melmac
Ich glaube zwar nicht, dass ich hierfür qualifiziert genug bin ... mal schauen, ob ich es trotzdem halbwegs verstanden habe.
(Bitte mich korrigieren, okay?!)

Um angezeigt werden zu können, muss eine Schriftfamilie dem Browser "bekannt" bzw. auf dem jeweiligen Rechner installiert sein - je nach Betriebssystemwelt (und teilweise auch Browser) unterscheidet sich die jeweilige Verbreitung der Familien auf der installierten Basis

Helvetica, die in der base.css mit den zugehörigen passenden fall backs definiert wird, wird in der Mac-Welt fast durchgängig unterstützt, in der Windowswelt dagegen viel eingeschränkter.
Bei der Schriftfamilie Verdana ist es dagegen genau umgekehrt: Windows hui, MacOS eher pfui :wink:

Um beide Welten jetzt gleichzeitig und möglichst vollständig abdecken zu können, wird diese styleweite Ausgangsdefinition in der common.css quasi erweitert/modifiziert, indem Verdana vorangestellt wird.
Helvetica und dessen fall backs (die primär die Mac-Welt abdecken) werden so zum fall back für Verdana (das primär die Windows-Welt bedient),

Dies in zwei Schritten statt nur einem zu machen, hat wohl mit den zugrunde liegenden Coding Guidelines zu tun: es wird eine Schrift definiert und sollten Modifikationen erforderlich werden, dann geschieht dies durch eine eigene zusätzliche/ergänzemde Modifikation dieser Basisdefinition.

Ist jetzt nur eine Vermutung: diese base.css dürfte der erste Schritt sein, das vorhandene, eher chaotische CSS in diese Richtung hin zu "entfilzen".

Re: [3.2] prosilver: globale font-family Deklaration doppelt?

Verfasst: 13.11.2017 19:05
von Talk19zehn
:grin: Hm, - meintest du nicht, dass Apple auf dem Mac wie schon unter iOS Helvetica Neue einsetzt? Vielleicht habe ich mich jetzt auch vertan.

Als eine Art Entfilzung würde ich das nicht einmal interpretieren wollen. Für mich ist´s ein gangbarer Weg, den phpBB beschritten hat. In der base.css "schraubt man nicht". Es sei denn, ich bin so fit, dass ich die Auswirkungen überblicke.

Und auch in der common.css für Body will gut überlegt sein, was in Folge zum Einsatz kommt.

... grübel und LG

Re: [3.2] prosilver: globale font-family Deklaration doppelt?

Verfasst: 13.11.2017 19:30
von Melmac
Hi :)
Talk19zehn hat geschrieben:meintest du nicht, dass Apple auf dem Mac wie schon unter iOS Helvetica Neue einsetzt?
daher ja
Melmac hat geschrieben:elvetica, die in der base.css mit den zugehörigen passenden fall backs definiert wird, wird in der Mac-Welt fast durchgängig unterstützt,
:wink:

Zu der Sache mit "entfilzen" finde ich auf die Schnelle jetzt gerade nicht das Topic in der Area51, aber Hanakin reißt dort ein paar Dinge bezüglich der zukünftigen Entwicklung im Styledesign an, die hierzu gut passen würden.
Er scheint gerade an einem eigenen Framework zu basteln, das über verschiedene Layer eine solche Trennung in einen "unveränderlichen Kern", eine "funktionale" sowie eine darauf aufsetzende, durch Styleautoren anpassbare Codeebene ermöglichen soll - zumindest legen das seine entsprechenden Dokumentationen und "Guidelines" auf GitHub nahe.

Re: [3.2] prosilver: globale font-family Deklaration doppelt?

Verfasst: 14.11.2017 05:33
von ZNC
OK ich habs verstanden, lieben Dank. Den Fallback hat man zwar durch die Reihenfolge der Schriftdeklarationen, so könnte man diese in einem Prozedere in entsprechender Reihenfolge in der base deklarieren, diese ist ja durch eine andere später "gezogene" CSS-Deklaration überschreibbar. Aber wenn seitens der phpBB-Community vereinbart ist, die base als "unberührbar" zu betrachten und die common als änderbar, so ist dies ein vereinbartes Regelwerk.