我很遗憾这个可怕的头衔。
基本上,我有一个div
,其中包含div
和position: relative;
两个float: left;
。第一个div
设置为200px
(凭借其内容),因为它包含的所有内容并不意味着在宽度方面增长。
然而,第二个div
我只希望增长到包含div
的一侧。包含div
没有设置宽度,因为我的屏幕垂直,我知道大多数人都是水平的。我在多台计算机上测试它,所以我知道它在两个版本中的样子。
然而,回到这一点,在第二个div
中,如果我输入的词组长于包含div
的其余部分,则第二个div
会降到第一个div
。我不希望第二个div
有一个设定的宽度,那么有没有办法设置最大宽度?如果是这样,有没有办法将其设置为包含div
的内容?我真的很想不必拉屏幕分辨率,什么不是,所以希望还有另一种方式。
感谢您的帮助。
答案 0 :(得分:21)
你可以使用它来摆脱那个丑陋的清除div,并让第二个div占用浮动旁边的任何空间。
此外,CSS中的.content div:last-child
规则适用于空清算div而不是第二列,因此实际上并没有做任何事情。
这是它的样子(以及updated fiddle):
<!doctype html>
<style>
.content {
margin: 10px;
padding: 0;
border: 1px solid black;
overflow: hidden; /* replaces <div class="clear"/> */
}
.columns {
position: relative;
float: left;
padding-right: 20px;
margin-bottom: 10px;
}
.c2 {
float: none; /* Don't float this column... */
overflow: hidden; /* ... Create a new block formatting context instead */
padding-right: 10px;
word-wrap: break-word;
}
</style>
<div class="content">
<div class="columns">
<img src="#" height="200px" width="200px" />
</div>
<div class="columns c2">
TestingTestingTestingTesting
</div>
</div>
答案 1 :(得分:2)
我不确定你是否需要第二个div要浮动但这里有一个例子似乎可以做你想要的第二个div删除了浮点但是添加了200px的余量它
http://jsfiddle.net/chrisvenus/ZdFwD/1/
我还将图像换成固定宽度的DIV,因为在我的浏览器中,刚刚删除了损坏的图像。
如果右边的内容变得太大而且牢不可破,那么溢出将确保为该div创建滚动条而不是增加div大小然后将其删除或其他不期望的行为。
这可能不适合您的需求,但如果不是,那应该是一个好的开始。 :)
答案 2 :(得分:0)
问题有点模糊,但我认为max-width
就是您所需要的 - 这是一个示例HTML:
<html>
<head>
<style type="text/css">
#wrap {
position: relative;
}
.inner {
position: relative;
display: inline-block;
float: left;
max-width: 300px;
}
#one {
border: 1px solid red;
width: 200px;
}
#two {
border: 1px solid blue;
}
</style>
</head>
<body>
<div id="wrap">
<div id="one" class="inner">Insert long text...</div>
<div id="two" class="inner">Insert more long text...</div>
</div>
</body>
</html>
我希望我能正确理解你的意思。