如何使 div 不大于其内容?

问:

我的布局类似于:


    
    


我希望 div 只扩展到我的 table 的宽度。

答1:

huntsbot.com汇聚了国内外优秀的初创产品创意,可按收入、分类等筛选,希望这些产品与实践经验能给您带来灵感。

解决方案是将您的 div 设置为 display: inline-block。

@leif81 您可以使用 span 或 div 或 ul 或其他任何东西,重要的部分是您希望最小宽度的容器具有 CSS 属性 display: inline-block

请注意,一旦您设置了 display: inline-block 属性,margin: 0 auto; 将无法按预期工作。在这种情况下,如果父容器具有 text-align: center;,则 inline-block 元素将水平居中。

添加到@SavasVedova 评论,记得将 margin: 0 auto; 中的 auto 更改为 0(或您可以选择的任何值)。

答2:

huntsbot.com聚合了超过10+全球外包任务平台的外包需求,寻找外包任务与机会变的简单与高效。

你想要一个块元素,它具有 CSS 所称的收缩以适应宽度,而规范没有提供获得这种东西的幸运方式。在 CSS2 中,缩小以适应不是目标,而是意味着处理浏览器“必须”凭空获得宽度的情况。这些情况是:

漂浮

绝对定位元素

内联块元素

表格元素

当没有指定宽度时。我听说他们想在 CSS3 中添加你想要的东西。现在,请使用上述方法之一。

不直接公开该功能的决定可能看起来很奇怪,但这是有充分理由的。它是昂贵的。 Shrink-to-fit 意味着至少要格式化两次:在知道元素宽度之前不能开始格式化元素,并且不能计算不经过整个内容的宽度。另外,人们不需要像人们想象的那样经常收缩以适应元素。为什么你的桌子周围需要额外的 div?也许表格标题就是您所需要的。

我想说 inline-block 正是为此而设计的,并且完美地解决了这个问题。

@miahelf – 著名的遗言,inline-block 在任何时候都不是完美的方式,而且永远不会被认为是这样。

答3:

huntsbot.com提供全网独家一站式外包任务、远程工作、创意产品分享与订阅服务!

我认为使用

display: inline-block;

可以,但是我不确定浏览器的兼容性。

另一种解决方案是将您的 div 包装在另一个 div 中(如果您想保持阻止行为):

HTML:


    
        content
    


CSS:

.yourdiv
{
    display: inline;
}

回答浏览器兼容性问题:这不适用于 IE7/8 上的 DIV 元素。您必须使用 SPAN 元素。

答4:

HuntsBot周刊–不定时分享成功产品案例,学习他们如何成功建立自己的副业–huntsbot.com

display: inline-block 为您的元素添加额外的边距。

我会推荐这个:

#element {
    display: table; /* IE8+ and all other modern browsers */
}

奖励:您现在还可以通过添加 margin: 0 auto 轻松地将新奇的 #element 居中。

答5:

huntsbot.com – 高效赚钱,自由工作

您可以尝试 fit-content (CSS3):

div {
  width: fit-content; 
  /* To adjust the height as well */ 
  height: fit-content;
}

浏览器支持

规格

一个优秀的自由职业者,应该有对需求敏感和精准需求捕获的能力,而huntsbot.com提供了这个机会

这太有道理了,当然它缺乏支持。

这与 margin: auto 是我一起去的。

这应该是公认的答案

答6:

保持自己快人一步,享受全网独家提供的一站式外包任务、远程工作、创意产品订阅服务–huntsbot.com

有两个更好的解决方案

显示:内联块;或显示:表格;

这两个display:table;更好,因为display: inline-block;增加了额外的边距。

对于 display:inline-block;,您可以使用负边距方法来修复额外的空间

答7:

huntsbot.com聚合了超过10+全球外包任务平台的外包需求,寻找外包任务与机会变的简单与高效。

对我有用的是:

display: table;

在 div 中。 (在 Firefox 和 Google Chrome 上测试)。

答8:

huntsbot.com – 高效赚钱,自由工作

display: -moz-inline-stack;
display: inline-block;
zoom: 1;
*display: inline;

Foo Hack – Cross Browser Support for inline-block Styling (2007-11-19)。

答9:

huntsbot.com全球7大洲远程工作机会,探索不一样的工作方式

不知道这会出现在什么上下文中,但我相信 CSS 样式的属性 float left 或 right 会产生这种效果。另一方面,它也会有其他副作用,例如允许文本在其周围浮动。

如果我错了,请纠正我,我不是 100% 确定,目前无法自己测试。

答10:

保持自己快人一步,享受全网独家提供的一站式外包任务、远程工作、创意产品订阅服务–huntsbot.com

你的问题的答案在未来我的朋友…

即“内在”是最新的 CSS3 更新

width: intrinsic;

不幸的是 IE 落后了所以它还不支持它

有关它的更多信息:CSS Intrinsic & Extrinsic Sizing Module Level 3 和 Can I Use?: Intrinsic & Extrinsic Sizing。

现在您必须满足于将 或

设置为

display: inline-block;

内在内容和适合内容有何不同?

答11:

huntsbot.com提供全网独家一站式外包任务、远程工作、创意产品分享与订阅服务!

width:1px;
white-space: nowrap;

对我来说很好:)

原文链接:https://www.huntsbot.com/qa/oD8W/how-can-i-make-a-div-not-larger-than-its-contents?lang=zh_CN&from=csdn

huntsbot.com精选全球7大洲远程工作机会,涵盖各领域,帮助想要远程工作的数字游民们能更精准、更高效的找到对方。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值