﻿<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Baldwin's DNN</title>
    <description>在此研究DNN的所有相关课题，希望给DNN在中国的广为人知贡献一点绵薄之力....</description>
    <link>http://www.dnnsun.com/Community/BaldwinsBlog/tabid/67/blogid/1/Default.aspx</link>
    <language>zh-CN</language>
    <managingEditor>dnnsun@gmail.com</managingEditor>
    <webMaster>dnnsun@gmail.com</webMaster>
    <pubDate>Thu, 29 Jul 2010 10:40:06 GMT</pubDate>
    <lastBuildDate>Thu, 29 Jul 2010 10:40:06 GMT</lastBuildDate>
    <docs>http://backend.userland.com/rss</docs>
    <generator>SunBlog RSS Generator Version 2.3.8.0</generator>
    <item>
      <title>黑暗的艺术: CSS Hack</title>
      <description>  &lt;h4&gt;何谓CSS hack ?&lt;/h4&gt;  &lt;p&gt;由于不同的浏览器，比如IE6,IE7,Mozilla Firefox等，对CSS的解析原理不一致导致生成的页面效果千差万别，此时我们需要生成不同的样式让其兼容不同的浏览器，并得到理想的效果。详细请看: &lt;a title="CSS filter" href="http://en.wikipedia.org/wiki/CSS_filter" rel="nofollow"&gt;http://en.wikipedia.org/wiki/CSS_filter&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;说到底就是利用浏览器某些bugs来做文章, 没有哪位UI设计者希望使用CSS Hack, 大家羞于表达自己曾用过Hack, 但是有时你不得不出卖自己的灵魂给Hack. 目前我们项目希望可以在大部分的浏览器上通过验证, 工作量可想而知, 就好比我这会的签名档是“在windows7上蹂躏IE6,是无奈也是悲哀啊&amp;quot;, 不管怎么样，总之本人的机器已经安装了5款浏览器，同时因为有些没法在windows7下安装，我们不得已独立一个额外的机器专门安装其他旧版本的浏览器， 蔚为壮观。正希望浏览器这个恶魔在娘胎里就是over了, 有点”矫枉过正“,:) 回归正题, 其实今天在此就想跟大家分享一些目前基本的CSS Hack, 至少对我们目前这个项目蛮管用的(日子还得一天一天过, 尽管牢骚不断, 呵呵)&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color: green"&gt;/* Internet Explorer */
 
/* IE 6 only */
&lt;/span&gt;&lt;span style="color: #a31515"&gt;body #ie6 &lt;/span&gt;{
     &lt;span style="color: red"&gt;_display&lt;/span&gt;: &lt;span style="color: blue"&gt;block&lt;/span&gt;;
}

&lt;span style="color: green"&gt;/*IE 6 and IE 7 */
&lt;/span&gt;&lt;span style="color: #a31515"&gt;#ie6andie7 &lt;/span&gt;{
     *&lt;span style="color: red"&gt;display&lt;/span&gt;: &lt;span style="color: blue"&gt;block&lt;/span&gt;;
}

&lt;span style="color: green"&gt;/* IE 7 only */
&lt;/span&gt;&lt;span style="color: #a31515"&gt;html &amp;gt; body #ie7 &lt;/span&gt;{
    *&lt;span style="color: red"&gt;display&lt;/span&gt;: &lt;span style="color: blue"&gt;block&lt;/span&gt;;
}

&lt;span style="color: green"&gt;/* IE 6, IE 7 and 8 */
&lt;/span&gt;&lt;span style="color: #a31515"&gt;body #ie6andie7andie8&lt;/span&gt;{
    &lt;span style="color: red"&gt;display&lt;/span&gt;:&lt;span style="color: blue"&gt;block\9&lt;/span&gt;;
}   

&lt;span style="color: green"&gt;/* IE 8 only */
&lt;/span&gt;&lt;span style="color: #a31515"&gt;body #ie8&lt;/span&gt;{
    &lt;span style="color: red"&gt;display&lt;/span&gt;:&lt;span style="color: blue"&gt;block\9&lt;/span&gt;;
    *&lt;span style="color: red"&gt;display&lt;/span&gt;: &lt;span style="color: blue"&gt;none&lt;/span&gt;; &lt;span style="color: green"&gt;/*overrule for ie6 and ie7 which also read this rule*/
&lt;/span&gt;}

 
&lt;span style="color: green"&gt;/* Firefox */
 
/*Firefox 2 and 3 */
&lt;/span&gt;&lt;span style="color: #a31515"&gt;#firefox2&lt;/span&gt;, &lt;span style="color: #a31515"&gt;x:-moz-any-link &lt;/span&gt;{
    &lt;span style="color: red"&gt;display&lt;/span&gt;: &lt;span style="color: blue"&gt;block&lt;/span&gt;;
    *&lt;span style="color: red"&gt;display&lt;/span&gt;: &lt;span style="color: blue"&gt;none&lt;/span&gt;; &lt;span style="color: green"&gt;/*overrule for ie6 and ie7 which also read this rule*/
&lt;/span&gt;}

&lt;span style="color: green"&gt;/*Firefox 3 only (for Firefox 2 only use the rule above and this to overwrite for Firefox 3*/
&lt;/span&gt;&lt;span style="color: #a31515"&gt;#firefox3&lt;/span&gt;, &lt;span style="color: #a31515"&gt;x:-moz-any-link&lt;/span&gt;, &lt;span style="color: #a31515"&gt;x:default &lt;/span&gt;{
    &lt;span style="color: red"&gt;display&lt;/span&gt;: &lt;span style="color: blue"&gt;block&lt;/span&gt;;
    *&lt;span style="color: red"&gt;display&lt;/span&gt;: &lt;span style="color: blue"&gt;none&lt;/span&gt;; &lt;span style="color: green"&gt;/*overrule for ie6 and ie7 which also read this rule*/
&lt;/span&gt;}
  
&lt;span style="color: green"&gt;/* Safari */
&lt;/span&gt;&lt;span style="color: blue"&gt;@media &lt;/span&gt;screen and (-webkit-min-device-pixel-ratio:0) {
    &lt;span style="color: #a31515"&gt;#safari &lt;/span&gt;{
        &lt;span style="color: red"&gt;display&lt;/span&gt;: &lt;span style="color: blue"&gt;block&lt;/span&gt;;
    }
}
    
&lt;span style="color: green"&gt;/* Opera */
&lt;/span&gt;&lt;span style="color: blue"&gt;@media &lt;/span&gt;all and (-webkit-min-device-pixel-ratio:10000), not all and (-webkit-min-device-pixel-ratio:0) {
    &lt;span style="color: #a31515"&gt;head~body #opera &lt;/span&gt;{
        &lt;span style="color: red"&gt;display&lt;/span&gt;: &lt;span style="color: blue"&gt;block&lt;/span&gt;;
    }
}&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p&gt;最后喊一下口号: 尽量做到符合W3C标准, 不得已才Hack, 并尽可能用简便灵活的方案. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;相关链接:&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a title="http://www.cnblogs.com/huangjianhuakarl/archive/2009/07/22/1528744.html" href="http://www.cnblogs.com/huangjianhuakarl/archive/2009/07/22/1528744.html"&gt;http://www.cnblogs.com/huangjianhuakarl/archive/2009/07/22/1528744.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a title="http://lifesinger.org/blog/2009/06/goodbye-to-css-hack/" href="http://lifesinger.org/blog/2009/06/goodbye-to-css-hack/"&gt;http://lifesinger.org/blog/2009/06/goodbye-to-css-hack/&lt;/a&gt;&lt;/p&gt;</description>
      <link>http://www.dnnsun.com/Community/BaldwinsBlog/tabid/67/entryid/103/The-dark-art-of-CSS-Hacks.aspx</link>
      <author>dnnsun@gmail.com</author>
      <guid isPermaLink="true">http://www.dnnsun.com/Community/BaldwinsBlog/tabid/67/entryid/103/The-dark-art-of-CSS-Hacks.aspx</guid>
      <pubDate>Wed, 22 Jul 2009 10:32:14 GMT</pubDate>
      <trackback:ping>http://www.dnnsun.com/DesktopModules/SunBlog/Trackback.aspx?id=103</trackback:ping>
    </item>
  </channel>
</rss>