«

vue如何判断图片是竖图

时间:2024-7-13 14:22     作者:韩俊     分类: Javascript


今天小编给大家分享一下vue如何判断图片是竖图的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

使用JavaScript的Image对象

使用JavaScript中的Image对象可以获取图片的原始宽度和高度,从而判断出图片的方向。

var img = new Image();
img.src = 'img.jpg';
img.onload = function() {
  if (img.width > img.height) {
    console.log('横图');
  } else {
    console.log('竖图');
  }
};

使用CSS的aspect-ratio属性

CSS3新增了aspect-ratio属性,该属性用于设置元素的宽高比。我们可以利用这个属性来判断图片的方向。

img {
  aspect-ratio: 1/1; /* 宽高比为1:1 */
  position: relative;
}
img::before {
  content: '';
  display: block;
  padding-bottom: 100%; /* 内容区高度为0,生成一个占位符,避免图片被撑宽 */
}

/* 竖图 */
img[aspect-ratio="1/1"]::before {
  padding-bottom: 133%; /* 内容区高度为0,生成一个占位符,占比为4:3 */
}

/* 横图 */
img[aspect-ratio="1/1"]::before {
  padding-bottom: 75%; /* 内容区高度为0,生成一个占位符,占比为3:4 */
}

使用CSS的@media查询

CSS @media查询可以根据不同的屏幕宽度设置不同的CSS样式。如果我们设置不同的宽高比,就可以根据屏幕方向判断图片是横向还是纵向。

/* 竖图 */
@media (max-aspect-ratio: 3/4) {
  img {
    width: 100%;
    height: auto;
  }
}

/* 横图 */
@media (min-aspect-ratio: 4/3) {
  img {
    width: auto;
    height: 100%;
  }
}

标签: javascript vue

热门推荐