我有一个带有2个div的html页面,他们应该调整大小,但总是保持一行。我怎样才能建立这个?
我有以下示例html代码:
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div id="content">
<div id="table">
<table>
<tr>
<td>ONE</td>
<td>TWO</td>
</tr>
</table>
</div>
<div id="sidebar">
<p>This is a sidebar</p>
</div>
</div>
</body>
</html>
样式表看起来像这样:
#content {
width: 100%;
}
#table {
width: 100%;
background-color: red;
display: inline-block;
}
#sidebar {
width: 170px;
background-color: blue;
float: right;
display: inline-block;
}
答案 0 :(得分:1)
将您的内容css更改为
#content {
width: 100%;
display:inline-block;
}
但是这里因为你的表格宽度设置为100%主div在同一行中接受170px的方式。
在#table超过81%后,它将内容推送到下一行
答案 1 :(得分:1)
以下是使用浮点数和calc()
函数(CSS3)执行此操作的一种方法:
#content {
width: 100%;
border: 1px dotted gray;
overflow: auto; /* useful for enclosing the floated region */
}
#table {
float: left;
width: calc(100% - 170px); /* modern but not yet widely supported */
background-color: red;
}
#table table {
border: 1px solid yellow;
width: 100%; /* '100%' for full-width; 'auto' for shrink-to-fit content */
}
#sidebar {
float: right;
width: 170px;
background-color: blue;
}
将#table
和#sidebar
分别向左和向右浮动。
浮动元素时,除非指定宽度值,否则它将计算为缩小到适合的值。
如果您在width: 100%
上指定#table
,则会强制侧边栏开始新行。
要为侧边栏留出空间,请使用calc(100% - 170px)
计算表格面板的理想最大宽度。
最新的浏览器支持calc()
功能,因此此解决方案可能不合适。
<强> See Demo Fiddle 强>
答案 2 :(得分:0)
你给#content宽度为100%所以需要占用整个空间。您需要调整div的宽度并将#content浮动到左侧,以便计算为100%。
答案 3 :(得分:0)
Float:left;
两个div的然后将它们放在一个包装中然后调整包的大小,但是你希望它看起来。
.wrap {
width: 500px;
height:800px;
}
所以对于你的代码,CSS:
#content {
width: 100%;
}
#wrap {
height: 100%;
width: 100%;
}
#table {
width: 60%;
background-color: red;
display: inline-block;
float: left;
}
#sidebar {
width: 170px;
background-color: blue;
float: right;
display: inline-block;
float: left;
}
HTML:
<body>
<div id="wrap">
<div id="content">
<div id="table">
<table>
<tr>
<td>ONE</td>
<td>TWO</td>
</tr>
</table>
</div>
<div id="sidebar">
<p>This is a sidebar</p>
</div>
</div>
</div>
</body>
答案 4 :(得分:0)
看看这个小提琴......它有助于实现你所需要的。
这是更新后的css ..
#content {
width: 100%;
}
#table {
float: left;
background-color: red;
display: inline-block;
width: 60%;
}
#sidebar {
float: left;
width: 170px;
background-color: blue;
float: right;
display: inline-block;
}