CSS 那些事儿

作者:荆棘鸟 来源:荆棘鸟's Blog 时间:2008-12-02 18:19:00 

一、避免Firefox 背景图不显示的兼容问题,定义background 属性,先后顺序不能随意变动。

background : background-color || background-image || background-repeat || background-attachment || background-position

示例:

div { background: red no-repeat scroll left center }

二、IE图文混排,li 多出空白间距兼容问题,定义li  display: block; height=高度值。

三、一般排版尽可不用margin,避免ie firefox双倍边距兼容问题。

竖向空白间距,采用双层div嵌套,用外层div 的padding 值控制版块的栏间距,内层div 控制版块实际宽度样式。

横向空白间距,用专门的div空白行代替,如

<div class="blankline">

四、尽量不用css hack,以免新的浏览器出来,出现新的兼容性问题。
 

五、命名标准

一律小写;

尽量用英文;

不加中杠和下划线;

尽量不缩写,除非一看就明白的单词。

六、用空白行代替竖向间距margin,不设height 值,为了避免IE6的height最小值为设定的字号高度问题。

<div class="blankline"></div>
.blankline 
        padding-top: 5px;
}

如果设为 height: 5px; IE6下高度就会变为所设定的字体高度,远大于5px。

七、color 必须设定在font 定义之后,否则定义不起作用。

font-size: 100%;
 font-weight: bolder;
 color: #555555;

八、换行控制。

word-wrap          控制换行  { break-word 强制换行 }

word-break        控制断词   { break-all 换行时折分字母   keep-all 换行时英文按词换行,中文按句从有标点符号处换行 */

下图是使用keep-all属性,对于英文内容使用较好,可以换单词换行,不折单词中的字母,如果是中文,则从有标点符号处换号,使中文版面看起来较乱。所以,中文建议用break-all,英文用keep-all 。

对于Firefox,长串英文不能自动换行,对此网上有JS解决办法,但是对于小网站为这点小毛病兴师动众有些划不来,超长部分就用overflow: hidden;隐藏起来好了。

如果你是完美主义者,也可以看看老外的解决方案:

http://www.hedgerwow.com/360/dhtml/css-word-break.html

最后总结一下:兼容IE和Firefox的换行问题的CSS方法是:

table-layout: fixed;        /* 防止撑开IE表格 */
word-wrap: break-word;         /* 强制换行 */
word-break: break-all;        /* 按字母折分 */
overflow: hidden;        /* Firefox 超长隐藏 */


标签:css,背景,兼容,排版,标准
0
投稿

猜你喜欢

  • SQLServer Execpt和not in 性能区别

    2012-01-29 17:53:24
  • sqlserver中去除字符串中连续的分隔符的sql语句

    2012-06-06 20:07:39
  • ASP中Cache技术的应用

    2007-09-28 12:41:00
  • JS获取对象代码总结

    2011-03-07 16:14:00
  • 新手教程:如何设置五大类MySQL参数

    2010-03-03 16:40:00
  • Sql Server 数据库超时问题的解决方法

    2009-01-13 14:11:00
  • asp长文章分页显示思路

    2007-08-23 13:54:00
  • DWCS3-CSS布局之二CSS规则定义

    2008-06-16 13:36:00
  • 怎样从旧版本SQL Server中重新存储数据

    2009-01-15 13:23:00
  • asp如何计算下载一个文件需要多长时间?

    2009-11-25 20:17:00
  • asp 删除数据并同时删除图片的代码

    2011-02-28 10:39:00
  • 我们需要什么样的压力测试工具?

    2009-09-09 14:18:00
  • 账户名和密码漏输或误输的文字提示

    2009-06-24 14:28:00
  • Asp无组件生成缩略图

    2007-10-26 12:08:00
  • 深入浅出SQL嵌套SELECT语句

    2009-02-06 14:25:00
  • 批量更新存储过程所有者

    2010-07-15 21:14:00
  • div中class与id的区别及应用

    2007-09-22 08:37:00
  • 一个修改Oracle数据库用户密码的小诀窍

    2009-09-30 15:29:00
  • 如何将计数器的值赋给一个变量?

    2009-12-03 20:02:00
  • 非原型 不设计

    2010-01-21 12:51:00
  • asp之家 网络编程 m.aspxhome.com