Anzeige - [Hier werben]
(?) Tags raten (?) (edit)
 
Reply to this topicStart new topicStart Poll
Diskussion

Stylesheet auf div "eingrenzen"

Goodbuys
Geschrieben am: Do 7.07.2011, 08:42
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 101
Mitglied seit: 19.10.2009


Hallo,

Hab mal eine kurze Frage.
Suche eine einfache Möglichkeit ein Stylesheet auf einen Bereich "einzugrenzen", will heißen, das nur in einem beispielsweise divs die css Klassen dieses sheets genutzt werden, und auf dem rest der Seite nicht.

Weil: Ein user hat die Möglichkeit seine eigenen css klassen zu definieren in einem externen oder hochgeladenem stylesheet. Nun soll das aber nicht die "normalen" Klassen der Seite beeinträchtigen.

Wäre möglich wenn der Inhalt des Kunden über ein Iframe z.B eingebunden wird, soll aber nicht so sein.

Ich nutze derzeit einfach nur die Reihenfolge wie die sheets im Head Bereich eingelesen werden, doch das ist mir irgendwie zu unsicher, und es kommt manchmal zu unerwünschten Resultaten.

Danke

Top
PMEmail Poster
Top
 
 
Timo Kühne
#2 Geschrieben am: Do 7.07.2011, 11:22 (+02:40)
Report PostQuote Post

AyomRank 2
****

Gruppe: Member (aktiv)
Beiträge: 10
Mitglied seit: 30.06.2011


Da gibt es natürlich mehrere Herangehensweisen. Entweder du definierst im HTML Dokument deine Klassen, oder du machst ein seperates Stylesheet, aber wenn es um Code geht ist es immer schwierig heraus zu lesen was wirklich gemeint ist. Stelle mir einen FA in Facebook, dann helfe ich dir. Du kannst mir dann den Code zeigen. Ist wahrscheinlich ne Sache von ein paar Minuten. Oder du schaust dir meine 12 Lektion meines HTML und CSS Video Trainings an. http://www.geld--verdienen-im-internet.de/....html#lektion12

Viele Grüße Timo Kühne - Internet Marketer aus Leidenschaft


--------------------
Seriös Geld verdienen im InternetSeriös Geld verdienen im Internet
Timo Kühne Internet Marketing Blog 2.0Timo Kühne Internet Marketing Blog 2.0
Internet-Marketing Forum 2.0Internet-Marketing Forum 2.0
Top
PMEmail PosterUsers Website
Top
 
chricke
#3 Geschrieben am: Do 7.07.2011, 11:28 (+00:06)
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 125
Mitglied seit: 30.06.2006


je nachdem wie du das einbindest kannst du das auch über die "pfade" der elemente regeln.
sagen wir mal du machst in der seite ein

<div class="usercontent">

dann kannst du alle styles der nutzer nur darauf beziehen wenn du diese entsprechen in der hierarchie einsortierst:

div.usercontent p {
...
}

div.usercontent div {
...
}

das würde aber heißen das du die styles der user wahrscheinlich umschreiben müsstest(?)


--------------------
Top
PMEmail PosterUsers WebsiteICQ
Top
 
Peter Schneider
#4 Geschrieben am: Do 7.07.2011, 13:36 (+02:08)
Report PostQuote Post

AyomRank 7
**************

Gruppe: Member (aktiv)
Beiträge: 1032
Mitglied seit: 23.02.2007


Mal ein Dummer Vorschlag:

Wenn Du im Quelltext zuerst ein Haupt-CSS angibst,

<link rel="stylesheet" type="text/css" href="haupt.css">

Und irgendwann danach ein User-Spezifisches CSS (mittels Javascript oder PHP)
<link rel="stylesheet" type="text/css" href="user-xyz.css">

Dann kann das User-spezifische CSS ja auch Werte aus dem Haupt-CSS überschreiben.

Das heisst: die ganze Diskussion über nutzerspezifische Klassen und weiss ich nicht was könnte man eventuell ersparen... Wenn die Herangehensweise halt geändert wird.
Top
PMEmail Poster
Top
 
chricke
#5 Geschrieben am: Do 7.07.2011, 15:02 (+01:25)
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 125
Mitglied seit: 30.06.2006


damit wäre es aber möglich ALLE styles der seite zu überschreiben - und das wollte er ja gerade nicht (wenn ich das richtig verstanden habe).


--------------------
Top
PMEmail PosterUsers WebsiteICQ
Top
 
Goodbuys
#6 Geschrieben am: Do 7.07.2011, 16:12 (+01:10)
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 101
Mitglied seit: 19.10.2009


Danke.

@Timo, danke, aber ich brauche keine css Grundlagen.
@chricke, Die styles, können nicht umgeschrieben /verändert werden,

@Peter So sieht das ganze momentan auch aus. Zuerst wird das Haupt css der Seite eingebunden, danach das userspezifische.
--> Hat zur Folge das das zweit eingebundene die Klassen des ersten eigentlich nicht überschreiben sollte, und die Ausgabe bei gleichen Werten immer das des ersten sein sollte. Das scheint mir aber nicht 100% zu funktionieren.
(Warum (mittels Javascript oder PHP) einbinden ?)

Die Stylesheets des Users können nicht bearbeitet werden. Der Nutzer kann Seine Datei hochladen, oder eine Datei verwenden die er sowieso irgendwo auf seinem Server hat, mittels url Angabe.

Beide werden als <link rel="stylesheet" type="text/css" href="XXX.css"> im html head eingebunden.

Aber eben, das das Nutzers soll Nur "wirksam" in einem bestimmten Bereich sein z.b ein div
Top
PMEmail Poster
Top
 
Wasi
Geekweb GmbH
#7 Geschrieben am: Fr 8.07.2011, 02:50 (+10:37)
Report PostQuote Post

AyomRank 6
Group Icon 2 Gruppe: Moderator, Experte

Gruppe: Moderator, Experte
Beiträge: 736
Mitglied seit: 6.02.2004


QUOTE (chricke @ Do 7.07.2011, 12:28)
das würde aber heißen das du die styles der user wahrscheinlich umschreiben müsstest(?)

Was man auch durchaus automatisieren kann. Wird eine CSS-Datei hochgeladen, laesst du ein Script drueber laufen, dass dir die gewuenschten Aenderungen einbaut, dann speicherst es auf dem Server. Ein Regex Replacement reicht da voellig aus. Eine CSS Kommentar ala 'div only' waer natuerlich von Vorteil. Doch ich geh mal davon aus, dass es sowas in der Richtung nicht gibt. Die serverseitige Manipulation der CSSes ist daher ne doch recht einfache Variante (sobald du den richtigen Regex dafuer zusammengestellt hast).


--------------------
Top
PMEmail PosterUsers Website
Top
 
Goodbuys
#8 Geschrieben am: Fr 8.07.2011, 15:31 (+12:41)
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 101
Mitglied seit: 19.10.2009


QUOTE (Wasi @ Fr 8.07.2011, 03:50)
QUOTE (chricke @ Do 7.07.2011, 12:28)
das würde aber heißen das du die styles der user wahrscheinlich umschreiben müsstest(?)

Was man auch durchaus automatisieren kann. Wird eine CSS-Datei hochgeladen, laesst du ein Script drueber laufen, dass dir die gewuenschten Aenderungen einbaut, dann speicherst es auf dem Server. Ein Regex Replacement reicht da voellig aus. Eine CSS Kommentar ala 'div only' waer natuerlich von Vorteil. Doch ich geh mal davon aus, dass es sowas in der Richtung nicht gibt. Die serverseitige Manipulation der CSSes ist daher ne doch recht einfache Variante (sobald du den richtigen Regex dafuer zusammengestellt hast).

An so was hab ich auch schon gedacht. Wäre aber nur ein 50% Lösung, da wenn lediglich eine Url zu einer "nicht antastbaren CSS Datei" auf einem anderen Server vorliegt, ist es nicht möglich diese zu manipulieren.

Gibt`s nicht etwas Javascript mässiges dass das ganze so wie beschrieben bewerkstelligen könnte ?

Habe lange gegoogelt, finde aber wirklich gar nix in der Richtung... sad.gif
Top
PMEmail Poster
Top
 
chricke
#9 Geschrieben am: Fr 8.07.2011, 21:06 (+05:35)
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 125
Mitglied seit: 30.06.2006


Meiner Meinung nach hast du in den von dir beschriebenen Szenario gar keine andere Wahl als die CSS-Datei vom User umzuschreiben.

Dabei ist allerdings nicht gesagt das der User das auch mitbekommen muß - wenn du dem User die Möglichkeit gibst die CSS-Datei über ein Webformular hoch- und runterzuladen kannst du im Hintergrund beliebig mit den Daten aus der Datei (nicht unbedingt mit der Datei selber) arbeiten und ihm ohne Probleme die Möglichkeit geben "seine" Datei auch wieder im Ursprungsformat herunter zu laden.

So kann der User beliebig an seinem CSS arbeiten und du brauchst dir keine Gedanken darüber machen das er dir auf deiner Seite was überschreibt.

Hoffe ich hab verständlich rüber gebracht was ich meine ;-)


--------------------
Top
PMEmail PosterUsers WebsiteICQ
Top
 
wurzel
#10 Geschrieben am: Fr 8.07.2011, 23:14 (+02:08)
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 93
Mitglied seit: 7.04.2009


binde doch erst das user-stylesheet ein (falls vorhanden) ... danach das haupt-stylesheet, was den erlaubten bereich sinnvollerweise nicht überschreibt ... ist kein user-stylesheet vorhanden, lädtst du ein eigenes stylesheet nach, welches den unbehandelten teil formatiert.


--------------------
Top
PM
Top
 
Goodbuys
#11 Geschrieben am: Sa 9.07.2011, 09:28 (+10:13)
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 101
Mitglied seit: 19.10.2009


QUOTE (chricke @ Fr 8.07.2011, 22:06)
..kannst du im Hintergrund beliebig mit den Daten aus der Datei (nicht unbedingt mit der Datei selber) arbeiten und ihm ohne Probleme die Möglichkeit geben "seine" Datei auch wieder im Ursprungsformat herunter zu laden.

Das ist ein guter Ansatz, so ist mir das noch gar nicht in den Sinn gekommen, und dann lassen sich die Daten aus einer Externen Datei auch auslesen und alles in z.b eine Temporäre Datei packen und dabei alle Klassen umschreiben auf ein einziges div. So bleiben die auch Ursprungs Dateien unverändert.

Mal sehen was sich machen lässt.

Für weiter Vorschläge immer offen.

Danke
Top
PMEmail Poster
Top
 
Peter Schneider
#12 Geschrieben am: Sa 9.07.2011, 11:45 (+02:16)
Report PostQuote Post

AyomRank 7
**************

Gruppe: Member (aktiv)
Beiträge: 1032
Mitglied seit: 23.02.2007


Ich will einfach betonen, dass ich persönlich es als relativ umständlich finde, User-Klassen "on-the-fly" ins Dokument zu schreiben. Das würde dann bedeuten, für jeden Nutzer eigene Dokumente zu generieren.
Ich wollte eigentlich nur DAGEGEN anschreiben.

Wenn im Dokument Klassen sinnvoll und dokumentiert STATISCH gesetzt sind, dann ist die Generierung des Dokumentes doch vereinfacht. Ich denke auch, dass Nutzer eventuell mit zuvielen Optionen (wie Wahl des Names einer Klasse) eventuell überfordert sind. Nicht zu sprechen davon, dass Du Deine Aufgaben verkomplizierst und die Generierung des Dokumentes verzögerst - eventuell sogar unnötig Last erzeugst, für eine "Profi-Funktion", die dann nur 0.5% der Nutzer beanspruchen.

Als Beipiel einer vereinfachten Herangehensweise möchte ich einmal den CSS-Editor beim Amazon Astore anfügen.

-> Wie Du diese User-generierten CSS-Files einbindest ist ja dann Dir überlassen. Ich würde z.B. ein Cookie setzen, mit dem Namen der User-CSS, dieses Cookie mittels JS abfragen und die User-CSS dann mittels JS in das Dokument reinladen.
Top
PMEmail Poster
Top
 
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:

Topic Options Reply to this topicStart new topicStart Poll

 


> Ähnliche Themen
Performance-Einbussen durch stylesheet.css? Webi 671 4 Mo 29.05.2006, 09:12
StyleSheet aus der Datenbank Hamlet 626 3 Di 28.12.2004, 13:17
zentrale stylesheet-datei Souldja 595 1 Mi 8.12.2004, 12:08


Günstig werben auf Ayom:
Kontakt: ayom@small-n-tall.com



Anzeigen

Textlinks kaufen oder anbieten





[Hier werben]

 

Statistiken:
Top 10 Autoren heute
Top 50 Autoren insgesamt