我基本上在包含div1中有两个div(div2和div3)。 div2向左浮动,而div3向右浮动。 Div3是固定宽度,而div2应该自动扩展到div3。我似乎遇到的问题是,虽然div2 auto中的内容扩展到div2(输入框)的100%,但div2本身不会自动扩展到div3;我不知道为什么它没有按我期望的方式工作。相反,如果我将div2设置为width:100%,则最终会将div2向下推;这对我来说很有意义。

我期望这样的事情:

------------div1--------------
[--------div2----------][div3]
-----------/div1--------------


我一直为此努力,尝试在floatstrap中使用float:right,float:left,clear:right,pull-left,pull-right,但似乎没有任何工作如我所愿。

我打算使用bootstraps列来自动调整大小,但要求是div3的大小必须始终相同,而与屏幕大小无关。

这是我简单的JSfiddle示例。谁能指出我的问题吗?我感觉答案正盯着我。

随附代码:

<!DOCTYPE html>
<html>
<head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
    <style>
    body {
        min-height: 2000px;
        background-color: #EEE;
    }

    a:focus { outline: 0;}

    .tab-content {background-color: #f9f9f9;}

    #maintab .active a { background-color: #f9f9f9;}


    #page1SearchBox{
        float:left;
        margin-right: 80px;
        width:auto;
        overflow: auto;
    }
    .searchBoxContainer {
        position: relative;
    }
    .searchBoxContainer .searchBoxIcon {
        padding-left: 5px;
        padding-top:6px;
        position: absolute;
    }

    .searchBoxContainer .searchQuery {
        border: 1px solid #ddd;
        width: 100%;
        padding-left: 25px;
        height:30px;
    }

    #page1DropDown{
        float:right;
        width: 80px;
    }
    #page1DropDownMenu{
        width: 100%;
    }

    #page1DropDownListButtonGroup{
        width: 100%;
    }

    .page1Container{
        border: 1px solid #ddd;
    }
    </style>
</head>

<body>
    <div class="container">
        <div class="tab-content case-tab-content">
            <div id="page1" class="tab-pane active">
                <div id="page1Container">
                    <div>
                        <div id="page1SearchBox">
                            <div class="searchBoxContainer">
                                <div class="searchBoxIcon"><span class="glyphicon glyphicon-search"></span></div>
                                <div class="searchBoxInput"><input class="searchQuery text-muted" type="text" placeholder="Search"></input></div>
                            </div>
                        </div>
                        <div id="page1DropDown">
                            <div class="btn-group" id="page1DropDownListButtonGroup">
                                <button class="btn btn-default btn-sm dropdown-toggle" type="button" id="page1DropDownMenu" data-toggle="dropdown">
                                    %
                                    <span class="caret"></span>
                                </button>
                                <ul class="dropdown-menu pull-right" role="menu" aria-labelledby="page1DropDownMenu">
                            </div>
                        </div>
                        <div style="clear:right;"></div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <!--Load 3rd party first-->
    <script src="https://code.jquery.com/jquery-2.1.1.min.js" type="text/javascript"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js" type="text/javascript"></script>
</body>
</html>

最佳答案

JSFiddle似乎已关闭,因此我看不到您的示例代码。但是,如果我正确地理解了该问题,则一种可能的解决方案是使用CSS3 calc()函数(https://developer.mozilla.org/en-US/docs/Web/CSS/calc)。它允许您即时混合百分比和固定像素值。

.div2 {
    float: left;
    width: calc(100% - 300px);
}
.div3 {
    float: left;
    width: 300px;
}


请注意,在IE8或更低版本(http://caniuse.com/calc)中,这被归类为“实验性”。

关于html - 固定宽度的右 float div旁边的左 float div的自动扩展宽度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24391167/

10-13 04:15