我正在尝试设置背景图像的宽度——而不修改所述图像的高度。有没有办法做到这一点?
3 回答
我认为选择的答案是错误的。您可以仅使用纯 CSS 3 来实现,使用background-size: 100% auto
自动推断的高度或background-size: auto 100%
自动推断的宽度。该比率将保持不变。仅当您使用background-size: 100% 100%
(缩写为background-size: 100%
)时,比率才会发生变化。
在 CSS3 之前
要完全控制背景图像,您可以创建一个非常低的 divz-index
并使position:absolute; top:0; bottom: 0;
所有内容都漂浮在其上方。
如果您不想对图像的高度进行硬编码,则需要使用 javascript 进行拉伸,否则它将仅根据width和height之间的比率进行缩放。
CSS3
在css3中,您可以使用属性background-size
,但这里是一样的。如果您不希望图像根据width和height之间的比率进行缩放,则需要使用 javascript 。
您可以使用 timthumb 库来做到这一点 - 它可以裁剪可以实现您需要的图像。您需要安装 tim thumb(例如 timthumb.php),然后将您的图像更改为指向您的 timthumb 页面并通过图像的 html 编码 url。它对其进行处理,使其成为您需要的宽度,而无需修改图像的高度。