使用html和css的一些经验

时间:2021-07-10 16:01:24

1.注释须知:html中注释不能这样写:
  <div></div><!--------这是错误写法------->
  <div></div><!--=======这是正确写法========-->
  这种写法,FF中会忽略其下面的内容.

  2.CSS注释切记在/*之后及*/之前空一格,否则在有些语言中会出问题,正确写法:
  #div{style}/* 注释前后要空格 */

  3.最简单区分IE与FF的HACK写法
  #layer{
  padding-top:20px;/* FF中定义 */
  *padding-top:10px;/* IE中定义 */
  }

  4.空div在IE(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://keleyi.com');" style="CURSOR:hand;">设为首页</span>

  9.加入收藏代码:
  <script language="JavaScript">
  function ITRenCai()
  {window.external.addFavorite('http://keleyi.com','柯乐义');}
  if (document.all)document.write('<a href="javascript:void(0);" onClick="ITRenCai();" title="把“柯乐义网”加入您的收藏夹!">收藏本站</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="http://keleyi.com/">柯乐义首页</a></li>
<li><a href="http://keleyi.com/menu/webqd/">Web前端</a></li>
<li><a href="http://keleyi.com/menu/jquery/">jquery资源</a></li>
<li><a href="http://keleyi.com/menu/csharp/">C#资讯</a></li>
<li><a href="http://keleyi.com/menu/other/">网络编程</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:e?xpression(this.sourceIndex%2==0?'#EAF8FD':'#ffffff');
  }

  13.利用css reset规避IE6下密码表单和文本不等长的问题,在css reset中加入:
  input{font-family:Arial, Helvetica, sans-serif;}

  14.FF下上边距无效时,及时反应给父级div上写入overflow:hidden或overflow: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.通过定义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>即可得到小三角效果.

  17.如果在FF中测试发现层错位或者下面的层跑到顶上了,八九不离十是没清除浮动的原因,在出问题那个层样式中加入:
  clear:both 即可.

  18.IE6下当层高低于10px时,会出现高度在定义值上加10px的效果,最简单的方法就是在该层样式中加入:
  font-size:0;
  立马将其打回原形.

  19.布局中栏目分割遵循62%:38%的原则.

  20.文字段在容器内超宽时,截断该文字段并且续以省略号:
  overflow:hidden;text-overflow:ellipsis;
  这两具是连体的,单一用有问题.并且在FF下貌似无效,摸索中..

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

  22.透明度滤镜的用法:
  .navbg {
  filter:alpha(opacity=40); /* IE */
  -moz-opacity:0.4; /* Moz + FF */
  opacity: 0.4; /* 支持CSS3的浏览器(FF 1.5也支持)*/
  }

  23.在WEB标准中,h1在同一页面中只能出现一次.这个概念知道的人很多,但使用时忽略的人也相当的多.

  24.表格边框颜色的定义不能缩写,比如:
  bordercolor="#3399cc"
  不能写成:
  bordercolor="#39c"

  25.行高定义最便捷的方法,在body中加入:
  line-height:1.5; /* 1.5不能有单位,含义为字体大小的1.5倍,可自定义 */
  如果某些文本不想以这个行高为标准,可以根据CSS优先级重新定义.

  26.当图像不存在时,可用一张通用图片代替显示:
  <img src="data:image.gif" onerror="this.src='noimage.gif'" />

  27. 检索或设置对象的层叠顺序:
  z-index:auto|number
  此属性仅仅作用于position属性值为relative 或absolute时的对象.看个DEMO

  28.使一个层垂直居中于浏览器中:
  div {
  position:absolute;
  top:50%;
  left:50%;
  margin:-100px 0 0 -100px;
  width:200px;
  height:200px;
  border:1px solid red;
  }