首页 | 互联网 | IT动态 | Cisco | Windows | Linux | Java | .Net | Oracle | 华为 | 存储世界 | 服务器 | 网络设备 | IDC | 安全 | 求职招聘
IT培训 | 数字网校 | 技术专题 | 电子书下载 | 教学视频 | 网页设计 | 平面设计 | 解决方案 | 直播室 | 虚拟考场 | 搜索 | 博客 | 沙龙 | 论坛
 Dreamweaver | Flash
 Fireworks  | Frontpage
 HTML/CSS  | Javascript
 Photoshop  | CorelDraw
 AuotoCAD   | Illustrator
 Freehand
 3DMax    | Authorware
 Director   | Maya
 PP点点通 | 迅雷 | BT
 eMule | FlashGet | Nero
 Ghost | Outlook | IE
 Maxthon | Office
 QQ | MSN | 网易泡泡
 Skype | 雅虎通 | 新浪UC

最新文章

您现在的位置: 中国IT实验室 >> 网页设计 >> Dreamweaver >> Dreamweaver技巧教程 >> 文章正文


网页设计中未知高度的非表格垂直对齐


realazy.org  2008-4-24  realazy  保存本文  推荐给好友  收藏本站


◆ 网页平面多媒体培训、认证考试免费咨询热线:400-700-5807   进入网络咨询平台

非已知高度的垂直对齐的条件:

  • 表格单元格
  • 行内块(inline-block

第一个比较好理解,第二个很多人可能会忽略。比如,很多人在图片与文本混排的时候想让图片相对于文本垂直居中除了用IE的私有特性 valign="absmiddle"别无他法。记住,默认下图片就是属于inline-block,你只需简单的img {vertical-align:middle;}即可。

那么,我们进入主题。现在我们由于某些特殊需要两个并排的div想实现垂直居中。如前所述,div非表格,但是当代的浏览器中除了IE都支持display:table-cell。恰好,IE支持dispaly:inline-block,那么我们就用两种方式为当代浏览器实现非表格的垂直居中,殊途同归。

HTML如下:

<div id="div1">blah blah...看见我居中了吗?</div>
<div id="div2">
	<p>blah blah...</p>
	....
</div>

CSS如下:

#div1, #div2 {display:table-cell; *display: inline; zoom:1; vertical-align:middle;}

我们来重点分析CSS。如您所知,*property是一个只有IE(包括IE7)才能解析的hack. 那么为何是inline而不是inline-block呢?这跟IE的变态工作方式有关,具体不深究。在此你只需知道加上zoom:1后,就等价于inline-block。另外,如果是a, span等非block的元素,则按正常方式display:inline-block

OK, 既然是tip, 废话不宜多,自己看例子:http://realazy.org/lab/div-valign/.

Update:严格地说,IE确实不支持inline-block,这就是为什么直接赋予div会不生效的问题。准确地说,在IE中,为inline赋予inline-block会使IE触发hasLayout,从而获得部分inline-block的表现。请参考:http://cn.autos.yahoo.com/as2007/sub1/index.html .

【责编:Luzi】


 相关文章  推荐文章
解析用CSS控制li标记样式
页面中CSS 加载方式的优化
怎样设计"帮助"最有效?
网站的视觉路径和版式设计的分析
Dreamweaver CS3中Spry详细区域功能
网页设计中的链接和文本标签的应用
提高Web页面的性能
页面中CSS加载方式的优化
IE5 到 IE8 的 CSS 兼容列表
网页设计中关于css框架网页设计
  文章评论