【发布时间】:2014-10-21 05:17:07
【问题描述】:
我想构建一个显示带有描述的图像的html页面,描述和图像是动态生成的,并且可以找到这两种常见情况:
<div style="width:500px; padding:10px; border:solid 1px;">
<div style="width:100%; overflow: auto; border:solid 1px;">
<img style="float:right; width:40%" src="http://isc.stuorg.iastate.edu/wp-content/uploads/sample.jpg">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam tempus justo pharetra, tincidunt erat nec, euismod quam. Fusce vel purus aliquet, posuere nulla ac, porta urna. Aliquam feugiat ligula vitae maximus tincidunt.
</div>
</div>
<div style="width:500px; padding:10px; border:solid 1px;">
<div style="width:100%; overflow: auto; border:solid 1px;">
<img style="float:right; width:40%" src="http://isc.stuorg.iastate.edu/wp-content/uploads/sample.jpg">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam tempus justo pharetra, tincidunt erat nec, euismod quam. Fusce vel purus aliquet, posuere nulla ac, porta urna. Aliquam feugiat ligula vitae maximus tincidunt. Suspendisse vel tristique massa. Ut lobortis sapien nec libero varius, vitae ullamcorper risus pretium. Nunc vulputate posuere auctor. Phasellus pulvinar nibh a risus semper, a lobortis justo ultricies. Etiam at pretium ligula. Nullam lobortis, nisl nec sollicitudin vestibulum, turpis neque porta neque, pellentesque egestas ipsum nunc id nisl. Morbi quis lacus quam. Pellentesque eget congue neque. Vestibulum elementum arcu nec condimentum posuere. Donec risus lorem, ornare pharetra ex a, lobortis molestie nunc. Suspendisse iaculis est eros, eu vestibulum nisi accumsan eget. Proin eget eleifend eros.
</div>
</div>
虽然第一个文本太短而无法包裹图像,但第二个文本足够长以包裹它。
我喜欢这种效果,但我想在第一种情况下稍作改动,所以这是我的问题:
是否可以垂直对齐文本,以便根据图像高度垂直居中? (当然我想用更长的文本保留换行效果)
图形化:
我想要这个:
变成这样:
【问题讨论】:
-
考虑两种情况,我不这么认为。您可能需要使用 JavaScript 来实现效果。
-
很好的答案,但我在这里想知道是否可以仅使用 css 实现此结果
-
我也会说不,因为您需要在应用样式以使其居中之前知道文本是否换行 - 即您需要计算容器的高度,将其与图像的高度,如果图像大小相同,则应用居中样式
-
我也推荐一些 Javascript..
标签: html css image css-float vertical-alignment