0

在这个jsfiddle 中,我想将.fourdiv 的宽度表示为剩余屏幕空间的百分比,而不是总屏幕宽度。但是由于层次结构中的前三个 div 是浮动的,因此目前没有发生这种情况。

我需要做什么才能.four根据剩余的水平屏幕空间来定义 's 宽度?

4

3 回答 3

2

只需从此类中删除宽度,.four它将自动覆盖剩余空间。并给出三个 div 之后开始margin-left的总three div's价值fourth div

CSS

.four{
background-color:black;
color:white;
margin-left:360px;    
}

演示

于 2012-11-16T09:02:18.493 回答
1

据我所知,您必须将其包装在占用剩余宽度 100% 的父元素中,以便您可以将 .four 占其中的百分比。

为了让父元素占据剩余空间,这并不漂亮,但最好的办法可能是使用表格显示样式。 演示

标记

<div class="menu-outer-outer">
    <div class="menu-outer">       
        <div class="menu one">first</div>
        <div class="menu two">second</div>
        <div class="menu three">third</div>
        <div class="four-container">
            <div class="four">helloworld</div>
        </div>
    </div>
</div>

风格

.menu-outer-outer {
    display: table;
    width: 100%;
}
.menu-outer {
    display: table-row;
}
.menu{
    display: table-cell;
    height:240px;
    width:120px;
}
.one{
    background-color:red;
}
.two{
    background-color:blue;
}
.three{
    background-color:green;
}
.four-container {
    display: table-cell;
    width: auto;
}
.four {
    background-color:black;
    color:white;
    width: 60%;
}
于 2012-11-16T08:58:20.477 回答
0

绝对定位是一种解决方案,但一旦屏幕尺寸变小,您可能会遇到问题。 http://jsfiddle.net/kudoslabs/HMydq/

.four{
background-color:black;
color:white;
position: absolute;
left: 360px ;
right: 0;   
}
于 2012-11-16T09:02:17.290 回答