代码改变世界

个人总结的一些css实用技巧及必须得注意的事项

2009-03-07 08:20  一醉而过  阅读(337)  评论(0编辑  收藏  举报

 

个人总结的一些css实用技巧及必须得注意的事项:

1.
注释须知:html中注释不能这样写:

代码:

<div></div><!--------这是错误写法------->
<div></div><!--=======
这是正确写法========-->

这种写法,FF中会忽略其下面的内容详见:http://www.bluebirdsky.cn/article.asp?id=153.
2.CSS
注释切记在/*之后及*/之前空一格,否则在有些语言中会出问题,正确写法:

代码:

#div{style}/* 注释前后要空格 */

3.最简单区分IEFFHACK写法(具体原理请参考:http://www.bluebirdsky.cn/article.asp?id=65):

代码:

#layer{
    padding-top:20px;/* FF
中定义 */
    *padding-top:10px;/* IE
中定义 */
}

4.divIE(FF中没有)是有默认高度的,可以用定义:

代码:

div { witdh:100%; background:#9c0; ling-height:0}

的方式去掉默认高度.
5.
按钮按下时立体感效果:

代码:

a:hover { position:relative; top:1px; left:1px}/* 切记一定要是相对定位 */

6.关闭当前页面代码:

代码:

<div onclick="window.close();">关闭当前页面</div>

7.整站变灰代码(加到样式表中):

代码:

html { filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);}

8.设为首页代码:

代码:

<span onclick="var strHref=window.location.href;this.style.behavior='url(#default#homepage)';this.setHomePage('http://www.bluebirdsky.cn');" style="CURSOR:hand">设为首页</span>

9.加入收藏代码:

代码:

<script language="JavaScript">
function bluebirdsky()
{window.external.addFavorite('http://www.bluebirdsky.cn','Bluebirdsky');}
if (document.all)document.write('<a href="##" onClick="bluebirdsky();" title="
“Bluebirdsky”加入您的收藏夹!">收藏本站</a>')
</script>

10.导航间竖线的定义方法:
css
部分:

代码:

.nav {
    width:408px;/*
这个宽度一定要按li中的宽度算好 */
    float:right;
    display:inline;
    overflow:hidden
}
.nav ul {
    margin:0;
    padding:0
}
.nav li {
    float:right;
    width:80px;
    height:auto;
    text-align:center;
    padding:0 10px;
    border-right:1px solid #444;
    margin-right:-1px;
}

html部分:

代码:

<div class="nav">
  <ul>
    <li><a href="show.htm">
产品展示</a></li>
    <li><a href="case.htm">
成功案例</a></li>
    <li><a href="service.htm">
客户服务</a></li>
    <li><a href="download.htm">
下载中心</a></li>
  </ul>
</div>

11.中英文下划线对齐方式(利用图片的align="absmiddle"):

代码:

<img src="img.gif" align="absmiddle">中英文并排:<a href="/">中文 gollum</a>

12.li交替显示背景代码:

代码:

ul {
    list-style:none;
    font-size:12px;
    line-height:20px;
    color:#666;
}
ul li {
background-color:expression(this.sourceIndex%2==0?'#EAF8FD':'#ffffff');
}

13.利用css reset规避IE6下密码表单和文本不等长的问题,css reset中加入:

代码:

input {
    font-family:Arial, Helvetica, sans-serif;
}

14.FF下上边距无效时,及时反应给父级div上写入overflow:hiddenoverflow:auto;也可以在子级div中写入float:left; display:inline.
15.
描边文字效果:

代码:

<div style="position:relative; width:200px; height:25px; line-height:25px; text-align:center; font-size:14px; color:#fff; background:#9c0;">
这是描边文字<span style="position:absolute; left:-1px; top:-1px; color:#444;width:200px; height:25px; display:block">这是描边文字</span>
</div>

16.圆角背景,最简单的方法就是PS圆角线条,然后用表格实现自适应,详见:http://www.bluebirdsky.cn/article.asp?id=170.
17.
通过定义em实现小三角效果:

代码:

* {
    font-size:14px;/*
必须通配字体大小 */
}
em {
    display:block;
    font:0/0 "
宋体";/* 经本人摸索,只有在宋体下才最为标准 */
    border:7px solid;/* border
值越大,三角形越大 */
    border-color:#fff #fff #fff #444;/*
通过改变颜色值,可产生不同效果,自己实验 */
    margin-top:5px
}

在样式中加入以上代码后,body中用<em></em>即可得到小三角效果.
18.
如果在FF中测试发现层错位或者下面的层跑到顶上了,八九不离十是没清除浮动的原因,在出问题那个层样式中加入:

代码:

clear:both

即可.
19.IE6
下当层高低于10px,会出现高度在定义值上加10px的效果,最简单的方法就是在该层样式中加入:

代码:

font-size:0;

立马将其打回原形.
20.
布局中栏目分割遵循62%:38%的原则,详见:http://www.bluebirdsky.cn/article.asp?id=165.
21.
文字段在容器内超宽时,截断该文字段并且续以省略号:

代码:

overflow:hidden;text-overflow:ellipsis;

这两具是连体的,单一用有问题.并且在FF下貌似无效,摸索中..
22.
为了让代码看起来整齐标准,别忘了在写完代码后用DW中执行:命令---套用源格式:


23.display
line-blockHACK:

代码:

.menu{
    display:-moz-inline-stack;/*
专属FF也可以用-moz-inline-box定义 */
    *display:inline;
    zoom:1;/*
上一行和此行用于激活IE6/7layout,实现类似效果 */
}

具体应用详见:http://www.bluebirdsky.cn/article.asp?id=176
24.
透明度滤镜的用法:

代码:

.navbg {
    filter:alpha(opacity=40);       /* IE */
    -moz-opacity:0.4;               /* Moz + FF */
    opacity: 0.4;                   /*
支持CSS3的浏览器(FF 1.5也支持)*/
}

25.一栏固定,一栏自适应方法:http://bluebirdsky.cn/article.asp?id=183.
26.
WEB标准中,h1在同一页面中只能出现一次.这个概念知道的人很多,但使用时忽略的人也相当的多.
27.
表格边框颜色的定义不能缩写,比如:

代码:

bordercolor="#3399cc"

不能写成:

代码:

bordercolor="#39c"

28.行高定义最便捷的方法,body中加入:

代码:

line-height:1.5;   /* 1.5不能有单位,含义为字体大小的1.5,可自定义 */

如果某些文本不想以这个行高为标准,可以根据CSS优先级重新定义.
28.
当图像不存在时,可用一张通用图片代替显示:

代码:

<img src="image.gif" onerror="this.src='noimage.gif'" />

29. 检索或设置对象的层叠顺序:

代码:

z-indexauto|number

此属性仅仅作用于position属性值为relative absolute时的对象.看个DEMO
30.
使一个层垂直居中于浏览器中:

代码:

div {
    position:absolute;
    top:50%;
    left:50%;
    margin:-100px 0 0 -100px;
    width:200px;
    height:200px;
    border:1px solid red;
    }

详细案例请参考:http://www.bluebirdsky.cn/article.asp?id=210
31.
如何让三列横向排列

代码:

div {
    float:left;
    margin:1px;
    width:200px;
    height:200px;
    background:orange
    }

32.将以下代码加入Global CSS ,给需要闭合的div加上 class="clearfix" 即可,屡试不爽.

代码:

/* Clear Fix */
.clearfix:after
{
content:".";
display:block;
height:0;
clear:both;
visibility:hidden;
}
.clearfix
{
display:inline-block;
}
/* Hide from IE Mac */
.clearfix {display:block;}
/* End hide from IE Mac */
/* end of clearfix */

33.若需给 a 标签内内容加上 样式, 需要设置display: block(常见于导航标签).
........................