Suche


png-Filter und Joomla

Posted on | April 7, 2009 | No Comments
png-Filter und Joomla

Da ich gerade selbst an diesem Problem fast verzweifelt bin, möchte ich dies nun hier mal aufklären.

Um im IE6 transparente png darzustellen, verwendete ich z.B. bei einem Hintergrundbild folgende CSS-Anweisung

 filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src='bg.png');

Alles funktionierte prächtig, bis ich das ganze als Template für eine Joomla 1.5 Installation verwendete.
Sämtliche pngs wurden nicht mehr angezeigt und ich fand und fand keine Lösung.

Letztendlich brachte mich dann eine Webseite auf den trichter, dass es wohl an den SEO URLs liegen könnte.
Ein Test, bei welchem ich diese abschaltete brachte zwar nix, die angebotene Lösung probierte ich trotzdem.
Wichtig ist dabei, den kompletten Bildpfad anzugeben, da der Filter diese sonst offensichtlich nicht findet:

 filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src='http://www.meinedomain.de/images/bg.png');

Das half….

Mehrere Stylesheets nutzen / wechseln

Posted on | Januar 23, 2009 | No Comments
Mehrere Stylesheets nutzen / wechseln

Um mehrere externe Stylesheets zu benutzen, bin man zuerst die verschiedenen CSS-Dateien im -Bereich der Seite ein:



Nun bindet man folgendes Javascript in die Seite ein.

function set_active_sheet(title) {
  var i, a, main;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
      a.disabled = true;
      if(a.getAttribute("title") == title) a.disabled = false;
    }
  }
}

function get_active_sheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
  }
  return null;
}

function get_preferred_sheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1
       && a.getAttribute("rel").indexOf("alt") == -1
       && a.getAttribute("title")
       ) return a.getAttribute("title");
  }
  return null;
}

function create_cookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}

function read_cookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}

window.onload = function(e) {
  var cookie = read_cookie("style");
  var title = cookie ? cookie : get_preferred_sheet();
  set_active_sheet(title);
}

window.onunload = function(e) {
  var title = get_active_sheet();
  create_cookie("style", title, 365);
}

var cookie = read_cookie("style");
var title = cookie ? cookie : get_preferred_sheet();
set_active_sheet(title);

Als nächstes muss man noch Links definieren, die den Swicht des Stylesheets auslösen:

Schriftgröße rauf
Schriftgröße runter

Div Box mittig ausrichten / zentrieren

Posted on | Januar 22, 2009 | 1 Comment
Div Box mittig ausrichten / zentrieren

Um eine Div Box horizontal mittig auszurichten, setzt man margin:auto. Dies funktioniert allerdings nur dann, wenn das umgebende Element also z.B. eine Breite von 100% besitzt. Zentriert wird immer releativ zum umgebenden Element.
Damit alles korrekt funktioniert ist auch ein korrekter Doctype wichtig, z.B.

PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Das Beispiel mal insgesamt:










 

CSS Menü mit Hintergrundbild

Posted on | Januar 18, 2009 | No Comments
CSS Menü mit Hintergrundbild

Ein Mouseover -Meü mit wechselndem Hintergrundbild muss mitnichten per Javascript erstellt werden. Besser und sauberer geht’s mit CSS:

<style type=”text/css”>
.linkKlasse a {
background-image:url(’bg.gif’);
}

.linkKlasse a:hover {
background-image:url(’bgOver.gif’);
}

</style>


<div class=”linkKlasse”>
<a href=”datei.html”>Link</a>
</div>

Meisten müssen noch Anpassungen in Höhe und Breite der Links gemacht werden, aber das sind dann ja nur noch Kleinigkeiten.

CSS / Umrechnung der em-Werte für Schriftgröße

Schriftgrößen kan man fix oder relativ in Prozent oder em angeben.
Um mal grob zu überblicken, welche Größe eigentlich welchem em-Wert entspricht, hier mal ein paar umgerechnete Werte für px und em:

10px -> 0.6em
12px -> 0.76em
14px -> 0.9em
16px -> 1.0em
18px ->1.12em
22px -> 1.38em

Einbinden einer externen CSS-Datei / eines externen Stylesheets

Um ein externes CSS Stylesheet einzubinden, welches als separate Datei auf dem Webspace abgelegt ist, benutzt man folgende Anweisung:

<link rel=”stylesheet” type=”text/css” href=”style.css” />

Im Beispiel heißt die CSS-Datei style.css

CSS - Einheiten für Werte angeben

Posted on | Januar 18, 2009 | No Comments
CSS - Einheiten für Werte angeben

Damit es bei der Darstellung von inneren und äußeren Abständen (padding und margin) nicht zu Fehlern kommt, ist es wichtig den Werten für den Abstand eine Einheit mitzugeben, wie z.B.:

margin: 100px; (falsch wäre margin:100;)

Lediglich bei Null-Abständen kann man die Einheiten weglassen:

margin: 0;

wäre also korrekt.

Mit CSS formatierte Links werden nicht richtig dargestellt

Wenn man per CSS Links formatiert, tut man dies im Allgemeinen so:

a:link { //Definition hier }
a:visited { //Definition hier }
a:hover { //Definition hier }
a:active { //Definition hier }

Diese Definition formatiert allgemein die Links der Webseite. Wenn man diese Klassen aber in der falschen Reihenfolge darstellt, kann es vorkommen, dass sich die Klassen falsch überlagen und es zu Darstellungsfehlern kommt. Wichtig also: auf die Reihenfolge achten!


      
      
      
    
	
 			
	
	
		

Bild von Text umfließen lassen

Posted on | Januar 17, 2009 | No Comments
Bild von Text umfließen lassen

Um zum Beispiel in einem Div eine Bild rechts von Text umfließen zu lassen, setzt man das Bild einfach nach links. Ein:

<img src=”bild.jpg” align=”left”>

sorgt dafür, dass der Text rechts am Bild vorbeiläuft. Soll der Text links vorbeilaufen setzt man

<img src=”bild.jpg” align=”left”>

Natürlich funktioniert das nur, wenn das Bild den Div in der Breite nicht vollständig ausfüllt.
Den Abstand des Textes kann man mit margin Werten einstellen.

Abstand zwischen DIVs im Internet Explorer

Wenn man zwei Divs untereinander anordnen möchte, ohne einen Zwischenraum / Abstand zu haben, kommt es im IE oft vor, dass zwischen den Divs doch ein Abstand angezeigt wird. Dies passiert dann, wenn man im Stylesheet keine Höhe angibt.
Man vermeidet also den Abstand zwischen den Divs im Internet Explorer, wenn man jedem der beiden Divs eine feste Höhe gibt.

keep looking »