css开发经验&错误习惯

CSS开发经验

1.尽量用class来定义样式。尽量少使用  .div1 ul li{}这样的样式下去,因为如果li里面还有<div><ul><li>这些元素的话会造成干扰,应该给ul加个class如<ul class="ul1"></ul>这样来写。

2.margin:0px auto;  用于兼容不同分辨率的内容居中设置。

3.分享一个非常好用的CSS图片合并网站,他能够将用户上传的图片一次合并成为一张大图片,同时还能够生成每张图片的背景位置,对于减少HTTP请求非常有用。

http://cn.spritegen.website-performance.org/

4.如果用了float:left;那么能用float:left就一直用float:left。否则左右不定,当HTML结构不合理时很麻烦。

5.绝对定位,要尽量找到离它最近的父元素作为定位基准,这样能更好地兼容分辨率等问题。而且浏览器移动也不会漂移。

6.今天解决了一个美化一个file表单元素的美化问题,真可谓是问题多多,特此做个记录。

  按照公司的要求,上传表单要设计成只有一个按钮,不能够显示前面的文本框。

  尝试过将<input type=file>隐藏,然后通过一个div的单击事件触发file的单击事件,这样虽然file表单元素是能够获取到路径,但是提交的时候,IE死活不让提交,但是将file元素显示之后,点击浏览按钮选择的路径却能够提交。因此得出一个未经严格验证的结论。IE下的file表单元素,一定要通过鼠标真正点击浏览按钮选择到的路径才会提交表单。因此此方法我废弃了。

  既然你IE一定要鼠标真正点击才能够提交表单吗?OK,那我就把input file设置为透明的,盖在背景图上面,然后通过字体调整后面浏览按钮的大小,调到浏览按钮的大小刚刚好覆盖住背景图片,这样就完美了。代码不粘贴上来了,仅仅上传个DEMO程序,以后忘记了可以到这里下载。

   DEMO地址

7、z-index说明。

在IE中,对于定位元素,不是单纯的比z-index谁大谁小,还要比其父元素的大小。此图从园子里一个牛人处拷来。原本地址是:http://www.cnblogs.com/Darren_code/archive/2012/03/05/z-index.html,可以看到在IE中,是先比较了父元素的z-index,然后再比较同一父元素下的子元素。图片已经说明得很清楚。只要自己的父元素z-index不够大, 无论自己的z-index再大,也不会盖过其他父元素比它高的元素的子元素。

8、在布局时,不要定好了宽度,再来处理什么padding,border,margin之类的。因为定好了宽度,如果按照这个宽度再来添加padding,border,margin,实际上这个盒子占用的距离为padding + border + margin + content。

9、Cursot自定义光标注意的问题

css:{cursor:url(‘绝对路径的图片(格式:cur,ico)‘),-moz-zoom-out;}//FF下面
css:{cursor:url(‘绝对路径‘),auto;}//IE,FF,chrome浏览器都可以

前面url是自定义鼠标格式,图像的绝对路径地址,后面的参数是css标准的cursor样式,(IE下面可以不需要)

图标的格式根据不同的浏览器来分:IE支持cur,ani,ico这三种格式,FF支持bmp,gif,jpg,cur,ico这几种格式,不支持ani格式,也不支持gif动画格式,因此来说一般将图片存为cur或ico格式比较好,如果是ani格式的话,那么可以在FF下面用jpg,gif,bmp来代替(cursor:url(.....ani),url(.....gif),auto)

还有几个需要注意的地方:1.图片地址为绝对路径,2.图片大小最好是32*32的大小,反正在各个浏览器下面解析的大小不一样

10、今天碰到一个奇怪的问题,google,IE浏览器下这段代码:

                    <td width="120px">
                        <a>xxx</a>
                    </td>
                    <td>
              <a>xxx</a>
                    </td>
                    <td width="50px">
              <a>xxx</a>            </td>   

  本来是3个td,某一天,突然中间那个加了个很长的a内容,结果在google里就把整个table都撑大了。

  后来在中间的td加了个  style="word-break:break-all;"  就搞定了。

11、IE7下滤镜的问题:

  先来看下面这一段代码在IE7下面与谷歌浏览器下的区别:

<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
    <div style="margin-top:300px; margin-left:300px;  position:fixed; width:200px; height:200px;">
        <div style=" position:relative; width:160px; height:160px; opacity: 0.9; filter:alpha(opacity=90);">
            <div style=" position:absolute; left:-50px; top:-50px; width:100px; height:100px;"></div>
        </div>
    </div>
</body>
</html>

  先来看谷歌的表现:

  

  IE7的表现:

  

  这里主要的问题就是,当一个DIV设置了 filter:alpha(opacity=90);属性之后,在IE7下,所有超越该DIV边界的东西都会自动隐藏。暂时我还没有找到办法解决。

  但是有绕道方案:

  1、将要跨界显示的内容,移到设置了filter的DIV之外,再用相对偏移量移到适当位置。

  2、加这一句代码    *filter:;  在IE7下不启用透明效果。对其他浏览器没影响。

12、dispaly:none与visibility: hidden的区别

  dispaly:none; CSS1隐藏对象。与visibility属性的hidden值不同,其不为被隐藏的对象保留其物理空间。

  visibility: hidden;设置或检索是否显示对象。与display属性不同,此属性为隐藏的对象保留其占据的物理空间。如果希望对象为可视,其父对象也必须是可视。

作者: 逆心
   
出处: http://www.cnblogs.com/kissdodog/archive/2012/12/04/2801162.html
时间: 2024-12-26 00:12:45

css开发经验&错误习惯的相关文章

Div+CSS常见错误总结

CSS+DIV是网站标准(或称"WEB标准")中常用的术语之一,通常为了说明与HTML网页设计语言中的表格(table)定位方式的区别,因为XHTML网站设计标准中,不再使用表格定位技术,而是采用css+div的方式实现各种定位.应用应用DIV+CSS编码时很容易犯一些错误.本文列举了一些常见的错误:  1. 检查HTML元素是否有拼写错误.是否忘记结束标记 即使是老手也经常会弄错div的嵌套关系.可以用dreamweaver的验证功能检查一下有无错误. 2. 检查CSS是否正确 检查

标准的CSS代码编写习惯:两列左导航设计,顶

/***********************************************//* 2col_leftNav.css                            *//* Use with template 2col_leftNav.html          *//***********************************************//***********************************************//* H

书写HTML+CSS的好习惯

1.       使用带有语义的标记 2.       创建良好的标记 a)         选择合适的DOCTYPE,这是一个健壮文档所必须的 b)         指定语言和字符集,一些搜素引擎会根据搜索请求的语言来过滤搜索结果 c)         指定标题,无论是收藏还是搜索引擎对标题中的内容都有偏爱 d)         选用恰当的元素 e)         避免过度使用div和span f)          尽可能少的使用标签 g)         适当使用class和id 3. 

CSS开发经验

1.尽量用class来定义样式.尽量少使用  .div1 ul li{}这样的样式下去,因为如果li里面还有<div><ul><li>这些元素的话会造成干扰,应该给ul加个class如<ul class="ul1"></ul>这样来写. 2.margin:0px auto; 用于兼容不同分辨率的内容居中设置. 3.分享一个非常好用的CSS图片合并网站,他能够将用户上传的图片一次合并成为一张大图片,同时还能够生成每张图片的背景位

iis 7.5 0x80004005 静态文件 html、js、css 500错误

环境:iis 7.5 win7 64位 vs2012 问题:本地环境F5直接运行,没有任何问题,发布到IIS,静态文件不能访问,出现500错误,网上找了一堆解决办法,排除路径不正确,iis全部功能勾了的,包含静态内容 解决办法:在webconfig中加上这一段 <httpHandlers>                     <add verb="*" path="*" type="System.Web.StaticFileHandl

前端工程师必须收藏的 CSS 资源大全

我想很多程序员应该记得 GitHub 上有一个 Awesome:XXX 系列的资源整理.awesome-css 是 sotayamashita 发起维护的 CSS 资源列表,内容包括:CSS预处理器.框架.CSS结构.代码风格指南.命名习惯.播客.演讲视频.大网站的 CSS 开发经验等等. Awesome 系列虽然挺全,但基本只对收录的资源做了极为简要的介绍,如果有更详细的中文介绍,对相应开发者的帮助会更大.这也是我们发起这个开源项目的初衷. 预处理器 更快地编译 CSS GCSS:一个用GO语

Css常用的技巧

一.使用css缩写 使用缩写可以帮助减少你CSS文件的大小,更加容易阅读.  具体内容请浏览:CSS常用缩写语法 二.明确定义单位,除非值为0. 忘记定义尺寸的单位是CSS新手普遍的错误.在HTML中你可以只写width="100",但是在CSS中,你必须给一个准确的单位,比如:width:100px width:100em.只有两个例外情况可以不定义单位:0值.除此以外,其他值都必须紧跟单位,注意,不要在数值和单位之间加空格. 三.区分大小写 当在XHTML中使用CSS,CSS里定义

css对网页样式控制

1.方便修改网页格式:css对网页样式的控制可以独立地进行,因而修改.更新起网页起来都显得异常轻松容易. 2.轻松增加网页的特殊效果:在网页中过多的使用图像会破坏原有文字的存储格式,并且会加长下载时间,如果使用了css中的图像滤镜,就可以在不增加网页体积的情况下实现一些特殊的视觉效果,为网页添加生气. 3.使用网页元素更准确的定位:之前HTML中使用的表格用来定位表格元素,而且表格只适用于规则的网页排版,对于复杂的不规则的网页结构就显得力不从心,而css能很好的解决排版问题. 4.良好的适应性:

有利于SEO的DIV+CSS的命名规则小结

由于项目中编写文档结构.编写CSS的人员较多,并与程序员协同工作,所以就需要统一开发规范,根据XHTMl和CSS编织的规范和大多人的习惯,整理了以下针对本项目的一个简单的开发规范. 一.CSS文件及样式命名 1.CSS文件命名规范 全局样式:global.css: 框架布局:layout.css: 字体样式:font.css: 链接样式:link.css: 打印样式:print.css: 2.CSS样式命名规范 本人建议:用字母._号工.-号.数字组成,必须以字母开头,不能为纯数字.为了开发后样