display:inline问题小结
作者:Robin 来源:Rlog 发布时间:2008-05-01 13:08:00
昨天我突发奇想,想用display:inline来实现三列的布局可是搞了半天就是不行。但是理论上是可以的呀(后来才发现是不理解的不深刻,我的理论是错误的[flower])。在蓝色上:
display:inline理论上理解应该是不换行(太肤浅)的意思吧。但是却在IE6里什么都看不见 。而在FF里只显示细条。怎么回事呢?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<style>
#layout{width:606px; height:200px;}
#left{ display:inline; width:200px; height:200px; border:1px #0099FF solid;}
#mid{ display:inline; width:200px; height:200px; border:1px #0FE87A solid; }
#right{ display:inline; width:200px; height:200px; border:1px #B40FE8 solid;}
#bottom{width:606px; border:1px #FFCC66 solid; height:100px;}
</style>
</head>
<body>
<div id="layout">
$nbsp$$nbsp$<div id="left"></div>
$nbsp$$nbsp$<div id="mid"></div>
$nbsp$$nbsp$<div id="right"></div>
</div>
<div id="bottom"></div>
</body>
</html>
蓝色上的 marvellous 说:ie6里去掉:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
就可以了。 我试了,确实是可以了。可是为什么呢?
原来是这样:
去掉这句让IE6进入Quirks Mode,在这种渲染模式下,inline元素也可以接受宽高——但这是不对的,他的存在是为了兼容老版本IE的错误行为。
原来如此呀,可是我的问题还是没有解决。
终于我还是找到了原因:
display:inline; 表示内联样式,这个样式自身是不具备高度的,所以不适用于块级元素。
所以要实现三列还是老老实实用float吧。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<style>
#layout{width:606px; height:200px;}
#left{ float:left; width:200px; height:200px; border:1px #0099FF solid;}
#mid{ float:left; width:200px; height:200px; border:1px #0FE87A solid; }
#right{ float:left; width:200px; height:200px; border:1px #B40FE8 solid;}
#bottom{width:606px; border:1px #FFCC66 solid; height:100px;}
</style>
</head>
<body>
<div id="layout">
$nbsp$$nbsp$<div id="left"></div>
$nbsp$$nbsp$<div id="mid"></div>
$nbsp$$nbsp$<div id="right"></div>
</div>
<div id="bottom"></div>
</body>
</html>
关于Quirks Mode需要阅读:MSDN相关内容
猜你喜欢
- 在网站或软件的策划和设计过程中,我们经常听到这样的讨论:“这个功能设计得太重了”又或“我们希望能够处理得轻一些”。似乎轻设计是时下炙手可热的
- 译者的话:寡妇、孤儿、捧打鸳鸯,这些场面足以让你有想哭的冲动,但当你在排版设计时,同样会碰到这些问题,甚至可能更槽。虽说今天的页面排版软件可
- sql代码如下:CREATE PROCEDURE Proname //使用CREATE PROCED
- 如何在约定时间显示特定的提示信息?<%Function Greeting()
- 选择最实用来谈一下首先,你要慎重选择你就业的城市。这点是目前多数人都忽略的重要因素。无论你的设计思路和发展方向都要依托你所在城市来作为载体。
- 大家都知道JAVA里最流行的是MVC模型的编程方式,如果你不知道MVC的概念,可以去网上搜索下,应该会马上找到N多资料。PHP5推出之后,也
- 搞了一上午,头都大了!最终解决问题。其实这问题老早就遇上了,但是比较懒,三下两下没整好便推开了搜索了一下,产生< msxml3.dll
- 现在主流的cms或者blog等系统中,都内置的有插件系统,但是层层深入、剖析实现的方式,其实都是最简单的钩子的复杂化的实现。前言钩子是插件执
- 在ASP中,为什么有时候刷新页面后,重新执行ASP代码时就连不上数据库了?这种情况一般发生在动态IP分配中,由于ASP连接数据库是定时的,默
- 死锁是指在某组资源中,两个或两个以上的线程在执行过程中,在争夺某一资源时而造成互相等待的现象,若无外力的作用下,它们都将无法推进下去,死时就
- 1.3 安装 ASP.net跟基督山一起检查你们的计算机哦CPU Pentium II 450以上,推荐733内存 256M 推荐 512M
- 安全性问题一直DBA是比较关心的问题,因为建立数据库的目的就是让相关的的客户端来进行访问,所以很难避免不出现安全隐患,例如客户端链接的权限、
- 从MySQL 5.0.2开始,通过mysql_stmt_attr_set() C API函数实现了服务器端光标。服务器端光标允许在服务器端生
- 看到这个标题,你我可能都笑了。你会笑,因为你以为这个东西太小儿科了,还用得着做一个标题?!我会笑,是因为我确信你看完后会改变你的想法。首先我
- 注意:如果您尚未阅读过原来那篇老文章《悟透JavaScript》,请先行阅读该文,以了解上下文关系。在上面的示例中,我们定义了两个语法甘露,
- 1.彻底弄懂CSS盒子模式一(DIV布局快速入门)3.彻底弄懂CSS盒子模式三(浮动的表演和清除的自述) 4.彻底弄懂CSS盒子模式四(绝对
- 在使用ASP来进行后端的数据合法性校验的时候,有些人为满足不同环境下面的数据校验,编写了很多的函数来实现,比如,我们想要校验用户输入的URL
- 在蓝色看到的这个程序,不错!by:thornyzhl前天看到有个人写了能在网页中写字的程序,找不到了,我来个能擦写的....蛮有意思的阿.~
- 字体的处理在网页设计中无论怎么强调也不为过,毕竟网页使用来传递信息的,而最经典最直接的信息传递方式就是
- 瞬间设计是什么?良好的用户体验,全在于那些完美的瞬间。在第一个瞬间,假设当一位用户从购物搜索结果页面跳转到某个店铺的时候,他此刻可能是想看看