Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 流体和固定柱_Html_Css - Fatal编程技术网

Html 流体和固定柱

Html 流体和固定柱,html,css,Html,Css,我有以下代码: 测试 我试图使右栏流动,占据剩余空间,左栏固定宽度。谁能告诉我我的代码有什么问题,这是最好的方法吗?我建议这样做,条件总是左div宽度是400px。我假设是因为您使用了内联样式 html <div style="background-color:white; width: 400px;float:left;"> <span class="status" id="active"></span><a href="detail.html"

我有以下代码:


测试

我试图使右栏流动,占据剩余空间,左栏固定宽度。谁能告诉我我的代码有什么问题,这是最好的方法吗?

我建议这样做,条件总是左
div
宽度是
400px
。我假设是因为您使用了
内联样式

html

<div style="background-color:white; width: 400px;float:left;">
<span class="status" id="active"></span><a href="detail.html" class="title">Title</a>
<a href="#" class="number">6</a>
</div>
<div id="rightCol" style="background-color: white; float:right;">
Test test
</div>

我建议这样做,条件始终为左
div
宽度为
400px
。我假设是因为您使用了
内联样式

html

<div style="background-color:white; width: 400px;float:left;">
<span class="status" id="active"></span><a href="detail.html" class="title">Title</a>
<a href="#" class="number">6</a>
</div>
<div id="rightCol" style="background-color: white; float:right;">
Test test
</div>

最自然的方法是操作长方体模型: 我在第一个div中添加了一个float,并从第二个div中删除了它。 这样,第一个div被视为一个内联块,第二个div是一个块,它试图忽略其他内联块

我更新了你的小提琴:


测试

最自然的方法是操作长方体模型: 我在第一个div中添加了一个float,并从第二个div中删除了它。 这样,第一个div被视为一个内联块,第二个div是一个块,它试图忽略其他内联块

我更新了你的小提琴:


测试
像这样尝试:

CSS:

.container {
    background-color:blue;
    height: auto;
    overflow: hidden;
}
.sidebar {
    float:left;
    background-color:grey;
    width: 100px;
}
.content {
    background-color:green;
    float: none;
    width: auto;
    overflow: hidden;
}
<div class="container">        
    <div class="sidebar">
      <span class="status " id="active"></span>
        <a href="detail.html" class="title">Title</a>    
         <a href="#" class="number">6</a>    
    </div>

    <div class="content">Test test</div>
</div>
HTML:

.container {
    background-color:blue;
    height: auto;
    overflow: hidden;
}
.sidebar {
    float:left;
    background-color:grey;
    width: 100px;
}
.content {
    background-color:green;
    float: none;
    width: auto;
    overflow: hidden;
}
<div class="container">        
    <div class="sidebar">
      <span class="status " id="active"></span>
        <a href="detail.html" class="title">Title</a>    
         <a href="#" class="number">6</a>    
    </div>

    <div class="content">Test test</div>
</div>

测试

更新的小提琴

根据您的需要,我为div添加了填充和边距,它工作正常。

尝试如下:

CSS:

.container {
    background-color:blue;
    height: auto;
    overflow: hidden;
}
.sidebar {
    float:left;
    background-color:grey;
    width: 100px;
}
.content {
    background-color:green;
    float: none;
    width: auto;
    overflow: hidden;
}
<div class="container">        
    <div class="sidebar">
      <span class="status " id="active"></span>
        <a href="detail.html" class="title">Title</a>    
         <a href="#" class="number">6</a>    
    </div>

    <div class="content">Test test</div>
</div>
HTML:

.container {
    background-color:blue;
    height: auto;
    overflow: hidden;
}
.sidebar {
    float:left;
    background-color:grey;
    width: 100px;
}
.content {
    background-color:green;
    float: none;
    width: auto;
    overflow: hidden;
}
<div class="container">        
    <div class="sidebar">
      <span class="status " id="active"></span>
        <a href="detail.html" class="title">Title</a>    
         <a href="#" class="number">6</a>    
    </div>

    <div class="content">Test test</div>
</div>

测试

更新的小提琴


根据您的需要,我为div添加了填充和边距,使其工作正常。

最简单的方法是使用
display:table cell(支持IE8及以上版本)

这样,您可以固定一个div的宽度,而下一个div将占用剩余的空间

添加后,您甚至可以使用
inline
本机方法,如
vertical align
,由于它不是
float
ing,根据您的布局,通过
margin
padding
可以轻松调整div的位置:)

对于页面中的固定宽度和动态宽度,它是最兼容、最干净的

对于
计算


如果必须定期使用,请创建一个
span
,如下所示:

span.fake_width{
    display:block;
    width:20px;
}

然后只需将其添加到现有布局中

最简单的方法是使用
显示:表格单元格(支持IE8及以上版本)

这样,您可以固定一个div的宽度,而下一个div将占用剩余的空间

添加后,您甚至可以使用
inline
本机方法,如
vertical align
,由于它不是
float
ing,根据您的布局,通过
margin
padding
可以轻松调整div的位置:)

对于页面中的固定宽度和动态宽度,它是最兼容、最干净的

对于
计算


如果必须定期使用,请创建一个
span
,如下所示:

span.fake_width{
    display:block;
    width:20px;
}


然后只需将其添加到现有布局中

有没有办法不使用
calc
来完成它,因为它与旧浏览器不兼容?有没有办法不使用
calc
来完成它,因为它与旧浏览器不兼容?您的浏览器支持要求是什么??您也需要对IE8或以下版本的支持?IE8+但更早版本更好除非您使用JS,否则您无法获得支持!:)您的浏览器支持要求是什么??您也需要对IE8或以下版本的支持?IE8+但更早版本更好除非您使用JS,否则您无法获得支持!:)如果可以的话,我如何在两列之间获得20px的间距,这就是我尝试的:实际上,在右边粘贴一个
边距:20px如果可以的话,我如何在两列之间获得20px的间距,这就是我尝试的:实际上向右粘贴
边距:20px是否有办法在两列之间留出20px的间隙,因为两列上的填充或边距似乎都不起作用
溢出:隐藏将是一场浩劫…!!:)@Jimmy,根据您的需要用fiddle demo更新了我的答案。有没有办法在两列之间留出20像素的间隙,因为两列上的填充或边距似乎都不起作用
overflow:hidden将是一场浩劫…!!:)@Jimmy,根据您的需要用fiddle demo更新了我的答案。这是一个不错的选择,谢谢。使用这种技术,两列之间有可能有20像素的间隔吗?@Jimmy:补充答案!:)这是一个很好的选择,谢谢。使用这种技术,两列之间有可能有20像素的间隔吗?@Jimmy:补充答案!:)