默认情况下,即使没有内容,块级元素也有 100% 的宽度,它水平占据其父元素的空间。
另一方面,内联元素根据其内容调整其宽度。如果内容长,则元素变宽,如果内容短,则宽度缩小。
这是一个演示。
我想在这里实现的是使块级元素的宽度可以根据其内容(如内联元素)进行调整。我将如何做到这一点?
笔记:
- 我希望块元素是块,而不是内联块或内联。
- 我想避免浮动,我认为它可以在没有浮动元素的情况下实现。
我记得桌子的宽度正是我想要模仿的。它根据内容的长度进行调整。我找到了 HTML 4 的默认样式表,表格的 display 属性设置为“table”,所以我尝试将它设置为 div 并且它可以工作:
div{ display:table; background:yellow; }
<div>lorem ipsum dolor</div>
好吧,我建议你在你的主 div中添加一个 div 或display: inline-block
spandisplay: block
。然后使用javascript计算内部元素的大小。然后将父元素的宽度设置为相同的值。
反正你的要求很奇怪
我给你小样
lorem ipsum dolor lorem ipsum dolorlorem ipsum dolorlorem ipsum dolorlorem ipsum dolor more longger
CSS
div { background:yellow; }
span { background:orange; float:left;display:inline; width:auto;padding:0 3px; border-right:1px solid red;}
元素跨度是向左浮动的,宽度取决于内容。