当前位置: 首页 > 面试题库 >

CSS填充剩余宽度

支铭晨
2023-03-14
问题内容

我有这个标题栏。

<div id="header">
        <div class="container">
            <img src="img/logo.png"/>
            <div id="searchBar">
                <input type="text" />
            </div>
            <div class="buttonsHolder">
                <div class="button orange inline" id="myAccount">
                    My Account
                </div>
                <div class="button red inline" id="basket">
                    Basket (2)
                </div>
            </div>

        </div>
    </div>

我需要searchBar来填补div中剩余的空白。我该怎么做?

这是我的CSS

#header { 
    background-color: #323C3E;
    width:100%;
}

.button {
    padding:22px;
}


.orange {
    background-color: #FF5A0B;
}

.red {
    background-color: #FF0000;
}

.inline { 
    display:inline;
}

#searchBar {
    background-color: #FFF2BC;
}

问题答案:

您可以使用CSS表格单元格实现此布局。

稍微修改您的HTML,如下所示:

<div id="header">
    <div class="container">
        <div class="logoBar">
            <img src="http://placehold.it/50x40" />
        </div>
        <div id="searchBar">
            <input type="text" />
        </div>
        <div class="button orange" id="myAccount">My Account</div>
        <div class="button red" id="basket">Basket (2)</div>
    </div>
</div>

只需删除两个.button元素周围的wrapper 元素即可。

应用以下CSS:

#header {
    background-color: #323C3E;
    width:100%;
}
.container {
    display: table;
    width: 100%;
}
.logoBar, #searchBar, .button {
    display: table-cell;
    vertical-align: middle;
    width: auto;
}
.logoBar img {
    display: block;
}
#searchBar {
    background-color: #FFF2BC;
    width: 90%;
    padding: 0 50px 0 10px;
}

#searchBar input {
    width: 100%;
}

.button {
    white-space: nowrap;
    padding:22px;
}

适用display: table.container并给它100%的宽度。

对于.logoBar#searchBar.button,适用display: table-cell

对于#searchBar,将宽度设置为90%,这将迫使所有其他元素计算出缩小以适合的宽度,搜索栏将展开以填充其余空间。

根据需要在表格单元格中使用文本对齐和垂直对齐。



 类似资料:
  • 问题内容: 如何使div填充剩余宽度? 我如何才能填满其余部分? 问题答案: 试试这样的事情: div自然会占用其容器的100%宽度,因此无需显式设置此宽度。通过添加与两侧div相同的左/右页边距,它自己的内容被强制置于它们之间。 请注意,“中间格”云 后 的HTML“正确的div”

  • 问题内容: 我想要一个两列的div布局,其中每个可以具有可变的宽度,例如 我希望’view’div扩展到’tree’div填充所需空间后可用的整个宽度。 目前,我的“视图” div已调整为包含它的内容的大小,如果两个div都占据整个高度,那也会很好。 问题答案: 这个问题的解决其实很容易,但不是在 所有 明显。您必须触发一种称为“块格式设置上下文”(BFC)的东西,它以特定的方式与浮点数交互。 只

  • 我需要用div填充下的的剩余垂直空间。 我需要一个唯一的CSS解决方案。

  • 问题内容: 我需要填写 剩余的垂直空间 的下用DIV。 我只需要一个CSS解决方案。 问题答案: 您可以像这样在div 上执行此操作: 小提琴 CSS: 编辑:替代解决方案 根据您的布局和这些div中的内容,可以使它变得更简单,并且标记更少,如下所示: HTML: CSS:

  • 我有两个div并排放在一个flexbox中。右手边的宽度应该总是一样的,我希望左手边的那个能抓住剩下的空间。但它不会,除非我特别设置它的宽度。 所以目前,它被设置为96%,看起来不错,直到你真的挤压屏幕——然后右手div有点缺乏它需要的空间。 我想我可以让它保持原样,但感觉不对——就像有一种方式可以说: 右边的总是一样的你在左边你得到了剩下的一切

  • Fixed 盒子数量不是固定的 Fixed 盒子宽度是固定的 Fill 盒子只有一个 Fill 盒子宽度是动态的 如何让 Fill 填满剩余 Container 的宽度? 如下图