1

我有以下代码:http: //jsfiddle.net/domoindal/fkcQK/

我需要的是边框适合菜单栏中的内容,所以如果有三个标签,那么这样的 div 的宽度应该适合这三个标签宽度的总和。我不希望标签周围的边框获得最大宽度。

后者,我想要的是在生成的不规则形状周围创建一个阴影,而不是一个盒子。

有没有可能按照我的意愿去做?

谢谢。

4

3 回答 3

2

摆脱 width: auto bits 并添加 display: inline-block 到你的菜单 div:-

http://jsfiddle.net/fkcQK/2/

于 2012-07-14T19:07:43.637 回答
1

尝试使用浮动

http://jsfiddle.net/fkcQK/1/

于 2012-07-14T19:03:24.443 回答
1

您的width: auto;属性将无济于事,因为<div>它是一个块元素并自动填充其父元素的宽度。在浏览器的内置样式表中,有一个定义说div { width: auto; display: block; }您的 CSS 不会改变任何东西。

你想要的就是在我刚刚找到的这个 jsFiddle 中完成的:http: //jsfiddle.net/loktar/seB5F/

它在position: absolute;不定义任何位置坐标的情况下创建父级,因此元素的框适合其内容(因为它没有要填充的父级),但是这确实会从文档流中删除元素,因此您需要分配边距或填充到附近的元素来掩盖这一事实。

HTH。

一个小提示:将来,考虑制作导航菜单(概念上是列表)<ul>元素而不是通用的<div>.

于 2012-07-14T19:04:06.177 回答