当前位置: 首页 > 面试题库 >

CSS-缩小父div以适合一个子的宽度并限制另一个孩子的宽度

濮阳茂材
2023-03-14
问题内容

假设一个父div有两个子div,一个包含文本,另一个包含已知(但可变)宽度和高度的图像。

我想要

  • 第一个子(包含图像)的div的宽度缩小以适合图像的宽度(我可以这样做)
  • 父div(未指定宽度)缩小以适合包含图像的div的宽度(也可以)
  • 包含文本的第二个子div(也具有未指定的宽度)以匹配父div的宽度,而不管其包含的文本数量如何(这是棘手的地方)。

我有一个工作版本可以满足我的要求, 直到 第二个孩子中的大量文本将父div的宽度推到大于图像的宽度 为止

这是我的代码:

CSS:

#container{border:1px solid #f00;display:inline-block;}
#child1{border:1px solid #0f0;}
#child2{border:1px solid #00f;}
img {border:1px solid #000;}

HTML:

<div id="container">
<div id="child1"><img src="//www.google.com/logos/2012/Teachers_Day_Alt-2012-hp.jpg" width="300" height="116"></div>
<div id="child2">Lorem ipsum dolor sit amet.</div>
</div>

您可以通过单击“加长/缩短文本”链接以增加文本数量来查看问题出在哪里

tldr-我希望所有的div具有相同的宽度,该宽度等于图像的宽度

ps。只需使用现代浏览器解决方案


问题答案:

这是添加到CSS的内容:

#container {
    display: table-cell;
}
#child1 {
    display: table-row;
    width: 1px;
}
#child2 {
    display: table-cell;
    width: 1px;
}


 类似资料:
  • 问题内容: 我有两个div容器。 虽然其中一个需要为特定宽度,但我需要对其进行调整,以便另一个div占用其余空间。有什么办法可以做到吗? 问题答案: HTML: CSS: 您也可以使用这样做,这通常是一种更好的方法:如何将输入元素与其标签放在同一行?

  • 问题内容: 有没有一种方法可以在比其父对象更宽的父容器DIV中包含子DIV 。子DIV必须与浏览器视口的宽度相同。 子DIV 必须保留为父div的子。我知道我可以在子div上设置任意的负边距以使其更宽,但是我不知道如何从根本上使它成为浏览器宽度的100%。 我知道我可以这样做: 但是我需要孩子的宽度与动态浏览器的宽度相同。 Update 感谢您的回答,到目前为止,似乎最接近的答案是将子DIV位置设

  • 问题内容: 我有两个div容器。 尽管一个需要为特定宽度,但我需要对其进行调整,以便另一个div占用其余空间。有什么办法可以做到吗? 问题答案: 请参阅: http : //jsfiddle.net/SpSjL/ (调整浏览器的宽度) HTML: CSS: 您也可以使用这样做,这通常是一种更好的方法:如何将输入元素与其标签放在同一行?

  • 我需要限制节点的子级大小。我的父节点是一个VBox。我试图设置maxWidth,但它不起作用(wide子级不在VBox范围内) 如何将孩子的大小限制在父母的范围内?除了绑定还有别的办法吗? 预期行为:Children maxWidth自动与VBox相同(无需手动设置) 我的代码(fxml):

  • 我的想法是让子对象(@example the“.moon”)的高度和宽度相等,并且不超过父对象(@example the“.sun”)的宽度或高度。 因此,当父项宽度大于其高度时,子项的宽度和高度值为较小的值,即父项高度。 同样,当父代高度大于宽度时,孩子的宽度和高度值是较小的值,即父代宽度。 我的意思是在容器内刻录一个对象,但只使用CSS。 “填充顶部”技巧仅在父宽度大于高度时有效。我想“对象匹

  • 问题内容: 我想并排放置两个DIV标签而不使用固定宽度。第一个div扩展到其内容,第二个div应该填充剩余的空间。另外,div不能位于另一个div的顶部,因为它们具有透明的背景图像,因此如果它们相交,则很明显。我尝试了所有可以考虑的可能性,但是找不到使用DIV标签的解决方案。 我可以使用TABLE进行此操作,但是可以使用DIV进行吗?还是DIV不能再做的一件事? 这是代码: 感谢您的答复! 问题答