<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Zapps Blog &#187; IE 7</title>
	<atom:link href="http://zappsblog.de/tag/ie-7/feed" rel="self" type="application/rss+xml" />
	<link>http://zappsblog.de</link>
	<description>Bloggen ohne Konzept</description>
	<lastBuildDate>Mon, 23 Mar 2009 16:51:06 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>setAttribute, onclick und ein alter Bekannter</title>
		<link>http://zappsblog.de/2008/09/10/setattribute-onclick-und-ein-alter-bekannter/%</link>
		<comments>http://zappsblog.de/2008/09/10/setattribute-onclick-und-ein-alter-bekannter/%#comments</comments>
		<pubDate>Wed, 10 Sep 2008 20:07:35 +0000</pubDate>
		<dc:creator>Zapp</dc:creator>
				<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[Browserbug]]></category>
		<category><![CDATA[IE 6]]></category>
		<category><![CDATA[IE 7]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://zappsblog.de/?p=285</guid>
		<description><![CDATA[<p> Einstieg in JavaScript und ein DÃ©jÃ -vu-Erlebnis. Und die Erkenntnis, dass sich der IE treu bleibt.</p>]]></description>
			<content:encoded><![CDATA[<p>Ich habe momentan ein leichtes DÃ©jÃ -vu-Erlebnis, das mich ein paar Jahre zurÃ¼ckwirft. </p>
<p>Als ich damals begann mich fÃ¼r HTML und CSS zu interessieren,  fand ich die MÃ¶glichkeiten beider Sprachen faszinierend und das Konzept der Trennung von Inhalt und Layout einleuchtend. Der erste Tatendrang wurde zeitweise nur durch eine Software aus dem fernen Redmond gebremst: den Internet Explorer.</p>

<img src="http://zappsblog.de/wordpress/wp-content/uploads/images/2008/krimskrams/ie.jpg" alt="" class="einzelbildlinks" width="100" height="100" />

<p>Version sechs verhielt sich oft anders, als man das angesichts des Codes erwarten sollte.  Schnell war klar, dass das nicht nur am anfÃ¤ngerhaften Code sondern auch und vor allem am veralteten Browser lag und mit der Zeit und einigen Internetrecherchen lernte ich manche Eigenheiten des IE  kennen. Begriffe wie <a href="http://www.bongard.net/blog/2007/05/14/css_stern-html-hack/" title="Bongard.net: Stern-HTML-Hack &#038; Stern-plus-HTML-Hack">â€žStar-HTML-Hackâ€œ</a> und <a href="http://onhavinglayout.fwpf-webdesign.de/" title="Ãœber hasLayout">â€žhasLayoutâ€œ</a> verloren ihre Schrecken und so wurden Layouts mÃ¶glich, die auch im im IE&nbsp;6 und seinem grossen Bruder IE&nbsp;7 akzeptabel aussehen.</p> 
<p>Nun stehe ich mit JavaScript wieder am Anfang einer neuen Websprache und was soll ich sagen: Die Probleme sind Ã¤hnlich. Es gibt recht klare und einleuchtende Konzepte, die in der Praxis am IE scheitern.</p>
<p>So gibt es etwa die <tt>setAttribute</tt>-Methode, die einem Knoten ein Attribut zuweisen kann. Einem Link kann beispielsweise mit <tt>linkknoten.setAttribute("class","externer");</tt> die Klasse â€žexternerâ€œ zugeteilt werden, die man mit der komplementÃ¤ren <tt>getAttribute</tt>-Methode auch wieder auslesen kann. Mit der gleichen Syntax kÃ¶nnte der Link auch noch <tt>href</tt>- und <tt>title</tt>-Attribute bekommen, bevor er schliesslich in den Dokumentenbaum eingehÃ¤ngt wird. <tt>setAttribute</tt> ist universell einsetzbar und hat eine leicht zu merkende Syntax, warum sollte man sich fÃ¼r das Setzen und Auslesen von Klassen noch mit dem Wissen um die vergleichsweise spezielle <tt>className</tt>-Eigenschaft eines Knotens belasten mÃ¼ssen?</p>

<p>Ganz einfach: Weil der Internet Explorer in seinen beiden am weitesten verbreiteten Inkarnationen nicht zuverlÃ¤ssig damit klar kommt.</p>
<img src="http://zappsblog.de/wordpress/wp-content/uploads/images/2008/krimskrams/ff.jpg" alt="" class="einzelbildlinks" width="103" height="100" />
<p>Durch <tt>setAttribute</tt> gesetzte Klassen, die der <a href="http://www.download.com/IE-DOM-Inspector/3000-2378_4-10366322.html?tag=lst-0-1" title="Cnet: IE DOM Inspector 1.0.4">IE-DOM-Inspektor</a>  auch sieht, werden dann auf einmal vom CSS nicht beachtet oder Klassennamen werden nicht korrekt ausgelesen, weshalb  das betreffende Script dann natÃ¼rlich nicht im IE funktioniert.</p>
<p>Genau das gleiche Problem existiert im IE bei der Behandlung des <tt>onclick</tt>-Attribut, auf das man verzichten und stattdessen <tt>knotenname.onclick = function(){};</tt> einsetzen sollte.</p>
<p>Dummerweise stand das nicht in meinem ansonsten wirklich genialen <a href="http://www.amazon.de/Dom-Scripting-Design-JavaScript-Document/dp/1590595335/" title="Jeremy Keith: &ldquo;Dom Scripting: Web Design with JavaScript and the Document Object Model&rdquo;">Lehrbuch</a>, was mir einige Stunden Gefluche mit meinem Lieblingsbrowser eingebracht hat. Bei einem so diffusen Problembild war meine Webrecherche erfolglos, und auf die Idee, bei SELFHTML ausgerechnet bei <tt>setAttribute</tt> nachzuschlagen um dort eine <a href="http://de.selfhtml.org/javascript/objekte/node.htm#set_attribute" title="SELFHTML: setAttribute">eindringliche Warnung</a> inklusive ErklÃ¤rung des PhÃ¤nomens zu finden, bin ich leider nicht gekommen.  So brachte erst ein beilÃ¤ufiger Hinweis in einem <a href="http://sixrevisions.com/resources/cheat_sheets_web_developer/" title="Six Revisions: Cheat Sheets for Front-end Web Developers">JavaScript-Cheatsheet</a> die Erleuchtung.</p>

<p>Und damit Google in Zukunft eine Stelle mehr im Web findet, die von AnfÃ¤ngerproblemen mit JavaScript, Klassen, Event-Handlern und dem Internet Explorer berichtet, habe ich diesen kleinen Beitrag verfasst.</p>]]></content:encoded>
			<wfw:commentRss>http://zappsblog.de/2008/09/10/setattribute-onclick-und-ein-alter-bekannter/%/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Safari/Win, IE&#160;7 und die Listen</title>
		<link>http://zappsblog.de/2007/08/25/safariwin-ie7-und-die-listen/%</link>
		<comments>http://zappsblog.de/2007/08/25/safariwin-ie7-und-die-listen/%#comments</comments>
		<pubDate>Sat, 25 Aug 2007 12:15:55 +0000</pubDate>
		<dc:creator>Zapp</dc:creator>
				<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[Browserbug]]></category>
		<category><![CDATA[IE 7]]></category>
		<category><![CDATA[Safari]]></category>

		<guid isPermaLink="false">http://zappsblog.de/2007/08/25/safariwin-ie7-und-die-listen/</guid>
		<description><![CDATA[Bei meinem Blogumzug bin ich auf zwei mir bislang unbekannte Browserbugs gestossen, Ã¼ber die auch eine kurze Google-Recherche keine Informationen lieferte. Beide betreffen eher experimentelle Browser, nÃ¤mlich den Internet Explorer&#160;7 und Safari&#160;3.02 fÃ¼r Windows.
Die Standard-Sidebar ist bei Wordpress eine Ansammlung verschachtelter Listen:
&#60;ul id="navi>
  &#60;li>
    &#60;h2>RubrikÃ¼berschrift 1&#60;/h2>
    &#60;ul>
  [...]]]></description>
			<content:encoded><![CDATA[<p>Bei meinem Blogumzug bin ich auf zwei mir bislang unbekannte Browserbugs gestossen, Ã¼ber die auch eine kurze Google-Recherche keine Informationen lieferte. Beide betreffen eher experimentelle Browser, nÃ¤mlich den Internet Explorer&nbsp;7 und Safari&nbsp;3.02 fÃ¼r Windows.</p>
<p>Die Standard-Sidebar ist bei Wordpress eine Ansammlung verschachtelter Listen:</p>
<code>&lt;ul id="navi>
  &lt;li>
    &lt;h2>RubrikÃ¼berschrift 1&lt;/h2>
    &lt;ul>
      &lt;li>Navigationspunkt 1&lt;/li>
      &lt;li>Navigationspunkt 2&lt;/li>
    &lt;/ul>
  &lt;/li>
  &lt;li>
    â€¦
  &lt;/li>
&lt;/ul></code>

<p>Mit dem dazugehÃ¶rigen CSS kommen beide Browser nicht so recht klar:</p>
<ul class="liste"><li><p>Safari ignoriert &ndash;&nbsp;mindestens fÃ¼r ul&nbsp;&ndash; komplett den Universalselektor <tt>*&nbsp;{margin:0; padding:0;}</tt> und benÃ¶tigt fÃ¼r diese eine eigene Formatierung, also <code>ul&nbsp;{margin:0; padding:0;}</code></p></li>
<li><p>Der IE&nbsp;7 produziert &ndash;&nbsp;erstaunlicherweise im Gegensatz zum IE&nbsp;6&nbsp;&ndash; AbstÃ¤nde Ã¼ber den inneren ul, obwohl laut IE-Web-Developer-Toolbar das CSS richtig vom Browser verstanden wird. Der Bug hat mal wieder mit der <a href="http://www.satzansatz.de/cssd/onhavinglayout.html">hasLayout-Eigenschaft</a> der IEs zu tun und Abhilfe schafft ein <code>*:first-child+html&nbsp;#navi&nbsp;ul&nbsp;{height:1%}</code></p><p>Um die Gefahr von irgendwelchen Ãœberraschungen mit anderen Browsern zu verringern, habe ich hier im Selektor den <a href="http://de.selfhtml.org/css/layouts/browserweichen.htm#star_plus_html_hack">Star-Plus-HTML-Hack</a> angewendet, der momentan nur den IE&nbsp;7 ansprechen sollte.</p></li>
</ul>
<p>Es ist doch immer wieder schÃ¶n, wie viele Ãœberraschungen man mit den verschiedenen Browsern erleben kann. Vielleicht hat ja auch noch jemand einen Tipp, warum Opera&nbsp;9.2 das padding-top der li in meinen Bilderstreifen 
<code>ul.bildergallerie&nbsp;li {
    display:inline; 
    padding-top:15px;
    }</code> ignoriert? Momentan kleben die Vorschaubilder in diesem Browser doch etwas eng aneinander, wenn sie nicht mehr alle in eine Zeile passen.</p>
]]></content:encoded>
			<wfw:commentRss>http://zappsblog.de/2007/08/25/safariwin-ie7-und-die-listen/%/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Mehrspaltiges&#160;Layout: Es&#160;k&#246;nnte&#160;so&#160;einfach&#160;sein</title>
		<link>http://zappsblog.de/2007/03/07/mehrspaltigeslayout-esknntesoeinfachsein/%</link>
		<comments>http://zappsblog.de/2007/03/07/mehrspaltigeslayout-esknntesoeinfachsein/%#comments</comments>
		<pubDate>Wed, 07 Mar 2007 17:03:27 +0000</pubDate>
		<dc:creator>Zapp</dc:creator>
				<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[IE 7]]></category>

		<guid isPermaLink="false">http://zappsblog.de/2007/03/07/mehrspaltigeslayout-esknntesoeinfachsein/</guid>
		<description><![CDATA[Oft wird bei der Gestaltung einer Webseite ein mehrspaltiges Seitenlayout angestrebt, bei dem sich die L&#228;nge aller Spalten automatisch nach der Spalte mit dem meisten Inhalt richtet. Die Umsetzung dieses Wunsches mit CSS ist etwas  knifflig,  mit float und absoluter Positionierung st&#246;sst man schnell an seine Grenzen. Daher werden zur Spaltenbildung teilweise noch [...]]]></description>
			<content:encoded><![CDATA[<p>Oft wird bei der Gestaltung einer Webseite ein mehrspaltiges Seitenlayout angestrebt, bei dem sich die L&auml;nge <em>aller</em> Spalten automatisch nach der Spalte mit dem meisten Inhalt richtet. Die Umsetzung dieses Wunsches mit CSS ist <a href="http://alistapart.byteshift.de/fauxcolumns/" title="Link zu Faux Columns">etwas</a>  <a href="http://www.satzansatz.de/cssd/columnswapping.html" title="Link zu Column-Swapping">knifflig</a>,  mit <i>float</i> und absoluter Positionierung st&ouml;sst man schnell an seine Grenzen. Daher werden zur Spaltenbildung teilweise noch immer <a href="http://www.heise.de/open/news/foren/go.shtml?read=1&amp;msg_id=12134567&amp;forum_id=112031">Tabellen eingesetzt</a>, die sich weitgehend ihrem Inhalt anpassen.</p>
<p>Dabei besitzt CSS mit den <a href="http://www.w3.org/TR/CSS21/tables.html#q2"><i>table</i>-Werten</a> der <i>display</i>-Eigenschaft die M&ouml;glichkeit, <em>jedem</em> HTML-Element bez&uuml;glich der Darstellung Tabelleneigenschaften zuzuordnen. So kann eine semantisch korrekte Seite aufgebaut werden, die sich trotzdem wie eine mit Tabellenlayout erstellte Seite verh&auml;lt.</p>
Der Quelltext f&uuml;r ein simples dreispaltiges Layout nach dieser Methode kommt ganz ohne <i>float</i> und absolute Positionierung aus:
<code>#rahmen 
        {
        display:table;
        width:100%;
        }

#rahmen div
            {
            display:table-cell;
            }

#menu, #news 
             {
             width:7em;
             }


&lt;div id="rahmen">
  &lt;div id="menu">Links&lt;/div>
  &lt;div id="main">Mitte&lt;/div>
  &lt;div id="news">Rechts&lt;/div>
&lt;/div></code>
<p><a href="http://zappsblog.de/wordpress/wp-content/uploads/html/display-table/mitte.html">Beispiel</a></p>
<p>Dummerweise hat die Sache einen gewaltigen Haken: Der weit verbreitete Browser aus Redmond unterst&uuml;tzt auch in seiner neusten Version <a href="http://www.webdevout.net/browser-support-css?IE6=on&amp;IE7=on&amp;FX1_5=on&amp;FX2=on&amp;OP8=on&amp;OP9=on&amp;KN3_5=on&amp;uas=CUSTOM">im Gegensatz zu allen anderen aktuellen Browsern</a> die notwendigen Werte f&uuml;r <i>display</i> nicht. Somit scheitert ein einfaches Layouten mit CSS einmal mehr nicht an den Unzul&auml;nglichkeiten der Spezifikation, sondern an der Unf&auml;higkeit des Browser-Marktf&uuml;hrers.</p>
<p>Es k&ouml;nnte so einfach sein ...</p>]]></content:encoded>
			<wfw:commentRss>http://zappsblog.de/2007/03/07/mehrspaltigeslayout-esknntesoeinfachsein/%/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

