css HTML img宽度/高度与源集/大小

vxf3dgd4  于 2022-12-05  发布在  其他
关注(0)|答案(1)|浏览(165)

最近,我正在为我的website与响应图像作斗争。通常,我对图像的政策是它们不得大于450像素宽,但可能会有小于这个尺寸的图像。
最初,我使用了img标签,其中包含widthheight属性,这些属性包含了实际的图像大小。
所以我开始用这个image做一些测试.我不想向浏览器提供这个图片的多个版本(除非一些特定的例外),因为它们没有那么宽.所以我决定用这个代码:

<img src="assets/img/software-developer.jpeg" alt="Some Stuff" srcset="assets/img/software-developer.jpeg 450w" sizes="(max-width: 449px) 75vw, (min-width: 450px) 450px"

这段代码运行得很好,因为如果屏幕大小(用Chrome Developer Tools测试)小于450 px,则只需调整图像大小(75 vw),否则就按原样使用。
然而,我也使用页面速度来控制性能。考虑到我将我的WordPress网站从付费主机转移到Gihub页面上的Jekyll,有两个原因:

  • 成本(付费Web主机与免费Github页面)
  • 性能(考虑到我的内容99%是静态的,使用WordPress时性能非常差)

现在,如果我用Page Speed测试页面,它会告诉我指定widthheight属性。我认为对于Page Speed来说,它们很重要,因为浏览器无需下载即可快速计算图像尺寸,并且无需等待所有图像下载即可渲染页面。但是,宽度和高度似乎不太适合当今的响应世界。
所以我的问题是:是否可能同时具有widht/heightsrcset/sizes
在我上面的代码中,我希望使用100 vw而不是75 vw,但是我的图片被裁剪了。我想这可能是由于填充/边距?我说的对吗?

o2g1uqev

o2g1uqev1#

The " width & height" image attribute fixed the image's dimensions this thing you can see in my code snippet. So it would help if you used CSS to style your photos to make them responsive (automatically scaleable on big and small screens.).
Try following the CSS code:

.my_img {
  width: 420px;
  max-width: 100%;
  height: auto;
}
<img src="https://images.pexels.com/photos/2453551/pexels-photo-2453551.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1" alt="leaf-image" width="200" height="300" />

<img src="https://images.pexels.com/photos/2453551/pexels-photo-2453551.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1" alt="leaf-image" class="my_img" />

Set class for the image. Then set width whatever you want, after that set max-width: 100%; and height: auto; which will help the browser to increase and decrease the height of the image when the image needs to be scaled down on smaller than 420px screens.
Width property will set the image size to 420px when the screen size is bigger than 420px and the max-width: 100%; will make the image responsive, It means when the screen size will less than 420px your image will automatically be adjusted according to your screen with.
You can avoid scrset and width/height image attribute. Use CSS.

相关问题