<?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>martin-grandrath.de &#187; IE7</title>
	<atom:link href="http://martin-grandrath.de/tags/ie7/feed/" rel="self" type="application/rss+xml" />
	<link>http://martin-grandrath.de</link>
	<description>Ein neues WordPress-Weblog</description>
	<lastBuildDate>Fri, 23 Oct 2009 22:35:41 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>&lt;pre&gt;-Elemente mit horizontalem Scrollbalken im IE</title>
		<link>http://martin-grandrath.de/2009/04/pre-elemente-mit-horizontalem-scrollbalken-im-ie/</link>
		<comments>http://martin-grandrath.de/2009/04/pre-elemente-mit-horizontalem-scrollbalken-im-ie/#comments</comments>
		<pubDate>Wed, 22 Apr 2009 11:37:34 +0000</pubDate>
		<dc:creator>Martin Grandrath</dc:creator>
				<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[IE6]]></category>
		<category><![CDATA[IE7]]></category>

		<guid isPermaLink="false">http://martin-grandrath.de/?p=141</guid>
		<description><![CDATA[In meinem aktuellen Template verwende ich für Codeschnipsel &#60;pre&#62;-Elemente mit der Eigenschaft overflow: auto, so dass ein horizontaler Scrollbalken erscheint, wenn der Inhalt breiter als die Box ist.  Dies funktioniert (welch Überraschung) nicht im IE6 und nur eingeschränkt im IE7.
Das Problem
IE6 weitet die Box aus und zerstört dadurch das Layout.  In meinem Fall [...]]]></description>
			<content:encoded><![CDATA[<p>In meinem aktuellen Template verwende ich für Codeschnipsel &lt;pre&gt;-Elemente mit der Eigenschaft <code>overflow: auto</code>, so dass ein horizontaler Scrollbalken erscheint, wenn der Inhalt breiter als die Box ist.  Dies funktioniert (welch Überraschung) nicht im IE6 und nur eingeschränkt im IE7.</p>
<h3>Das Problem</h3>
<p>IE6 weitet die Box aus und zerstört dadurch das Layout.  In meinem Fall rutschte die Seitenleiste rechts unter den eigentlichen Inhalt. IE7 zeigt zwar einen Scrollbalken an, platziert diesen aber <em>innerhalb</em> statt <em>unterhalb</em> der Box, was bei Elementen, die nur eine einzige Zeile beinhalten, dazu führt, dass der Text hinter dem Scrollbalken verschwindet und ein unbedienbarer (weil winziger) vertikaler Balken angezeigt wird.</p>
<h3>Die Lösung</h3>
<p>Hier ist die Lösung, die ich nach einigem Googlen und Probieren gefunden habe.  Dieser Schnipsel sollte in ein separates IE-Stylesheet eingebaut werden, das per conditional comments nur von IE&nbsp;&lt;=&nbsp;7 geladen wird (bei IE8 tritt das Problem nicht auf).</p>
<pre class="code code-css">
pre
{
  /* disable vertical scroll bar */
  overflow-y: hidden;

  /* fallback if scripting is disabled */
  padding-bottom: 20px;

  /* add padding if content is wider than the box */
  padding-bottom: expression(this.scrollWidth > this.offsetWidth ? "20px" : "0");

  /* prevent the box from expanding */
  width: 100%;
  }
</pre>
<p>Falls JavaScript deaktiviert ist, wird das Padding von 20px immer eingefügt.  Das führt zwar zu unschönen Abständen, wenn kein Scrollbalken angezeigt wird (d.h. wenn der Inhalt nicht breiter als die Box ist), ist aber auf alle Fälle besser als die ursprüngliche Darstellung.</p>
]]></content:encoded>
			<wfw:commentRss>http://martin-grandrath.de/2009/04/pre-elemente-mit-horizontalem-scrollbalken-im-ie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

