Link zu einzelnem Beitrag

Lob, Motzerei & Anregungen für und über das Vegan-Forum
Benutzeravatar
Martin
SUPERPROGRAMMARTIN *tüdelütt-tüdüüüü*
Beiträge: 4574
Registriert: 03.03.2013
Wohnort: Kiel

Beitrag von Martin » 7. Apr 2013 14:26

Die Buttons haben unterschiedliche margins, daher erscheinen sie auseinandergerückt:

Code: Alles auswählen

.postbody ul.profile-icons li { margin: 0 3px; }
ul.profile-icons li.info-icon, ul.profile-icons li.report-icon { margin: 0 3px 0 0; }
ul.profile-icons li.edit-icon { margin: 0 0 0 3px; }
ul.profile-icons li.quote-icon { margin: 0 0 0 10px; }
Die 10 Pixel links beim quote-icon dürften der Grund sein. Eigentlich würde die erste Regel ausreichen, die weist allen Icons einheitlich links und rechts einen Abstand von 3 Pixeln zu.


Das mit dem "online"-Banner über dem Avatar links oben in der Ecke könnte so aussehen:
vf-onlinepic2.png
vf-onlinepic2.png (63.4 KiB) 3516 mal betrachtet
Sieht nicht so gut aus, wenn kein Avatar gewählt ist, weil es dann den Namen überdeckt... :kk:

Der Code dafür wäre:

Code: Alles auswählen

.post.online dl.postprofile {
	position: relative;
}
.post.online dl.postprofile dt:before {
	content: url("./styles/prosilver/imageset/de/icon_user_online.gif");
	position: absolute;
	top: -10px;
	left: -10px;
}
Erklärung: mit content kann man Texte und Bilder per CSS in eine Seite einfügen.
Die zweite Regel fügt also vor (Selektor :before) das dt-Element (das vom phpBB für Avatar & Username genutzt wird) das online-Bild hinzu, aber nur in die Postings, deren Verfasser gerade online ist (durch die etwas sperrige Selektion "div mit Klassen .post und .online, darin ein dl mit Klasse .postprofile, darin das dt").

Das Bild soll nun aber genau positioniert wird und wird mit position:absolute aus dem normalen Kontextfluss herausgenommen. Die Positionsangaben beziehen sich dann auf das nächsthöhere Elternelement, welches ebenfalls eine Angabe für position besitzt - dafür die erste Regel, die dem dl-Element ein position:relative zuweist. (Diese erste Regel für sich allein bringt also überhaupt nichts, darf aber dennoch nicht gelöscht werden, da sonst Regel 2 nicht mehr funktioniert.)

Die Positionsangaben in der zweiten Regel errechnen sich einfach aus:
top: span.corners-top height (5px) + dl.postprofile margin-top (5px) = 10px
left: div.post padding-left (10px)
Um diese Werte wird das Bild nach oben & links verschoben, um genau in der linken oberen Ecke platziert zu werden.

Tested in Firefox, Chrome, Internet Explorer (10), Opera. :ugeek:
»Souverän ist nicht, wer viel hat, sondern wenig braucht.« - Niko Paech

Benutzeravatar
Martin
SUPERPROGRAMMARTIN *tüdelütt-tüdüüüü*
Beiträge: 4574
Registriert: 03.03.2013
Wohnort: Kiel

Beitrag von Martin » 7. Apr 2013 15:08

Shameless selfquote...
Martin hat geschrieben:Sieht nicht so gut aus, wenn kein Avatar gewählt ist, weil es dann den Namen überdeckt... :kk:
Das wiederum könntest du umgehen, indem du einen weiteren Trick einbaust.

Zunächst dafür sorgen, dass das online-Bild nur bei Postings angezeigt wird, deren Benutzer einen Avatar haben.
Dazu mit folgendem Selektor nur genau dem zweiten a-Element innerhalb des dt-Elements das online-Bild zuweisen. Das funktioniert, weil bei Benutzern ohne Avatar nur genau 1 a innerhalb des dt existiert; bei Benutzern mit Avatar gibt es 2 a-Elemente.

Code: Alles auswählen

.post.online dl.postprofile dt a:nth-of-type(2):before {
   content: url("./styles/prosilver/imageset/de/icon_user_online.gif");
   position: absolute;
   top: -10px;
   left: -10px;
}
Dann wie von phpBB vorgesehen das online-Bild für alle Benutzer anzeigen lassen:

Code: Alles auswählen

.online {
    background-image: url("./styles/prosilver/imageset/de/icon_user_online.gif");
    background-position: left top;
    background-repeat: no-repeat;
}

Ergebnis:
vf-onlinepic3.png
vf-onlinepic3.png (59.02 KiB) 3509 mal betrachtet
»Souverän ist nicht, wer viel hat, sondern wenig braucht.« - Niko Paech

Benutzeravatar
illith
Berufs-Veganer
Beiträge: 70207
Registriert: 09.01.2008
Wohnort: Niedersachsen

Beitrag von illith » 8. Apr 2013 01:03

du bist so krass! :eek:

leider hab ich immernoch nicht diese äußerst ominöse stylesheet-resistenz des forum gelüftet (das phpBB-forum konnte auch nicht helfen) - und wenn ich das jetzt alles nur via ACP in die datenbank schreib, kann ich das ja permanent neu machen -.-
das ist echt bizarr: selbst wenn ich die haupt-CSS-datei komplett vom server lösche, den foren cache via FTP *und* ACP lösche und den browser mehrfach hart reloade tut sich - nix.
dachte schon, ob ich durch irgendeinen merkwürdigen umstand in nem falschen ordner auf dem webspace gelandet bin (eigentlich eh ausgeschlossen, weil ja bookmarks), aber wenn ich die index.php umbenenn, hat das umgehend effekt^^

hab auch schon mehrere FTPs und webeditoren ausprobiert, direkt auf dem space bearbeitet und runtergeladen, lokal bearbeitet und wieder geuppt... es ist ein rätsel.

edit: achso - die andere sache war auch sehr lieb :)
☜★VeganTakeover.de★☞
BlogShirtsBuch

Benutzeravatar
Martin
SUPERPROGRAMMARTIN *tüdelütt-tüdüüüü*
Beiträge: 4574
Registriert: 03.03.2013
Wohnort: Kiel

Beitrag von Martin » 10. Apr 2013 19:26

Im Test-phpBB, das ich hier lokal laufen habe, gibt es einen Schalter, der einstellt, ob das Stylesheet für ein Theme im Dateisystem oder in der Datenbank liegt.
ACP > Styles > Themes > Theme xxx > Details

Allerdings meckert er beim Standard-Theme (prosilver) rum, wenn ich den Schalter auf "Dateisystem" setze:
Das Theme erfordert, dass seine Stylesheets auf Platzhalter analysiert werden können. Dies ist nur möglich, wenn es in der Datenbank gespeichert wird.
Dagegen hilft, folgende Datei des Themes zu bearbeiten:
styles\prosilver\theme\theme.cfg

Code: Alles auswählen

#
# You have to turn this option on if you want to use the
# path template variables ({T_IMAGESET_PATH} for example) within
# your css file.
# This is mostly the case if you want to use language specific
# images within your css file.
#
parse_css_file = 1
Wenn ich die Option auf "0" setze, kann ich den Schalter im ACP ändern. Dann werden auch Änderungen, die ich direkt in der stylesheet.css (im selben Ordner) vornehme, direkt angewendet.

Achtung: bevor du diese Option oder den Schalter änderst, mach bitte eine Sicherung aller .css-Dateien im Theme-Ordner und ausserdem des Themes im ACP (d.h. ACP > Styles > Themes > Theme xxx > Ändern > den ganzen CSS-Text).


Oder meintest du etwas ganz Anderes?
»Souverän ist nicht, wer viel hat, sondern wenig braucht.« - Niko Paech

Benutzeravatar
Vampy
Vactologist
Beiträge: 36085
Registriert: 18.02.2008
Wohnort: Frankfurt an der Franke

Beitrag von Vampy » 10. Apr 2013 19:31

illith hat geschrieben:hab das onlinebanner jetzt doch nach rechts gesetzt (links über dem avatar liegend wär aber noch mein fav) - dazu musste ich die buttons ein bisschen nach links schieben - aus irgendienem grund sind sie dabei aber auch auseinandergerückt?!^^
ich fands vorher übrigens deutlich besser - auf den avatar guck ich immer automatisch, rechts guck ich nur hin wenn ich zitieren will.
Think, before you speak - google, before you post!

Benutzeravatar
illith
Berufs-Veganer
Beiträge: 70207
Registriert: 09.01.2008
Wohnort: Niedersachsen

Beitrag von illith » 10. Apr 2013 19:49

@vampy: seh ich ja wie gesagt auch so (obwohl es sicher auch ne gewöhnungssache ist), aber s.o.

@martin: ööh, bei mir kommt da "Die Stylesheet-Datei war nicht beschreibbar, so dass die Stylesheet-Datei mit deinen Änderungen nun in der Datenbank gespeichert ist." ?^^°
☜★VeganTakeover.de★☞
BlogShirtsBuch

Benutzeravatar
Martin
SUPERPROGRAMMARTIN *tüdelütt-tüdüüüü*
Beiträge: 4574
Registriert: 03.03.2013
Wohnort: Kiel

Beitrag von Martin » 10. Apr 2013 21:53

Hmkay, das klingt nach einem Problem mit den Zugriffsrechten auf dem FTP-Server. Der Webserver läuft anscheinend unter einer Benutzerkennung, die keinen Schreibzugriff auf die Dateien hat, die per FTP-Server hochgeladen wurden. Das ist nicht ungewöhnlich.

Schau mal, ob du die Zugriffsrechte für die Stylesheet-Dateien (also alles im Ordner styles\<theme>\theme\) ändern kannst. Wie das geht, hängt von deinem verwendeten FTP-Programm ab; z.B. geht es so mit Filezilla, oder so mit SmartFTP. Für andere Programme musst du sonst selbst suchen; das Zauberwort heisst "CHMOD" oder "SITE CHMOD". ;)

Die erforderlichen Rechte wären 666 (d.h. schreibbar für alle Benutzer). :devil: [font=Comic Sans MS]666[/font] :devil:
»Souverän ist nicht, wer viel hat, sondern wenig braucht.« - Niko Paech

Benutzeravatar
illith
Berufs-Veganer
Beiträge: 70207
Registriert: 09.01.2008
Wohnort: Niedersachsen

Beitrag von illith » 11. Apr 2013 01:12

die zahlen für die rechtevergabe muss ich imemr nachschlagen^^
aaaber: soll das auf zwang 666? weil aktuell ist da auch ein häkchen bei "ausführen" für eigentümer - das wäre dann, wenn ichs richtig blick, doch 766?
aktuell müsste das ...*rechne* 740 sein. (bei den CSS-datei-stichproben^^)

stellt es aber nicht irgendwie ein sicherheitsrisiko dar, wenn die für alle schreibbar sein? (ich hab keine ahnung)
☜★VeganTakeover.de★☞
BlogShirtsBuch

Benutzeravatar
Martin
SUPERPROGRAMMARTIN *tüdelütt-tüdüüüü*
Beiträge: 4574
Registriert: 03.03.2013
Wohnort: Kiel

Beitrag von Martin » 11. Apr 2013 17:06

Das Ausführen-Recht brauchen nur Ordner (das bedeutet dann soviel wie "darf diesen Ordner betreten") sowie ausführbare Dateien - dazu gehören aber CSS-, HTML- oder PHP-Dateien nicht.

"Für alle" ist ja nicht gleichbedeutend mit "die ganze weite Welt", sondern heisst soviel wie "alle Benutzer, die Zugriff über das Betriebssystem auf diesen Ordner haben". Das sind im Normalfall weder andere Menschen, die auf dem gleichen Server einen Auftritt gehostet haben (das regelt der FTP-Server, dass jeder Benutzer nur in seinen Ordner kommt), noch andere Prozesse, die dort nichts zu suchen haben.

Das Problem könnte daher kommen, dass der Webserver-Prozess die Dateien nicht schreiben darf. Nun könnte der Webserver-Prozess in der gleichen Gruppe sein wie der FTP-Prozess - dann würden für Ordner das Recht 770 und für Dateien das Recht 660 ausreichen, um dem Webserver das Schreiben zu erlauben.

Das könntest du zunächst probieren. Wenn das nicht ausreicht, ist der Webserver-Prozess anscheinend nicht in der Gruppe und fällt somit unter "others" - damit bräuchtest du die Rechte 777 für Ordner und 666 für Dateien.


PS: warum Zahlen nachschlagen? Ist eine einfache binäre Addition für: Ausführen = 001 = dezimal 1, Schreiben = 010 = dezimal 2, Lesen = 100 = dezimal 4. Zusammenzählen, feddich! :geek:
»Souverän ist nicht, wer viel hat, sondern wenig braucht.« - Niko Paech

Benutzeravatar
illith
Berufs-Veganer
Beiträge: 70207
Registriert: 09.01.2008
Wohnort: Niedersachsen

Beitrag von illith » 11. Apr 2013 18:18

Martin hat geschrieben:PS: warum Zahlen nachschlagen?
DESWEGEN:
Ist eine einfache binäre Addition für: Ausführen = 001 = dezimal 1, Schreiben = 010 = dezimal 2, Lesen = 100 = dezimal 4. Zusammenzählen, feddich! :geek:
xD

naja, wenn ich regelmäßig damit zu tun hätte, würde es schon gehen^^
danke auch für die rechte-aufklärung, hatte da bisher nur ein sehr abstraktes konzept von ;D

aber:
hab jetzt beide varianten ausprobiert (und auch cache geleert und alles) - kommt immernoch die gleiche meldung, wenn ich umschalten will :(
(kann ich die 777/666-einstellug trotzdem ienfach so lassen?)
☜★VeganTakeover.de★☞
BlogShirtsBuch

Antworten