css默认样式+css压缩

作者:我就是个世界 发表于:2009-03-15
[color=#008000]css默认样式:[/color]

[code]body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{margin:0;padding:0}
table{border-collapse:collapse; border-spacing:0}
fieldset,img{border:0}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal}
ol,ul{list-style:none}caption,th{text-align:left}
h1,h2,h3,h4,h5,h6{font-size:100%; font-weight:normal}
q:before,q:after{content:''}
abbr,acronym{border:0} [/code]

[color=#008000]CSS压缩[/color]

http://www.osxcn.com/csstidy/?lang=zh-cn
http://www.cssdrive.com/index.php/main/csscompressor/
http://www.cleancss.com/
[separator]
[url=http://www.gracecode.com/Archive/Display/2523][b]转载:CSS 在 Explorer6 下调试 CSS(草译)[/b][/url]

[url=http://imgiseverything.co.uk/2008/10/31/how-i-debug-ie6/]原文连接在这里[/url],主要介绍原作者的针对 Explorer6 调试 CSS 的一些经验。不过在我个人看来,这也是一般性的 CSS 调试方法。

[b][size=3]防患于未然[/size][/b]

坦白的讲,我每天都会话很多时间用于调试 Explorer6 的 CSS 问题上。下面是一些小 Tips 可以确保 Explorer6 最大限度的返回你期望的效果。不幸的是,并不是每个人都知道它们(译注:作者有些“危言耸听”)。

[b][size=3]重置默认样式[/size][/b]

重置默认样式可以最大限度的避免浏览器差异,最简单的样式重置通常可以这样写

[code]* {
    margin: 0;
    padding: 0;
}[/code]

如果你觉得这样“太过于简单”,可以参考 [url=http://developer.yahoo.com/yui/reset/]YUI Reset[/url] 和 [url=http://meyerweb.com/eric/tools/css/reset/]Eric Meyer's Reset[/url]。

[b][size=3]不要在同一元素上同时声明 margin/padding 的宽度[/size][/b]

由于 Explorer6 糟糕的[url=http://www.456bereastreet.com/archive/200612/internet_explorer_and_the_css_box_model/]盒模型[/url],,你必须要万分小心。如果你需要将一元素设置了宽度,注意避免再将其上设定margin、padding(左边或者右边)。我会在其上再包裹一层元素,比如
[code]<p>、<ul>、<table>、<hr>[/code]这样的标签。

在大多数情况下,设计师会统一同一种元素的样式,比如段落的内间距(padding)统一为 8px 到 20px(通常为 10px)

[code]p {
    padding: 0 10px;
}[/code]

这是个非常好的定义。

另外:我一直使用像素(pixels)作为 margin 和 padding 的单位,因为如果使用 em,那么可能在使用不同的字体造成不同的宽度差异。

[b][size=3]校验 XHTML、HTML[/size][/b]

我已经好几次遇到这样的问题,在 Firefox 和 Safari 显示完好的页面,却在 Explorer6 下显得惨不忍睹。如果 Explorer7 也出现了这样的问题,那可能是遗失了“<”或者“>”之故。为了些可预见性的问题,其他浏览器都会注意这个问题,唯独 Explorer 。

我经常使用 Firefox 的 [url=https://addons.mozilla.org/en-US/firefox/addon/249]HTML validator 插件[/url]验证页面代码。

[b][size=3]保持清除浮动[/size][/b]

总会有页面要将某个元素浮动起来,如果是定宽的那么还好办。如果是不定宽度的,那么要清除下浮动 -- 毕竟其他元素不一定都是浮动的。总之,时刻记得清除浮动是个好的习惯(译注:[url=http://www.gracecode.com/Archive/Display/1209]也可以参看我以前的文章[/url])。

[b][size=3]调试的技巧[/size][/b]

虽然有多年针对 Explorer6 的 CSS 调试经验,一些常见的问题我知道如何去解决,但真的碰到很头痛的问题时,那时我通常会这样解决

打开电脑,载入 Explorer6 (译注:废话 -_-!)

确保安装了 [url=http://www.visionaustralia.org.au/ais/toolbar/]IE Accessibility 工具条[/url]

点击工具条上的“编辑 CSS”

然后我开始“变魔术”

[b][size=3]寻找错误[/size][/b]

[b]设定背景色[/b]

我经常会在指定的大块元素上设定个背景色

[code]#content {
    background-color: red;
}
#sidebar {
    background-color:blue;
}[/code]

这能让我知道是哪块元素出了问题(译注:我喜欢用“red”高亮,因为好打而且显眼)。

[b]隐藏元素[/b]

然后开始逐级的隐藏该块元素中的内容,首先是最大的块

[code]#sidebar {
   display: none;
}[/code]

如果问题消失了,那么再逐级在块中寻找出问题的元素,比如

[code]#sidebar .sub-item {
    display: none;
}[/code]

或者

[code]#sidebar .sub-item .sub-sub-item {
    display: none;
}[/code]

使用这一方法,通常就能精确的定位哪个元素造成的问题(按照经验通常是
[code]<div> [/code]或者是
[code] <p> [/code])。

[b][size=3]寻找解决方案[/size][/b]

Explorer6 是头“烈马”,它会按照自己的规则去渲染 CSS 。当找到对应的元素后,下面有些经验式的解决方案可以参考一下(保持原作、顺便偷懒就不翻译了)

[code]#sidebar .sub-item .sub-subitem {
    /* try setting this if it’s not already set - it sometimes works wonders */
    position: relative;

    /* display: inline often fixes the double margin float bug and */
    display: inline;
            
    /* Sometimes this just fixes problems - no idea why */
    display: inline-block;

    /* margin can be a killer so take it off completely see if the problem goes away */
    margin: 0;

    /* same as margin */
    padding: 0;

    /* Sometimes IE6 hates background colours not being declared */
    background-color: transparent;

    /* can sometimes stop columns too wide from breaking a layout */
    overflow: hidden;

    /* Sometimes forces hasLayout and fixes things */
    zoom: 1;
}[/code]

我经常会碰到改变它的 margin 和 display 就能解决问题。然后我会使用 Google 搜索网上是否有相应的 Bug 记录。

[size=3][b]解决问题[/b][/size]

当我找到解决该问题的办法以后,通常我会将其放到名为 ie6.css 文件中,然后只让 Explorer6 载入该 CSS 。当然,要确定该样式会覆盖原先定义的样式。

译注:当然也可以使用 [url=http://www.webdevout.net/css-hacks]CSS Hacks[/url],但不推荐这样做,原因之一是要“[url=http://www.digital-web.com/articles/keep_css_simple/]保持 CSS 简单[/url]”。

分享:

扫一扫在手机阅读、分享本文

请发表您的评论