【问题标题】:Make a block level element to have an adjusting width like inline element?使块级元素具有像内联元素一样的调整宽度?
【发布时间】:2012-10-09 07:13:10
【问题描述】:

默认情况下,即使没有内容,块级元素的宽度也接近 100%,它水平占据了其父元素的空间。

另一方面,内联元素,根据其内容调整其宽度。如果内容长,则元素变宽,如果内容短,则宽度缩小。

这是demo

我想在这里实现的是使块级元素的宽度可以根据它的内容进行调整,例如内联元素。我该怎么做?

注意:

  • 我希望块元素是块,而不是 inline-block 或 inline。
  • 我想要 避免浮动,我认为可以实现不浮动 元素。

【问题讨论】:

  • LOL 我回答后你又改变了你的问题
  • @Mr.Alien 这是允许的,如果您违反规则,我很抱歉,但请永远离开。你抱怨太多了。
  • @NejiHyuga 允许编辑帖子,这是好的。您可以删除您的答案以避免投票。此外,我已经在 SO 中回答了很多被多次编辑的问题,我从不抱怨。如果我没记错的话,解决问题是 SO 的主要目标。
  • @dpp 我没有抱怨,唯一的事情是你在得到解决方案时为你的问题添加例外,这就是我的意思
  • @dpp 同意,我没有强迫你接受我的回答,只是其他人没有得到你想要的东西。反正版主会删除这些 cmets,所以不再讨论这个..

标签: html css


【解决方案1】:

我记得桌子的宽度正是我想要模仿的。它根据内容的长度进行调整。我找到了 HTML 4 的默认样式表,表格的 display 属性设置为“table”,所以我尝试将它设置为 div 并且它可以工作:

div{ display:table; background:yellow; }

<div>lorem ipsum dolor</div>

Demo

【讨论】:

    【解决方案2】:

    您可以像这样将块元素向左浮动

    CSS

    div { background:yellow; float: left;}
    

    My fiddle

    您可以稍后简单地破坏您的元素,或者您可以在浮动 div 之后使用 &lt;div style="clear: both;"&gt;&lt;/div&gt;...

    My fiddle

    【讨论】:

    • 我必须承认,你的回答给了我一个想法。
    • 我想我找到了,display:table。我意识到我要模仿的是桌子的宽度,我寻找了桌子和宾果游戏的默认样式!我也意识到我不喜欢它。谢谢你的帮助。 :)
    • 如果你只是想让它像块元素一样,浮动元素不是一个好习惯。周围的所有元素都会勾勒出它的轮廓。改用 overflow: hidden
    【解决方案3】:

    好吧,我建议你用display: inline-block 添加一个div 或span INSIDE 你的主div 用display: block。然后使用 javascript 计算内部元素的大小。然后将父元素的宽度设置为相同的值。

    反正你的要求很奇怪

    【讨论】:

    • 什么意思?解释一下情况,我几乎可以肯定你做错了什么。
    • 我只是想让div根据内容调整宽度,仅此而已:)
    • 为什么不直接使用 display: inline-block; ?
    • 因为它会使其内联,我希望它像在新行中呈现的块一样。现在好了,找到答案了,display:table
    【解决方案4】:

    我会给你小样

    • HTML
    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;}
      

    元素span向左浮动,宽度取决于内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-15
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      • 2017-12-31
      • 2023-03-21
      • 2010-11-08
      相关资源
      最近更新 更多