堆叠 DIV 并水平对齐它们
我正在使用 Drupal,页面顶部有一个菜单栏,其宽度由我添加到其中的任何菜单项定义。
例如,如果唯一的链接是“Home”,那么它的宽度就会非常小。但如果我添加“联系方式”、“关于我们”等,它的宽度就会增加。
我希望能够在包含菜单栏 (menuDiv) 的 div 下方添加另一个 div(称为 newDiv),以便 newDiv 的宽度与 menuDiv 完全相同。
所以我想我要问的是,如何使 newDiv 的宽度与 menuDiv 的宽度相同,而无需明确设置 menuDiv 的宽度?
这张图片显示了我正在谈论的内容:
在此链接,有菜单本身的图片 (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:
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用
display: inline-block;
将它们包装在一个块中。这将使其宽度适应其子元素的最大宽度,并且子元素将与其父元素一样宽。
例如:
以及:
以及现场演示: 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:
And:
And a live demo: http://jsfiddle.net/ambiguous/gXP7Q/
您需要在父容器上的 css 中使用绝对定位。更多信息请参见此处。
You will need to use absolute positioning in css on the parent container. More can be found here.