novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien

Einsatz von Inline-CSS und JavaScript-Code ist nicht ideal

Datum

23.02.2015

Dieser Beitrag wurde verfasst von:

Andy Kurz

Immer wieder trifft man bei Internetseiten auf Inline-CSS bzw. JavaScript-Code. Im folgenden Beitrag will ich euch verdeutlichen, warum diese Herangehensweise schlecht ist und nicht für den Entwickler spricht, da Dinge wie Caching, DRY-Prinzip, Wartbarkeit und Media-Queries gänzlich außer Acht gelassen werden.

Was ist überhaupt Inline-Style und Ja​​vaScript?

Wie in folgendem Beispiel zu sehen ist, werden Style Information oder JavaScript Funktionen in den HTML-Tag geschrieben.

Screenshot Style Information und JavaScript Funktionen in einem HTML-Tag

Was ist eigentlich so schlecht daran?

Wie man oben im Beispiel schon erkennen kann, wird der Code dadurch sehr schnell unübersichtlich, ganz zu schweigen davon, dass weder Style noch Dynamik etwas im HTML zu suchen haben.
HTML dient nur zur Strukturierung von Inhalten wie Texten, Bildern und Links in einem Dokument. Wie die Seite letztendlich aussehen soll, wird in einer CSS-Datei hinterlegt bzw. das Verhalten (Dynamic, Validierung, usw.) in einer JavaScript-Datei. ​

Caching​​

Auch wenn die Geschwindigkeit der Internetleitungen immer schneller wird, ist Caching ein Thema, das man auf keinen Fall außer Acht lassen sollte. Gerade im Mobilen-Bereich ist es extrem wichtig, dass Internetauftritte schnell geladen werden. Wenn dann beim ersten Aufruf einer Seite CSS- und JS-Dateien in den Cache wandern, müssen diese beim nächsten Klick oder Besuch nicht mehr geladen werden. Dies steigert dann natürlich die Performance einer Seite deutlich.

DRY-Pri​​nzip

Don’t repeat yourself ist ein Prinzip, welches besagt, dass Redundanz zu vermeiden oder zu reduzieren ist. Gerade bei Inline-CSS wird dieser Punkt der Redundanz gänzlich ignoriert, da jeder Style und jede Funktion immer und immer wieder in die einzelnen Elemente geschrieben werden müssen.

Wartb​arkeit

Kommt es zu Änderungswünschen, wird es je nach Größe der Internetseite ziemlich aufwendig dies anzupassen. Hat man zum Beispiel jedem Link den Inline-Style „color: “red”; font-weight: “bold”;” gegeben und möchte nur die Color auf „green” ändern, ist man für eine sehr kleine Anpassung, die eigentlich nur in einer einzigen CSS-Datei gemacht werden müsste, einige Zeit beschäftigt.

Media-Queries

Jedem dürfte der Begriff „Media-Queries” hoffentlich bekannt sein, vor allem in Zeiten von Web 2.0. So kann man zum Beispiel mit der folgenden Codezeile über das Attribut “media” mit dem Value “print” angeben, dass eine seperate CSS-Datei für den Druck des Dokuments eingebunden wird.

<link href="/print.css" rel="stylesheet" media="print" type="text/css" />​

​​
Eine weitere Möglichkeit ist es, verschiedene Elemente bei verschiedenen Auflösungen anders zu formatieren. ​

@media only screen and (max-width500px) {
    .content{
        width100%;
    }
}

Diese Möglichkeiten stehen mit Inline Styles nicht zur Verfügung und somit kann nicht auf spezielle Auflösungen(Handy, Tablet, Drucker usw.) reagiert werden.  ​

Fazit

Allein rein aus Sicht der Wartbarkeit und Performance ist es ratsam, Code klar und strukturiert zu schreiben, sowie JavaScript in eine JS-Datei und die Styles in eine CSS-Datei auszulagern. Für das Styling sollten CSS-Klassen und in JavaScript Event-Handler verwendet werden. Wir bei novaCapta schreiben unser CSS in LESS (http://www.lesscss.de), welches eine dynamische Stylesheet Sprache ist, die noch um einiges strukturierter und mächtiger ist. So können zum Beispiel Variablen für Farben, Schriftgrößen und Maße in einer separaten Datei hinterlegt werden, was den Wartungsaufwand immens reduziert, da alles nur noch an einer Stelle im Code geändert werden muss. Ebenfalls kann man Mixins (Funktionen) definieren, die an verschiedenen Stellen eingebunden werden können ohne jedes mal alles neu schreiben zu müssen.

.background-gradient (@color1, @stop1, @color2, @stop2) {
    background: -moz-linear-gradient(top, @color1 @stop1, @color2 @stop2);
    background: -webkit-gradient(linear, left topleft bottom, color-stop(@stop1, @color1),
     color-stop(@stop2, @color2));
    background: -webkit-linear-gradient(top, @color1 @stop1,@color2 @stop2);
    background: -o-linear-gradient(top, @color1 @stop1, @color2 @stop2);
    background: -ms-linear-gradient(top, @color1 @stop1, @color2 @stop2);
    background: linear-gradient(to bottom, @color1 @stop1, @color2 @stop2);
    filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=@color1,
     endColorstr=@color2);
}

view source

print?

.main-navigation {
    .background-gradient(#fff5px#99918px);​
}
novaCapta
Andy KurzBlog
novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Blog

Braucht man wirklich jQuery?

Ich beleuchte diese Frage anhand von Beispielen aus der Praxis und hinterfrage, ob in der modernen Browserlandschaft auch natives JavaScript ausreicht.

novaCapta
Blog
Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog

Handlebars.js – Semantische Template Library

Handlebars.js ist eine Template-Engine für JavaScript. Sie ermöglicht dem Entwickler, mit Hilfe von semantischen Templates Business-Logik und HTML zu trennen.

novaCapta
Blog
Erstellung einer Mitarbeiter-App
Blog

Wer benötigt ein Intranet?

Welche Unternehmen brauchen ein Intranet und warum benötigen sie es? Um diese Frage sinnvoll zu beantworten, lohnt es sich, die Bedeutung und Funktionen eines Intranets zu verstehen.

novaCapta
Blog
Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog

Multi Factor Authentication (Azure und SharePoint)

Microsoft führt mit der Multi Faktor Authentisierung (MFA) eine weitere und kostenlose Authentifizierungsebene zu in Office 365 hinzu.

novaCapta
Blog
Detailaufnahme eines Fingers, dessen Fingerabdruck zur Identifizierung am Laptop genutzt wird. Daben sieht man ein Sicherheitsschloss.
Blog

NIS2 kommt: So bereiten Sie sich optimal vor

NIS2 kommt. Wie bereiten Unternehmen sich optimal vor? In unserem Blogbeitrag inkl. Video geben unsere Experten konkrete Tipps - und zeigen, welche Vorteile es hat, die Maßnahmen umzusetzen!

novaCapta
Offering
Work partners sitting in office surfing phone in company
Offering

NIS2 Compliance Navigator

Die neue NIS2 Richtlinie für Cybersicherheit verstehen und Möglichkeiten zur Umsetzung der Anforderungen mit Microsoft Technologien kennenlernen​ - mit unserem kostenlosen Angebot!

novaCapta
Unternehmen
novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Unternehmen

Was uns ausmacht – Wer wir sind – Warum du uns fehlst

Bei der novaCapta GmbH gestalten rund 260 kreative Köpfe seit vielen Jahren überzeugende Lösungen für den Digital Workplace. Denn unsere Mitarbeitenden sind Expert:innen für Intranets, Kollaborationsportale, Business-Intelligence-Lösungen, Individualanwendungen und vieles mehr. Unsere Dienstleistungspalette auf Basis von Microsoft Teams & SharePoint, Office 365 / Microsoft 365, Azure and Power BI geht über den üblichen IT-Lifecycle hinaus: in Projekten fließen kompetente Beratung, Kreativität und Technik ergänzend zusammen.

novaCapta
Blog
Foto vom Führungskräfteleitlinien-Workshop der novaCapta im Kölner Büro
Blog

Warum & wie wir Führungsleitlinien entwickelt haben

Um unsere Unternehmenskultur zu stärken und weiterzuentwickeln, haben wir Führungsleitlinien erarbeitet, die die Verantwortung unserer Führungskräfte beschreiben und ihnen eine Verhaltensorientierung geben sollen. Wie der Prozess zur Konzeption und Implementierung der Führungsleitlinien aussah, teilen wir in diesem Beitrag.

novaCapta
Kathrin HeinrothBlog
novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Blog

Spaltenformatierung in SharePoint: Column formatting vs. JS

Eine Gegenüberstellung der Spaltenformatierung von JSLink zu der neueren Methode Column formating in Office 365.

novaCapta
Referenz
View of the PUMA Headquarters in Herzogenaurach
Referenz

PUMA: Plattform für Low-Code/No-Code-Lösungen

Dank der Microsoft Power Platform profitiert PUMA von maßgeschneiderten Diensten, die sich ohne großen Entwicklungsaufwand erstellen lassen. Die neuen Businessprozesse können flexibel erweitert, weiterentwickelt, skaliert und über das Center of Excellence zentral mitverfolgt werden.

novaCapta
Referenz
Panoramaaufnahme der WENKO Hauptzentrale
Referenz

WENKO: Auftragsvorgänge effizient mit Power Apps managen

Durch den Einsatz von Power Platform hat WENKO seinen Außendienstvertrieb revolutioniert und die umständliche Überführung von den bisher schriftlichen Bestellungen digitalisiert. Aufträge werden jetzt einfach in der Low-Code/No-Code Scan-App erstellt und direkt an SAP übertragen.

novaCapta
Blog
Ausschnitt vom Firmenevent 2023 der novaCapta
Blog

Warum Firmenevents Teil unserer Unternehmenskultur sind

Unsere Firmenevents sind fester Bestandteil unserer Unternehmenskultur. Warum dem so ist erfahrt ihr im Video! 🎉

novaCapta
Blog
Smiling middle aged executive, mature male hr manager holding documents using laptop looking at pc computer in office at desk, checking financial data in report, doing account paper plan overview.
Blog

Warum KI ein stringentes Contentmanagement benötigt

Ein ganzheitliches Content- und Dokumentenmanagement ist wichtig, damit KI ihr volles Potential ausschöpfen kann. Warum dies so ist und wie Sie das Thema erfolgreich angehen, erklärt unser Experte Wolfgang Raestrup im Video-Interview.

novaCapta
Workshop
panoramic banner. young woman using mobile smart phone for scan and payment online with family budget cost bills on desk in home office, plan money cost saving, investment, finance, expenses concept
Workshop

Low-Code Workshop mit Power Apps

In unserem Workshop lernen Sie Step-by-Step, wie Sie benutzerdefinierte Anwendungen mit Power Apps erstellen, die auf mobilen Geräten ausgeführt werden.

novaCapta
Blog
Young man chatting with people from Power Platform Community
Blog

Warum Unternehmen Power Platform Communities fördern sollten

Die Idee hinter Communities: Eine Gruppe soll es einfacher machen, dass Thema zu verstehen, Fragen zu stellen und Lösungen anzubieten. Das gilt auch für die Power Platform. Wer Austausch zulässt, profitiert von schnellen und häufig pfiffigen Lösungen.

novaCapta
Blog
Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog

Teams Extensions – Erstellen von Erweiterungen für Teams

Mit der Entwicklung von Extensions kann Teams einfach erweitert werden. Hierfür gibt es das App Studio, welches über den Teams Store installiert werden kann.

novaCapta
Leistung
Microsoft 365 Panel der novaCapta
Leistung

Migration von Confluence zu SharePoint

Atlassian Confluence und Microsoft SharePoint teilen viele Gemeinsamkeiten. Trotzdem kann es gute Gründe geben, um von Confluence auf SharePoint umzusteigen. Mit unserem novaCapta Migration Tooling lassen sich Dateien, Spaces, Chats etc. größtenteils automatisiert in Ihre Microsoft 365 Landschaft migrieren.

novaCapta
Unternehmen
novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Unternehmen

Einstieg und Weiterentwicklung

Hier findet sich die passende Stelle mit dem passenden Einstiegslevel für jede:n. Und auch Ausbildung wird bei uns großgeschrieben: Die TIMETOACT GROUP engagiert sich bereits seit 2001 in der Berufsausbildung in kaufmännischen und IT-Berufen und bietet nicht nur Berufseinsteiger:innen vielfältige Möglichkeiten bei berufsbegleitenden Studiengängen und Fortbildungen.