html - 使段落元素与具有固定高度和仅使用 HTML/CSS 的自动宽度的同级图像具有相同的宽度
问题描述
我想知道是否可以完全通过 HTML/CSS 使段落元素与图像的宽度相同。图像有一个固定的高度,在本例中为 150 像素,但宽度由其纵横比自动确定。我不想用固定的宽度让它们相等,我希望长宽比继续决定图片宽度和文字宽度。
是否有可能使父元素“.container”以某种方式缩小到图像的宽度?或者以某种方式通过使用 flexbox 或网格使段落与图像保持相同的宽度?
.image {
height: 150px;
}
<div class="container">
<img class="image" src="https://solidstarts.com/wp-content/uploads/Grapefruit_Edited-scaled.jpg" />
<p class="text">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam urna nulla, tincidunt at fringilla molestie, sodales et nunc. Quisque vestibulum magna nisi, in congue augue semper at. Integer lobortis elementum neque at consequat. Etiam non sollicitudin tortor. Morbi bibendum libero sed venenatis congue. Sed finibus sem in rutrum congue. Maecenas mi purus, sodales quis vestibulum ut, scelerisque ut elit. Nullam sodales id orci sed aliquet. Fusce vitae erat feugiat neque congue ultricies. In massa ligula, pellentesque nec dui sed, maximus tristique ipsum. Integer vestibulum congue augue. Praesent a mattis odio. Aenean eget leo lacus.</p>
</div>
解决方案
我认为您必须display: inline-block
在 div 中使用并从p
标签更改为span
标签。
.container { position: relative; display: inline-block; }
.image { display: block; height: 150px; }
.text { position: absolute; left: 0; bottom: 150; width: 100%; }
<div class="container">
<img class="image" src="https://solidstarts.com/wp-content/uploads/Grapefruit_Edited-scaled.jpg" />
<span class="text">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam urna nulla, tincidunt at fringilla molestie, sodales et nunc. Quisque vestibulum magna nisi, in congue augue semper at. Integer lobortis elementum neque at consequat. Etiam non sollicitudin tortor. Morbi bibendum libero sed venenatis congue. Sed finibus sem in rutrum congue. Maecenas mi purus, sodales quis vestibulum ut, scelerisque ut elit. Nullam sodales id orci sed aliquet. Fusce vitae erat feugiat neque congue ultricies. In massa ligula, pellentesque nec dui sed, maximus tristique ipsum. Integer vestibulum congue augue. Praesent a mattis odio. Aenean eget leo lacus.</span>
</div>
推荐阅读
- laravel - Laravel Echo 与 StreamBuilder
- wpf - 我是否正确地处理了 MVVM / Prism / WPF 中相同视图的多个实例
- r - 每次根据前面的列改变匹配模式的所有列
- sql - 在 oracle 查询中获取日期名称
- c++ - 加载的库应该留在堆栈上吗?
- codenameone - 申请证书时编译到 Andriod 时出错
- python - PyArmor,“代码对象太大,试用版限制为 32768 字节”错误即使文件大小为 30K
- maps - mapbox : 填充颜色表达式取决于来自 geojson 的值(不是颜色值)
- c# - 将对象传递给jint中的函数并返回一个值
- apache-spark - 使用 SharedSparkSession (org.apache.spark.sql.test.SharedSparkSession.eventually) 进行单元测试