gpt4 book ai didi

html - 2列布局(左列固定宽度,右列流体+清除:both)

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

只是需要帮助,因为我多年来一直在努力解决这个问题。我需要什么:

我有一个 2 列布局,其中左列的宽度固定为 220 像素,右列的宽度可变。

代码是:

    <!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>
<title>Fluid</title>
<style type="text/css" media="screen">
html, body { background: #ccc; }
.wrap { margin: 20px; padding: 20px; background: #fff; }
.main { margin-left: 220px; width: auto }
.sidebar { width: 200px; float: left; }
.main,
.sidebar { background: #eee; min-height: 100px; }
</style>
</head>
<body>
<div class="wrap">
<div class="sidebar">This is the static sidebar</div>
<div class="main">This is the main, and fluid div</div>
</div>
</body>
</html>

完全没有问题。当我在右栏中使用 css 语法 clear: both 时,之后的所有内容都会移到左栏下。这是正确的行为,没有人反对。

但我确实需要使用 clear: both in the way,它只停留在右列的上下文中(根本不会受到左列的影响,也不会在下方移动)

保留页面设计的基本 float 概念是否有任何简单的解决方法?

更新:请查看此链接以了解我在说什么,因为我的描述可能有点令人困惑。链接:http://jsfiddle.net/k4L5K/1/

最佳答案

这是您修改后的 CSS:

html, body {
background: #ccc;
}

.wrap {
margin: 20px;
padding: 20px;
padding-right:240px;
background: #fff;
overflow:hidden;
}

.main {
margin: 0 -220px 0 auto;
width: 100%;
float:right;
}

.sidebar {
width: 200px;
float: left;
height: 200px;
}

.main, .sidebar {
background: #eee; min-height: 100px;
}

.clear { clear:both; }
span { background: yellow }

基本上我所做的是改变布局的方式,使 .main div float 在右侧。为此,我们必须添加两件事:

  1. .wrap div 和
  2. 上填充 240px
  3. .main div 的右边距为 -220 像素,以正确对齐页面的流动部分。

因为我们在右侧 float 了 .main div,所以 clear: both; 现在只影响 .main 中的内容div,随心所欲。

您可以在此处查看演示:http://jsfiddle.net/6d2qF/1/

关于html - 2列布局(左列固定宽度,右列流体+清除:both),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6797172/

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