<?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>南芝 - 我才12岁（飞鸟尽，良弓藏，2011，背包去旅行！） &#187; Firefox</title>
	<atom:link href="http://www.12sui.cn/tag/firefox/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.12sui.cn</link>
	<description>南芝的前端技术学习经验</description>
	<lastBuildDate>Sun, 08 Jan 2012 09:22:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2</generator>
		<item>
		<title>Firefox下的text-indent</title>
		<link>http://www.12sui.cn/develop/firefox%e4%b8%8b%e7%9a%84text-indent/</link>
		<comments>http://www.12sui.cn/develop/firefox%e4%b8%8b%e7%9a%84text-indent/#comments</comments>
		<pubDate>Fri, 26 Sep 2008 00:19:06 +0000</pubDate>
		<dc:creator>南芝</dc:creator>
				<category><![CDATA[编码]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[text-indent]]></category>

		<guid isPermaLink="false">http://www.12sui.cn/?p=147</guid>
		<description><![CDATA[前天在给豆豆调试东西的时候碰到的一个问题。在之前的一篇日志&#8211;“同一行中的左右两侧文字该怎么定位”里，我提到过一种方法，现在再来回顾下： &#60;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&#62; &#60;html xmlns="http://www.w3.org/1999/xhtml"&#62; &#60;head&#62; &#60;meta http-equiv="Content-Type" content="text/html; charset=gb2312" /&#62; &#60;title&#62;无标题文档&#60;/title&#62; &#60;style&#62; h2 { background:#FFECC8; font-size:12px;} h2 span { float:right;} &#60;/style&#62; &#60;/head&#62; &#60;body&#62; &#60;h2&#62;&#60;span&#62;我在右边&#60;/span&#62; 我在左边&#60;/h2&#62; &#60;/body&#62; &#60;/html&#62; 这样子可以实现如下图所示的效果： 这时，我们给 h2 添加一个 CSS 属性：text-indent，看看会发生什么情况： h2 { background:#FFECC8; font-size:12px; text-indent:2em;} 首先看下 IE 7 下的显示： 我们再来看下 Firefox 3.0.2 下的显示： 为什么在 Firefox [...]]]></description>
			<content:encoded><![CDATA[<p>前天在给<a href="http://www.sherry1984.com/">豆豆</a>调试东西的时候碰到的一个问题。在之前的一篇日志&#8211;<a href="http://www.12sui.cn/blog/112.html">“同一行中的左右两侧文字该怎么定位”</a>里，我提到过一种方法，现在再来回顾下：</p>

<p><pre>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312" /&gt;
&lt;title&gt;无标题文档&lt;/title&gt;
&lt;style&gt;
h2 { background:#FFECC8; font-size:12px;}
h2 span { float:right;}
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h2&gt;&lt;span&gt;我在右边&lt;/span&gt; 我在左边&lt;/h2&gt;
&lt;/body&gt;
&lt;/html&gt;</pre></p>

<p>这样子可以实现如下图所示的效果：</p>

<p><img src="http://www.12sui.cn/wp-content/uploads/2008/09/121.jpg" alt="" /></p>

<p>这时，我们给 h2 添加一个 CSS 属性：text-indent，看看会发生什么情况：</p>

<p><pre>h2 { background:#FFECC8; font-size:12px; text-indent:2em;}</pre></p>

<p>首先看下 IE 7 下的显示：</p>

<p><span id="more-147"></span>
<img src="http://www.12sui.cn/wp-content/uploads/2008/09/122.jpg" alt="" /></p>

<p>我们再来看下 Firefox 3.0.2 下的显示：</p>

<p><img src="http://www.12sui.cn/wp-content/uploads/2008/09/123.jpg" alt="" /></p>

<p>为什么在 Firefox 下没有表现出来我们定义的属性呢？用 Firebug 看一下，发现不是没有表现，而是作用在了 span 上边，如下图所示：</p>

<p><img src="http://www.12sui.cn/wp-content/uploads/2008/09/12.jpg" alt="" /></p>

<p>另外在 IE 6、IE 8 Beta2、Opera 9.52、Safari 3.1.1、Google Chrome 0.2 下的测试结果与 IE 7 相同，你可以用不同的浏览器打开<a href="http://www.12sui.cn/test/12/">这个页面</a>测试。到底是哪个表现比较正确呢？</p>

<p>如果真的需要使用 text-indent 的话不妨使用 padding-left 代替，以兼容 Firefox。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.12sui.cn/develop/firefox%e4%b8%8b%e7%9a%84text-indent/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>去掉pre标签在IE浏览器下的垂直滚动条</title>
		<link>http://www.12sui.cn/develop/%e5%8e%bb%e6%8e%89%e6%a0%87%e7%ad%be%e5%9c%a8ie%e6%b5%8f%e8%a7%88%e5%99%a8%e4%b8%8b%e7%9a%84%e5%9e%82%e7%9b%b4%e6%bb%9a%e5%8a%a8%e6%a1%86/</link>
		<comments>http://www.12sui.cn/develop/%e5%8e%bb%e6%8e%89%e6%a0%87%e7%ad%be%e5%9c%a8ie%e6%b5%8f%e8%a7%88%e5%99%a8%e4%b8%8b%e7%9a%84%e5%9e%82%e7%9b%b4%e6%bb%9a%e5%8a%a8%e6%a1%86/#comments</comments>
		<pubDate>Mon, 28 Jul 2008 09:29:07 +0000</pubDate>
		<dc:creator>南芝</dc:creator>
				<category><![CDATA[编码]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[Opera]]></category>
		<category><![CDATA[pre]]></category>
		<category><![CDATA[Safari]]></category>
		<category><![CDATA[滚动条]]></category>

		<guid isPermaLink="false">http://www.12sui.cn/?p=94</guid>
		<description><![CDATA[首先，我们先看一下例子： HTML 代码： &#60;pre&#62; function addLoadEvent(func) { var oldonload = window.onload; if (typeof window.onload != 'function') { window.onload = func; } else { window.onload = function() { oldonload(); func(); } } } function tagCloud() { if(document.getElementById("tags_cloud")) { var tags = document.getElementById("tags_cloud"); var tagLinks = tags.getElementsByTagName("a"); var styles = new Array(); styles[0] = new Array("#FF0000","FFCC00","FF9900","#0099FF","#999999"); //设定字体的颜色随机的种类 [...]]]></description>
			<content:encoded><![CDATA[<p>首先，我们先看一下例子：</p>

<p>HTML 代码：</p>

<p><pre>&lt;pre&gt;
function addLoadEvent(func) {
    var oldonload = window.onload;
    if (typeof window.onload != 'function') {
        window.onload = func;
    } else {
        window.onload = function() {
        oldonload();
        func();
        }
    }
}</p>

<p>function tagCloud() {
    if(document.getElementById("tags_cloud")) {
        var tags = document.getElementById("tags_cloud");
        var tagLinks = tags.getElementsByTagName("a");
        var styles = new Array();
        styles[0] = new Array("#FF0000","FFCC00","FF9900","#0099FF","#999999"); //设定字体的颜色随机的种类
        styles[1] = new Array("12px","14px","16px"); //设定字体的大小随机的种类
        styles[2] = new Array("400","500","600","700"); //设定字体的粗细随机的种类
        for(var i=0; i&lt;tagLinks.length; i++) {
            tagLinks[i].style.color = styles[0][Math.floor(styles[0].length<em>Math.random())]; //设定字体的颜色
            tagLinks[i].style.fontSize = styles[1][Math.floor(styles[1].length</em>Math.random())]; //设定字体的大小
            tagLinks[i].style.fontWeight = styles[2][Math.floor(styles[2].length*Math.random())]; //设定字体的粗细
        }
    }
}</p>

<p>addLoadEvent(tagCloud);&lt;/pre&gt;</pre></p>

<p>CSS 代码：</p>

<p><pre>pre { border:1px solid #0066FF; background:#F0F0F0; overflow:auto; padding:5px; width:400px; height:400px;}</pre></p>

<p>这里，pre 的宽度和高度固定，所有浏览器的宽度和高度表现是统一的，滚动条内含在宽度和高度里边，带上滚动条和边框，我们所看到的宽度和高度都是 412px。可以在<a href="http://www.12sui.cn/test/04/">这里</a>看到这一个版本的表现。</p>

<p><span id="more-94"></span></p>

<p>现在，让我们改变它的样式，将高度去掉。</p>

<p>CSS 代码：</p>

<p><pre>pre { border:1px solid #0066FF; background:#F0F0F0; overflow:auto; padding:5px; width:400px;}</pre></p>

<p>在 IE 浏览器下的表现是：</p>

<p><img src="http://www.12sui.cn/wp-content/uploads/2008/07/ie1.gif" alt="" title="ie1" /></p>

<p>在其他现代浏览器下的表现是：</p>

<p><img src="http://www.12sui.cn/wp-content/uploads/2008/07/other1.gif" alt="" title="other1" /></p>

<p>可以在<a href="http://www.12sui.cn/test/05/">这里</a>看到展示，那么为什么会出现这种情况呢？我们再修改一下 CSS，将 pre 的宽度调大：</p>

<p>CSS 代码：</p>

<p><pre>pre { border:1px solid #0066FF; background:#F0F0F0; overflow:auto; padding:5px; width:950px;}</pre></p>

<p>所有浏览器的水平、垂直滚动条都消失了，可以在<a href="http://www.12sui.cn/test/06/">这里</a>看到展示。也就是说，当出现水平滚动条的时候，IE 浏览器会同时出现垂直滚动条，而在其他现代浏览器上不会出现。但是这是什么原因呢？我推断可能的原因是：在 IE 下，当水平滚动条出现的时候，它会叠加在当前的高度内，造成垂直方向上的东西不能完全展现，以至于出现垂直滚动条，而在其他现代浏览器下，当水平滚动条出现时，是在当前的内容下添加的滚动条，没有占用已有的内容，不会对垂直方向上的显示造成影响，所以，没有出现垂直滚动条。不知道我的推测是否正确，期待高人的指点。</p>

<p>那么现在怎么解决 IE 下的滚动条呢，感觉看着别扭。如上所说，所需要做的仅仅是在 IE 浏览器下，当水平滚动条出现的时候将垂直滚动条隐藏，同时增加 pre 的下padding，这样子，就不会造成内容被隐藏，同时也去掉了垂直滚动条。我们使用 JS 实现我们想要的结果。</p>

<p>改进后的 CSS 代码：</p>

<p><pre>pre { border:1px solid #0066FF; background:#F0F0F0; overflow:auto; padding:5px; width:400px;}
pre.specialPre { padding-bottom:20px; overflow-y:hidden;}</pre></p>

<p>JavaScript 代码：</p>

<p><pre>function addLoadEvent(func) {
    var oldonload = window.onload;
    if (typeof window.onload != 'function') {
        window.onload = func;
    } else {
        window.onload = function() {
        oldonload();
        func();
        }
    }
}</p>

<p>function preClass() {
    if(document.all &amp;&amp; document.getElementsByTagName) {
        var pres = document.getElementsByTagName("pre");
        for(var i=0; i&lt;pres.length; i++) {
            if(pres[i].scrollWidth &gt; 410) {
                pres[i].className = "specialPre";
            }
        }
    }
}</p>

<p>addLoadEvent(preClass);</pre></p>

<p>这样子，就解决了在 IE 浏览器下的垂直滚动条的问题，可以在<a href="http://www.12sui.cn/test/07/">这里</a>看到展示。</p>

<p>注：文中的其他现代浏览器指的是：Opera、Firefox、Safari，所测试的版本分别为Opera 9.51、Firefox 3.0.1、Safari 3.1.1 。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.12sui.cn/develop/%e5%8e%bb%e6%8e%89%e6%a0%87%e7%ad%be%e5%9c%a8ie%e6%b5%8f%e8%a7%88%e5%99%a8%e4%b8%8b%e7%9a%84%e5%9e%82%e7%9b%b4%e6%bb%9a%e5%8a%a8%e6%a1%86/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

