gpt4 book ai didi

internet-explorer - CSS:两个 50% 的流体列不符合最小宽度

转载 作者:技术小花猫 更新时间:2023-10-29 11:03:06 25 4
gpt4 key购买 nike

我正在尝试使用 this用两个 50% 列宽的布局代替。但似乎当右列达到其“最小宽度”时,它会进入左列下方。有什么方法可以使用“垫片”技术为包装器设置最小宽度,以便两列都停止调整大小。因此,消除了右栏在左栏下找到自己的问题。

我的页面如下。

<style type="text/css">

#left {
float: left;
width: 50%;
}

.minwidth {
width: 500px;
height: 0;
line-height: 0;
}

</style>

<div id="wrapper">
<div id="left">
left
</div>
<div id="right">
right
</div>
<div class="minwidth">&nbsp;</div>
</div>

问题是左列将停止调整大小,但右列将低于左列并继续调整大小。基本上,我想要的效果是一旦包装宽度低于波纹管,左列和右列也将停止调整大小。将垫片放在左右两列中也不起作用。

是否有另一种方法可以获取两个 50% 宽度的列并使用垫片正确设置最小宽度?

谢谢。

编辑:minwidth 类中的空格实际上是  ,但它被转换了。 ;)

最佳答案

基于 CSS Play 的 Stu Nicholls 的技术,我能够想出一个“不需要 HTML 表格”的解决方案,我个人很喜欢它,因为它不仅适用于 IE6+ 和 FF2+,它也是有效的 CSS这不需要任何黑客攻击。关于为什么基于 CSS 的布局优于 HTML 表格的论点,请参见下文。

首先,我建议在使用 CSS 设计新页面时使用符合标准 的浏览器模式。有关 quirksmode 和标准兼容模式的解释,请查看 this article来 self 最喜欢的 CSS 资源网站之一。您所要做的就是在页面顶部添加一个特定的 DOCTYPE 元素。然后 CSS 将被迫以符合标准的模式呈现,从而减少错误和浏览器特性。如果您无法切换到符合标准的模式,则可以使用 CSS Play 中的 quirksmode 浏览器的最小宽度解决方案。

其次,您必须在现有标记周围添加一个额外的包装器。这个包装器用于为理解最​​小宽度的浏览器(不是 IE)设置最小宽度。然后,您可以使用 * html 技巧专门针对 IE 6,并将 Stu Nicholl 的技术应用于内部包装器。此处详细介绍了该技术,使用的具体示例是“#2 For standards compliant mode IE”:

http://www.cssplay.co.uk/boxes/minwidth.html

最终结果相当简单。它使用 2-column ALA style 创建 2 个 50% 的列原始问题中提到的技术,具有整体最小宽度(在此示例中为 500px),其中列停止调整大小并且右列不低于左列。希望对您有所帮助!

编辑:同样的技术可用于将跨浏览器兼容的最小宽度应用到任何东西。例如,不需要每个列都是 50%,可以使用任意数量的列。 http://www.glish.com/css/是基于 CSS 的页面布局的重要资源,当结合这种最小宽度技术时,可以使用最少的有效 CSS 创建许多漂亮的布局。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<style type="text/css">

/* For browsers that understand min-width */
.width {
width: 100%;
min-width: 500px;
}

/* IE6 Only */
* html .minwidth {
border-left: 500px solid white;
position: relative;
float: left;
}

/* IE6 Only */
* html .wrapper {
margin-left: -500px;
position: relative;
float: left;
}

.left {
float: left;
width: 50%;
}

.right {
float: left;
}

</style>
</head>
<body>

<div class="width">
<div class="minwidth">
<div class="wrapper">
<div class="left">
Left
</div>
<div class="right">
Right
</div>
</div>
</div>
</div>

</body>
</html>

现在,我建立 Stack Overflow 帐户的动机是能够响应下面的建议“如果您想要两列,请使用表格,而不是试图强制 Div 的行为像表格”。由于我太新了,无法发表评论或投反对票,因此我正在扩充此讨论。

真的吗?

有人问了一个关于基于 CSS 的布局的问题,您的回答是告诉他们使用 HTML 表格?

首先让我说,我不认为 HTML 表格是完全没有必要的。事实上,任何时候我都需要显示表格数据,即关系数据,我使用 HTML 表格。 CSS 表格显示属性尚未得到完全支持(即将在 IE8 中支持!),使用单级 HTML 表格是一种有效的解决方案。查看任何 Google 网页的标记,您会发现他们会同意。

作为一个花费大量时间编写跨浏览器兼容的基于 CSS 的布局的人,他们可以使用表格在 10 分钟内完成,我同意有一个更简单的解决方案来解决这个问题。然而,仅仅因为您可以使用炸药来翻新您的厨房,并不意味着您应该这样做。以下文章详细解释了为什么基于 CSS 的布局更受欢迎。

http://www.chromaticsites.com/web-design-blog/2008-04-03/13-reasons-why-css-is-superior-to-tables-in-website-design/

关于internet-explorer - CSS:两个 50% 的流体列不符合最小宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/191429/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com