前端开发中一些常用技巧总结
1. 文章标题列表中日期居右显示的两种方法,方法A相对方法B省资源,但比方法B要多写两句代码,使用时请视情况而定:
方法A (经典论坛ariesjia提供的思路.感谢~):
1 <p>@Mr.Think这是文章标题<span>2010-10-10</span></p>
然后定义p和span的样式:
1 p{position:relative}
2 p span{position:absolute; right:0}
方法B:
1 <p><span>2010-10-10</span>@Mr.Think这是文章标题</p>
然后定义span右浮动:
1 p span{float:right}
其实这两种方法可以延伸到很多情况下,很实用的一种写法;
2.web标准中,同一页面中只能有一个h1标签.很多人知道这个概念,但做到的却很少;
3.空白外边距互相叠加的问题:一般通过添加透明边框或者1px的内边距避免.详细解读:http://mrthink.net/css-margin-overlying-way/;
4.ie6下max/min-width/height实现,_width: expression(this.width >600 ? “600px” : true);,height同理.
5.html/class/id,最好统一以小写书写,这样更严谨(符合xhtml标准);
7.空div在IE(FF中没有)是有默认高度的,可以用定义:div{witdh:100%; background:#9c0; font-size:0}的方式去掉默认高度;
8.在使用table标签时应该尽可能的利用它本身的属性,最大限度的分离结构与样式.详细解读:http://mrthink.net/csshtml-colgroup-col-style/;
9.充分利用表单中label标签提升用户体验; 这一点对于页面中那些小的选项框,以及对残障人士阅读网站都有好处.细节是用户体验的第一步;例如:
1 <label for="sample">SAMPLE</label><input id="sample" />
当鼠标点击SAMPLE时,光标将自动在文本域中获取焦点;
10.fieldset, legend标签,鲜为人知,却很实用的一组标签;它可以很明了的把一组元素框起来,主要用于表单;
11.optgroup标签,鲜为人知,它对提升选择表单用户体验很有帮助.作用? 就是可以在有很多选项时,对这些选项分组:
1 <select id="selectId">
2 <optgroup label="GROUP ONE">
3 <option value="1">one select</option>
4 <option value="2">two select</option>
5 </optgroup>
6 <optgroup label="GROUP TWO">
7 <option value="3">three select</option>
8 <option value="4">four select</option>
9 </optgroup>
10 </select>
效果演示:
12.表单都要加name值,name值是一个标示,不同于id,据我所发现,若是未定义name值,非IE浏览器下是无法通过document.formid获取到表单元素的.请看如下代码及注释:
1 <html>
2 <head>
3 <script>
4 window.onload=function(){
5 alert(document.mrform.length); //所有浏览器均会弹出表单元素长度
6 alert(document.thinkform.length); //仅IE会弹出该表单元素长度
7 }
8 </script>
9 </head>
10 <body>
11 <form name="mrform" id="thinkform" action="#">
12 ......
13 </form>
14 </body>
15 </html>
13.同一行上文字与图片垂直居中对齐方法:为图片与文字的共同父元素所有的后代元素定义*{vertical-align:middle};
例如:
1 <p>@Mr.Think<img src="i/image.gif" /></p>
只需定义p*{vertical-align:middle}即可使文字与图片同行垂直居中.
14.同一行上文字与表单对齐方法: 设置表单元素第一字体为Tahoma(Verdana系列也可),并设置vertical-align:middle.建设大家把这个约定写入CSS RESET中,能减小很多麻烦:
1 body,button,input,select,textarea{font:12px/1.5 tahoma,arial,sans-serif; vertical-align:middle}