Vue is a popular front-end framework that allows us to develop web applications more easily. In Vue, pictures are one of the commonly used elements in web development, but sometimes we need to determine whether the picture is horizontal or vertical for different processing. Here are some ways to tell if an image is vertical.
Using the Image object in JavaScript can get the original width and height of the image to determine the direction of the image.
var img = new Image(); img.src = 'img.jpg'; img.onload = function() { if (img.width > img.height) { console.log('横图'); } else { console.log('竖图'); } };
CSS3 adds a new aspect-ratio attribute, which is used to set the aspect ratio of an element. We can use this attribute to determine the direction of the image.
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 query can set different CSS styles according to different screen widths. If we set different aspect ratios, we can determine whether the image is landscape or portrait based on the screen orientation.
/* 竖图 */ @media (max-aspect-ratio: 3/4) { img { width: 100%; height: auto; } } /* 横图 */ @media (min-aspect-ratio: 4/3) { img { width: auto; height: 100%; } }
The above are several methods for judging the direction of pictures. In actual development, you can choose the method that suits you according to your needs.
The above is the detailed content of How does Vue determine whether a picture is vertical (three methods). For more information, please follow other related articles on the PHP Chinese website!