当前位置: 首页 > 图文教程 > 网页制作 > HTML/XHTML教程 > 实现lightBox时的样式与行为分离减少JS

HTML/XHTML教程
HTML表格标记教程(4):边框色属性BORDERCOLOR
HTML表格标记教程(1):制作表格
HTML表格标记教程(2):表格的边框属性BORDER
HTML教程,简单学习HTML语言(2)
HTML表格标记详细讲解(适合初学者)
网页制作解惑:图象文件的路径
HTML教程,简单学习HTML语言
HTML基础:HTML的基本结构
HTML教程,认识optgroup元素
网页输入框的样式触发效果
HTML教程,HTML默认样式
超链接打开目标(target)的测试
XHTML教程,简单认识XHTML基础知识
HTML表格标记教程(35):跨列属性COLSPAN
HTML表格标记教程(33):单元格的垂直对齐属性VALIGN
HTML表格标记教程(34):跨行属性ROWSPAN
HTML表格标记教程(31):单元格的宽度和高度属性WIDTH、HEIGHT
HTML表格标记教程(32):单元格的水平对齐属性ALIGN
HTML表格标记教程(30):单元格的暗边框色属性BORDERCOLORDARK
HTML表格标记教程(28):单元格的边框色属性BORDERCOLOR

HTML/XHTML教程 中的 实现lightBox时的样式与行为分离减少JS


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 85 ::
收藏到网摘: n/a

[参与测试的浏览器:IE6 / IE7 / IE8 / FF3.5 / OP9.6 / SF4 / Chrome2 ]
[操作系统:Windows]

本教程旨在实现lightBox时的样式与行为分离,减少JS在各方面(全屏遮蔽、ie6中遮蔽select、双向居中、高度自适应内容等)的工作。

先上代码

运行代码框

[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

这个lightBox具备以下特性,大家可以通过修改代码测一测 ^-^:

  1. 在页面中任意一位置点开,均能完美遮屏(此时无法直接控制包括滚动条在内的任意元素),IE6中无须隐藏即能遮蔽select元素(iframe遮蔽法的缺陷:遮蔽后,如果拖动滚动条,select仍会移至顶层)。
  2. lightBox的高度自适应其内容,并呈现完美的居中状态。
  3. 内容为单行时,居中显示;内容为多行时,居左显示;内容高度使lightBox超过屏高时呈现滚动条,并居顶显示,读者能完整阅读。

如有兴趣,构成这个lightBox的以下小技巧可供您参详:

1. 全屏遮蔽的方法:

A. 隐藏html/body的滚动条。
B. 用一个div做遮罩,再用一个div做带有滚动条的页面,一个叠上面,一个叠下面。

运行代码框

[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

2. 单行居中,多行居左的方法(看demo吧,表述能力有限):

运行代码框

[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

3. 使用inline-block实现未知高度垂直居中的方法(看图和demo吧,表述能力有限):

图示:

代码演示:

运行代码框

[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

存在的两个细节性问题:

  1. 大家可以看到完整demo中并未出现font-size:0;,而在垂直居中法中却出现了。
    因为font-size:0在完整demo中,将使firefox3.5中读者完整阅读时lightBox的鼠标滚轮失效,原因不详,这一点大家可以作情处理。
  2. maxHeight这东西只能放在lightBoxContent的后面,因为在opera9.6中会出现bug,囧。