堆叠 DIV 并水平对齐它们

发布于 2024-11-30 10:32:46 字数 605 浏览 1 评论 0原文

我正在使用 Drupal,页面顶部有一个菜单栏,其宽度由我添加到其中的任何菜单项定义。

例如,如果唯一的链接是“Home”,那么它的宽度就会非常小。但如果我添加“联系方式”、“关于我们”等,它的宽度就会增加。

我希望能够在包含菜单栏 (menuDiv) 的 div 下方添加另一个 div(称为 newDiv),以便 newDiv 的宽度与 menuDiv 完全相同。

所以我想我要问的是,如何使 newDiv 的宽度与 menuDiv 的宽度相同,而无需明确设置 menuDiv 的宽度?

这张图片显示了我正在谈论的内容:

http://i51.tinypic.com/33mami9.jpg

在此链接,有菜单本身的图片 (menuDiv),以及菜单下面的 Div 的图片 (newDiv)。我怎样才能使用CSS而不是使用CSS来实现这样的布局:

<table>i should be a div</table>

我已经在CSS中尝试过一些东西,但似乎没有什么能按照我想要的方式工作。任何帮助将不胜感激。

I'm using Drupal, and I have a menu bar at the top of the page that has a width defined by whatever menu items I add to it.

So for example, if the only link is "Home", it'll have a very small width. But if I add "Contact", "About Us", etc., its width will increase.

I want to be able to add another div (call it newDiv) below the div that contains the menu bar (menuDiv) so that newDiv will have the exact same width as menuDiv.

So I guess what I'm asking is, how do I make the width of the newDiv the same as the width of menuDiv without ever explicity setting the width of menuDiv?

This picture shows what I'm talking about:

http://i51.tinypic.com/33mami9.jpg

At this link, there's pictures of the menus themselves (menuDiv), and a picture of the Div beneath it (newDiv). How can I achieve such layouts using CSS and NOT using:

<table>i should be a div</table>

I've tried things in CSS, but nothing seems to work as I want it to. Any help would be appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

鲜肉鲜肉永远不皱 2024-12-07 10:32:46

使用 display: inline-block; 将它们包装在一个块中。这将使其宽度适应其子元素的最大宽度,并且子

元素将与其父元素一样宽。

例如:

<div id="outer">
    <div>Here is some stuff and things.</div>
    <div>Here is some stuff and things. Here is some stuff and things.</div>
</div>

以及:

#outer {
    border: 1px solid red;
    display: inline-block;
}
#outer div {
    border: 1px solid green;
}

以及现场演示: http://jsfiddle.net/ambigously/gXP7Q/

Wrap them in a block with display: inline-block;. That will adapts its width to the largest width of its children and the child <div> elements will be as wide as their parent.

For example:

<div id="outer">
    <div>Here is some stuff and things.</div>
    <div>Here is some stuff and things. Here is some stuff and things.</div>
</div>

And:

#outer {
    border: 1px solid red;
    display: inline-block;
}
#outer div {
    border: 1px solid green;
}

And a live demo: http://jsfiddle.net/ambiguous/gXP7Q/

谁许谁一生繁华 2024-12-07 10:32:46

您需要在父容器上的 css 中使用绝对定位。更多信息请参见此处

    #container { position:absolute; }
    .item { padding: 0 0 0 0; }

You will need to use absolute positioning in css on the parent container. More can be found here.

    #container { position:absolute; }
    .item { padding: 0 0 0 0; }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文