Wie ändere ich CSS, wenn sich Anforderungen ändern?

7

Angenommen, ich habe die Anforderung, einige Seiten mit Tabellen zu generieren. Die ursprüngliche Anforderung ist für alle Tabellen 500px.

Ich würde mein CSS wie folgt schreiben:

%Vor%

Das gilt für alle Tabellen auf der ganzen Linie. Was nun, wenn sie die Anforderung ändern, so dass einige Tabellen 600px sind. Was ist der beste Weg, um das CSS zu modifizieren? Soll ich den Tabellen Klassen geben so

%Vor%

Oder gibt es einen besseren Weg für mich, mit solchen Veränderungen umzugehen?

    
DaveDev 17.06.2010, 12:20
quelle

8 Antworten

12

Ihr Vorschlag erfordert, dass Sie allen vorhandenen Tabellen eine Klasse hinzufügen, ebenso wie die neuen, breiten; obwohl du "ein paar Seiten" sagst und somit annehmen würde, dass es nur ein paar Tabellen gibt.

Wenn Sie die 500px-Tabellen als Standard und 600px als Ausnahmen betrachten, wäre es wahrscheinlich sinnvoller, einen Standardwert festzulegen:

%Vor%     
e100 17.06.2010, 12:35
quelle
6

Persönlich verwende ich gerne Klassen, die nach dem benannt sind, mit dem ich arbeite, wie Navigation oder Inhalt. Wenn Sie Klassennamen verwenden, um die Größe anzugeben, fühlt es sich an, als ob Sie Inline-Styles ausführen würden. Eine Person, die reinkommt und das CSS betrachtet, würde nicht wirklich wissen, mit was sie arbeiten.

    
Jeff Beck 17.06.2010 12:24
quelle
6

Das fühlt sich für mich nicht wie eine CSS-Frage an, es geht vielmehr um die Änderung von Anforderungen und CSS ... oder genauer, die Rückverfolgbarkeit von Anforderungen im Kontext von CSS ...

  

Das gilt für alle Tabellen auf der ganzen Linie. Was nun, wenn sie die requirment ändern, so dass einige Tabellen 600px sind.

Diese Anforderung wird nicht nur sagen "einige Tabellen sind 600px breit" und wenn es Sie benötigt, benötigen Sie eine bessere Möglichkeit, Anforderungen zu entlocken.

Stattdessen würde es wahrscheinlich so etwas wie "Tabellen auf der HR 'Personalverzeichnis' Seite wird 600px breit sein." Machen Sie die CSS-Regel speziell dafür!

%Vor%

... oder "Tabellen mit Suchergebnissen werden 600 Pixel breit sein.":

%Vor%

Sie könnten die Augen verdrehen und denken: "Aber dann habe ich so viele ähnliche CSS-Regeln!" aber sie haben schon einmal ihre Meinung geändert, also sei nicht überrascht, wenn sie es wieder tun!

Diese "redundanten" Regeln werden sich als nützlich erweisen, wenn der Kunde die Anforderungen erneut ändert und sagt, dass "Tabellen auf der Personalverwaltung" Seite 600px breit ist, Tabellen mit Suchergebnissen werden 800px breit sein und alle andere Tabellen haben eine Breite von 500 Pixeln. "
Nun haben diese miesen, nicht beschreibenden CSS-Attribute" Size1 "und" Size2 "Sie in den Fuß geschossen.

    
Richard JP Le Guen 17.06.2010 12:46
quelle
5

Ich würde ihnen Klassen mit aussagekräftigen Namen anstelle von SizeOne und SizeTwo geben, aber ja, das ist der beste Ansatz.

    
Keith Rousseau 17.06.2010 12:23
quelle
5

Sie können weitere Klassen definieren, die Grundeinstellungen überschreiben, indem Sie eine Body-Klasse (eine für das Body-Tag angegebene Klasse) verwenden. Wenn zum Beispiel die allgemeine Breite Ihrer Tabelle auf 100 und auf einer bestimmten Seite (mit bodyclass 'page2') eingestellt ist, müssen Sie eine Breite von 50px haben, Sie können es wie

machen %Vor%

also wird die zweite Klasse die vorherige Seite für die einzige Seite überholen, die bodyclass="page2" hat und wo auch immer die width 100 ist.

Es ist eine gute Übung, einen Klassennamen für den Körper basierend auf Abschnitt festzulegen.

    
Wind Chimez 17.06.2010 12:32
quelle
1

Wenn Sie mehrere verschiedene seitenweite Layouts haben, können Sie davon profitieren, einige Layout-Klassen zu erstellen und sie an Ihren Body (oder ein anderes enthaltendes Tag) anzuhängen:

%Vor%

Dann in Ihrem CSS:

%Vor%

Es sieht wie eine Verschwendung von Zeit aus und es wäre für nur eine Tabelle, aber wenn Sie auch Bilder, Divs usw. anders gestalten, können Sie eine Menge HTML-Markup speichern.

%Vor%

Ihre 99% Ihres HTML bleiben gleich (sehr nützlich, wenn Sie dies aus einer Datenbank ziehen und nicht jedes Mal anpassen wollen, wenn Sie es verwenden), Sie ändern nur die Body-Klasse.

    
Oli 17.06.2010 12:39
quelle
0

Die beste Methode wäre, Tabellen zu modifizieren, die darauf basieren, wer ihre Eltern sind. Zum Beispiel sollten bestimmte Seiten unterschiedliche IDs haben, z.B.:

%Vor%

Also in Ihrem CSS wäre:

%Vor%

Der Vorteil dieses Ansatzes besteht darin, dass Sie vollständig in CSS arbeiten, ohne dass Sie Ihren HTML-Dateien irgendetwas hinzufügen müssen. Das Hinzufügen von Klassen für so etwas wird Ihren Code in Zukunft unkontrollierbarer machen.

Wenn Ihr HTML-Code nicht mit der richtigen Kaskadierung geschrieben wurde, ist es viel besser, die richtigen IDs zu Elementen hinzuzufügen, als die Klassen nur den Tabellen hinzuzufügen. Die Auszahlung ist viel größer für die Arbeit, die Sie einfügen müssen.

    
nyousefi 17.06.2010 12:39
quelle
-5

Ich würde es schreiben:

%Vor%

und verwenden Versionskontrolle so etwas wie SVN. Was dein Vorschlag macht, macht die Dinge unglaublich kompliziert. Oder ohne Versionskontrolle:

%Vor%

Das Hinzufügen von vielen Klassen ist meiner Meinung nach das Ziel von CSS.

    
matpol 17.06.2010 12:31
quelle

Tags und Links