无需独立CSS文件,调整网页随机漫画角色图片尺寸的方法
解决图片尺寸过大且缩放不失真的问题
先修正你现有代码里的几个小问题:
<table>标签结构不完整(缺少<td>起始标签,且未闭合)script标签的langauge拼写错误,应为language- 末尾重复定义的
images和htmlImage变量无实际作用,可删除
针对图片尺寸问题,以下两种方案均无需独立CSS文件,能保证图片缩放时不失真,且所有代码都在单个HTML文件中:
方案1:给img标签添加内联样式
直接在<img>标签中设置尺寸与适配规则,让图片按比例完整显示:
<table style="width: 81%; margin-left: calc(9%); margin-right: calc(10%);"> <tbody> <tr> <td> <img id="furFag" style="width: 100%; height: auto; object-fit: contain;" /> </td> </tr> </tbody> </table> <script language="javascript"> function getRandomImage() { var images = ['/assets/those_guys/1.png', '/assets/those_guys/2.png', '/assets/those_guys/3.png', '/assets/those_guys/4.png']; var image = images[Math.floor(Math.random()*images.length)]; return image; } function displayRandomImage() { var htmlImage = document.getElementById("furFag"); htmlImage.src = getRandomImage(); } displayRandomImage(); </script>
width: 100%:让图片占满表格单元格宽度,也可改为固定值(如width: 600px)height: auto:自动维持图片原始宽高比例,避免拉伸变形object-fit: contain:确保图片完整显示在设定尺寸内,不裁切、不失真
方案2:用JavaScript动态设置样式
如果需要根据场景灵活调整尺寸,可通过JS给图片添加样式:
<table style="width: 81%; margin-left: calc(9%); margin-right: calc(10%);"> <tbody> <tr> <td> <img id="furFag" /> </td> </tr> </tbody> </table> <script language="javascript"> function getRandomImage() { var images = ['/assets/those_guys/1.png', '/assets/those_guys/2.png', '/assets/those_guys/3.png', '/assets/those_guys/4.png']; var image = images[Math.floor(Math.random()*images.length)]; return image; } function displayRandomImage() { var htmlImage = document.getElementById("furFag"); // 动态设置图片样式 htmlImage.style.width = '100%'; htmlImage.style.height = 'auto'; htmlImage.style.objectFit = 'contain'; htmlImage.src = getRandomImage(); } displayRandomImage(); </script>
内容的提问来源于stack exchange,提问作者Jimmy Beansworth
相关产品推荐
相关产品推荐

