以下代码是我网站的简化版。在我的网站上,图像宽度因页面而异,文本大约为100个单词。这意味着段落将DIV拉伸到比图像更宽。仅使用CSS,是否可以将DIV和段落缩小到图像的宽度?
Example of what I'm trying to describe here。 Top是我得到的,底部是我想要的。
HTML
<div>
<img src="image.jpg" />
<p>Lorem ipsum dolor sit amet.</p>
</div>
CSS
div {
display: inline-block;
}
答案 0 :(得分:3)
为了做任何与表有关的事情,我将永远羞辱自己:http://jsfiddle.net/WM6hK/3/
div {
display: table;
border: 1px solid red;
width: 1%;
}
p {
border: 1px solid blue;
}
答案 1 :(得分:1)
您可以使用此功能: -
div {
width:20%;
display:inline-table;
}
p {
border: 1px solid blue;
}
根据图像尺寸完全可以工作.....
参见演示: - http://jsfiddle.net/WM6hK/11/
答案 2 :(得分:0)
不,仅使用CSS是不可能的。您需要为父div设置宽度并重新缩放图像。
答案 3 :(得分:0)
我建议添加一点jquery ..让你的生活更轻松:
imgw = $("img").width();
$("div").css("width", imgw);
以下是它的外观:http://jsfiddle.net/WM6hK/2/
通过这种方式,您可以将这一简单的代码行添加到任何div中,并将$(“div”)替换为ID $(“#idofdiv”)。希望这有帮助!
答案 4 :(得分:0)
答案 5 :(得分:0)
div {
width: fit-content;
border: 1px solid red;
}
<div>
<img src="https://picsum.photos/200" />
<p>Lorem ipsum dolor sit amet.</p>
</div>