【发布时间】:2010-11-16 13:09:35
【问题描述】:
在 Internet Explorer 中,下面的 FireFox 和 Opera 代码在右侧创建一个红色浮动框,并在其下方悬挂一个右对齐的蓝色框,但在 WebKit 浏览器(Chrome、Safari)中,蓝色框是左对齐并扩展超出可见区域。有趣的是,如果我删除 DOCTYPE 标记,这些浏览器会像其他浏览器一样正常运行。这种行为背后有什么逻辑还是只是一个错误,你能想出一个解决方法吗?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<style>
#top_container {
float:right;
}
#red {
background:#f00;
color:#fff;
padding:10px;
}
#blue_container {
direction:rtl;
}
#blue {
position:absolute;
background:#00f;
color:#fff;
padding:10px;
width:200px;
direction:ltr;
}
</style>
</head>
<body>
<div id="top_container">
<div id="red">
red
</div>
<div id="blue_container">
<div id="blue">
blue
</div>
</div>
</div>
</body>
</html>
【问题讨论】:
-
嗯?右对齐?您正在使用“direction: rtl”,这是针对从右到左阅读的语言,您要实现什么目标?
-
"direction:rtl" 还强制渲染器从右到左放置东西。我想要实现的是一个按钮(红色框),它浮动在右侧,带有一个悬挂的下拉列表(蓝色框),单击按钮时会显示和隐藏。
标签: html css google-chrome safari