Benny's Blog
Navigation: Home » Programmierung » HTML
27. Januar 2012

Ein Code sagt mehr als tausend Worte:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>Centering a Div horizontally and vertically</title>
    <style type="text/css">
      html
      {
        background-color: black;
      }
 
      body
      {
        width: 100%;
        height: 100%;
        position: static; /* don't make it relative! */
      }
 
      #centered
      {
        position: absolute;
        height: 396px;
        width: 400px;
        margin: -198px 0px 0px -200px; /* 50% height, 0px, 0px, 50% width */
        top: 50%;
        left: 50%;
        background-color: violet;
        border: 1px solid white;
      }
    </style>
  </head>
  <body>  
    <div id="centered"></div>
  </body>
</html>
10. November 2011

Mit dem Internet Explorer 8 hat Microsoft die Kompatibilitätsansicht eingeführt. Mit der Kompatibilitätsansicht wird die Rendering-Engine des Internet Explorers auf eine Vorversion gestellt, wodurch Webseiten, die für ältere IE-Versionen entworfen wurden, besser angezeigt werden können. Der “Compatibility Mode” wird durch ein Icon in der Adresszeile eingeschaltet.


Kompatibilitätsansicht im IE9

Für Webdesigner ist das Icon der Kompatibilitätsansicht ein Dorn im Auge, da es aussieht wie ein zerrissenes Dokument und dadurch der Eindruck entsteht, dass etwas mit der eigenen Webseite nicht in Ordnung ist. Um das Icon zu entfernen, muss die eigene Webseite selbst den Kompatibilitätsmodus bestimmen. Dazu wird der kompatible User-Agent als Meta-Tag für den Internet Explorer im head-Bereich der Seite angegeben:

1
2
3
4
<head>
  <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" >
  <title>My Web Page</title>
</head>

Die gezeigte Variante stellt die Render-Engine des Internet Explorers auf die Version von Internet Explorer 7 um, was dazu führt dass beispielsweise ein Internet Explorer 9 die Webseite anzeigt wie der IE7.

Möchte man sich nicht auf eine spezielle IE-Version festlegen, sondern immer die Aktuellste benutzen, so muss folgender Eintrag gemacht werden:

<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
19. April 2011

Vor ein paar Tagen wollte ich ein modernes HTML-Submenü bauen, welches aufklappt, wenn man mit der Maus über einen Menüpunkt fährt.

Auf diversen Seiten habe ich gesehen, dass viele diese Technik mit JavaScript realisieren. Ich finde das übertrieben, da sich dieser Effekt auch mit der CSS “hover”-Eigenschaft für Listenelemente lösen lässt (Stichwort: Suckerfish CSS). Das funktioniert aber nur in aktuellen Browsern.

Der Internet Explorer 6 unterstützt die “hover”-Eigenschaft nämlich nur für Anker. Wie ich leider feststellen musste, gibt es noch weitere Besonderheiten die man beachten muss. Nach 2 Stunden Arbeit habe ich dann aber einen Code entwickelt, der barrierefrei (ohne den Einsatz von display:none und visibility:hidden) ist und problemlos in Firefox und Internet Explorer 6-7 funktioniert (andere Browser wurden nicht getestet).

Screenshot:

…weiterlesen

9. April 2011

Wer das Tag <script type="text/javascript"> direkt im <head> Teil seiner HTML-Seite verwendet, der kann Probleme bei der W3C-Validierung seines Dokumentes bekommen, wenn innerhalb des JavaScript-Tags nach dem HTML-Standard unerlaubte Elemente enthalten sind.

Typische Fehlermeldungen dafür sind:

  • character “&” is the first character of a delimiter but occurred as data
  • cannot generate system identifier for general entity “document.getElementById”
  • general entity “document.getElementById” not defined and no default entity
  • reference not terminated by REFC delimiter
  • reference to entity “document.getElementById” for which no system identifier could be generated
  • character “;” not allowed in attribute specification list
  • element “navRoot.childNodes.length” undefined
  • end tag for “navRoot.childNodes.length” omitted, but OMITTAG NO was specified

Man kann dieses Manko umgehen, wenn man diese Deklaration ändert:

1
2
3
<script type="text/javascript">
/* My Code */
</script>

Undzwar in:

1
2
3
<script type="text/javascript"><!--//--><![CDATA[//><!--
/* My Code */
//--><!]]></script>
4. März 2011

HTML-Elemente werden grundsätzlich in zwei Arten unterschieden, undzwar in Inline und Block Elemente. Block-Elemente erzeugen einen Zeilenumbruch und können andere Inline-Elemente enthalten. Inline-Elemente hingegen erzeugen keinen Zeilenumbruch und dürfen auch keine Blöcke enthalten; nur weitere Inline-Tags sind gestattet.

…weiterlesen

7. Februar 2011

In meinem Blog gebe ich häufig Tastenkombinationen an, um zu beschreiben, wie bestimmte Dinge bedient werden. Um diese Tastaturkürzel mehr herauszuheben, habe ich einen CSS-Stil entworfen. Hier ein Beispiel:

Bitte drücke Strg + Alt + Entf.

Ich finde, dass die Wörter “Strg” und “Alt” sowie “Entf” aussehen, wie richtige Tasten einer Tastatur. :)
Den Code dafür möchte ich natürlich niemanden vorenthalten.

…weiterlesen