gpt4 book ai didi

css - 2 列,1 列固定,另一种流体? (困境)

转载 作者:太空宇宙 更新时间:2023-11-04 05:08:59 25 4
gpt4 key购买 nike

谁能给我解释这段代码,因为它似乎违背了我的逻辑?

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Test CSS Lay 2 col, 1 fix 1 fluid</title>
<style type="text/css">
body{
background-color:#000;
padding: 0;
margin: 0;
}
#main{
width:70%;
min-width:300px;
height:500px;
}

#colWr{
width:100%;
height:500px;
float:left;
}

#col{
height:inherit;
background-color:#900;
margin-left:200px;
}

#left{
height:inherit;
background-color:#9C3;
float:left;
width: 200px;
margin-left: -100%;
}

</style>
</head>
<body>
<center>
<div id="main">
<div id="colWr">
<div id="col"></div>
</div>
<div id="left"></div>
</div>

</center>
</body>
</html>

我的问题依赖于 #left 拥有 margin-left: -100px 属性的事实,div 在主 div 中的位置表明左列宁愿是右列,为什么是“col”列在“colWr”div 中向左浮动?

对于 1_fixed-1_liquid css 布局,代码相当令人费解。

最佳答案

div 的顺序无关紧要,因为 colWr 的宽度为 100%,这意味着如果左列在前,它会强制 colWr 列到一个新行,并且必须给它一个负边距。 left div 的负边距为 100%,这使它回到了 colWr 之上。

至于为什么页面是这样布局的我不知道,通过将 left 放在 col div 旁边可以很容易地达到同样的效果并删除 colWr div(不会造成任何伤害,但没有任何用处)。

您还应注意,HTML 中的 center 标记已被弃用,我建议您通过在其 css margin: auto 中指定给中心一个 div。该代码还缺少 DOCTYPE declaration在大多数浏览器中触发标准模式是必需的 - 您可以找到有关浏览器模式的更多信息 here .

我怀疑您的代码是在 HTML 4.01 发布之前编写的.由于其遗留支持,它可以在大多数浏览器中运行,但这并不意味着它运行良好,我不会使用它。但是我会用这个:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Test CSS Lay 2 col, 1 fix 1 fluid</title>
<style type="text/css">
body{
background-color:#000;
padding: 0;
margin: 0;
}
#main{
width:70%;
min-width:300px;
height:500px;
margin: auto;
}

#col{
height:inherit;
background-color:#900;
margin-left:200px;
}

#left{
height:inherit;
background-color:#9C3;
float:left;
width: 200px;
}
</style>
</head>
<body>
<div id="main">
<div id="left"></div>
<div id="col"></div>
</div>
</body>
</html>

关于css - 2 列,1 列固定,另一种流体? (困境),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9760971/

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