javascript - 通过数据库插入的具有不同尺寸的图像的宽度和高度 HTML 属性
问题描述
我有一个不同大小的图像库,其路径存储在数据库中。这些图像是使用 PHP 和 MySQL 存储过程获取的。我尝试<img>
使用 PHP 向其中添加宽度和高度属性:
width="<?php list($width, $height) = getimagesize($row['modal_img_src']); echo $width; ?>"
height="<?php list($width, $height) = getimagesize($row['modal_img_src']); echo $height; ?>"
但这显然给了我内在的尺寸,而不是浏览器实际使用的尺寸。
我需要 JavaScript 让浏览器知道每个图像的实际使用的宽度和高度吗?
编辑: 我也可以在数据库中存储每个图像的宽度和高度。(?)
解决方案
目前还不清楚你的目标到底是什么。浏览器通常可以很好地检测内在图像大小(添加它们的一个原因是在图像加载速度较慢时减少内容偏移)。
如果您有特定的尺寸想要显示图像,无论其固有尺寸是什么,您都应该通过 CSS 将其卸载到浏览器。指定诸如max-width
,之类的东西max-height
可能会让你到达你需要的地方。
或者,如果您想要更多控制权,您可以background-image
在非图像元素上使用 CSS 属性。这使您可以控制它通过background-size
.
在我看来,这些解决方案中的任何一个都比在这种情况下使用 JS 更好。
同样为了完整起见,如果您最终使用get_image_size
,请务必只调用一次并检查其返回值。
推荐阅读
- excel - 在 Excel 中为字符串生成正则表达式
- xcode - 如何对属性 Core Data Swift 5 中的值求和
- visual-studio-code - VS Code - 增加 5000 次分阶段 Git 更改的限制
- apache - XAMPP .htaccess AddEncoding br brotli
- python - 制作散点图时的问题
- c# - 将 C# 类导出为具有不同名称的 COM 类
- laravel - Laravel - 试图获取非对象的属性'employee_code'
- jwt - 在 SignalR 与 Blazor-WASM 连接期间使用 JWT
- python - 挑战:使用 python 提取曲线文本
- javascript - 我需要在具有特定条件的数组中找到重复的行