【问题标题】:How to apply aspect-ratio media query如何应用纵横比媒体查询
【发布时间】:2021-06-12 01:02:21
【问题描述】:

我正在尝试根据图像的初始纵横比来修改图像的大小。为此,我在纵横比上创建了 2 个媒体,但由于某些原因,只有第一个 @media 适用于所有图像,而与每个图像的纵横比无关。

@media (min-aspect-ratio: 3/4) {
          .Visible {
    
            max-width: calc(60% - 400px);
            height: auto;
          }
         
    
        }
    
@media (aspect-ratio: 4/3) {
         .Visible {
    
            max-width: calc(60% - 80px);
            height: auto;
          }
        }

我尝试了不同的组合,但仍然没有得到想要的结果。有什么建议吗?

【问题讨论】:

  • @media 查询正在测试视口的纵横比,而不是图像的纵横比。

标签: css image media-queries aspect-ratio


【解决方案1】:

我认为您需要一些棘手的问题,如果您将最大纵横比更新为 3/4 嵌套的最小值并使最小比率为 4/3,那么您的代码将正常工作...

也许您在第一次媒体查询时的问题自 3/4 以来一直执行,而纵横比为 4/3

@media (max-aspect-ratio: 3/4) {
    div {
    background: orange;
  }
}
@media (min-aspect-ratio: 4/3) {
    div {
    background: yellow;
  }
}
<div>
  Watch this element as you resize your viewport's width and height.
</div>

【讨论】:

  • 您好,感谢您的回复。我已经尝试过了,但是只应用了第二个@media,并且由于某些原因第一个丢失了。我想知道,我们确定这个媒体查询能够看到图像的实际纵横比吗?
  • 也许问题是一张图像是 4/3,另一张是 3/4,但媒体认为两者具有相同的纵横比。你知道如何克服这个问题吗?
  • 不客气,用于屏幕的纵横比根本不是针对特定元素的,所以如果图像比例是3/4,另一个是4/3,则不会改变或渲染样式图片...要检查我说的内容,请尝试调整屏幕大小,您会看到文本为橙色,当您将其最小化到最小尺寸时,您会看到橙色...
  • 我理解你的观点,但这并不是我想要达到的目标。我需要对具有不同纵横比的图像应用不同的样式(大小)。你知道如何实现吗?谢谢
猜你喜欢
  • 1970-01-01
  • 2016-01-10
  • 2018-11-01
  • 1970-01-01
  • 2013-10-20
  • 2011-08-09
  • 2011-12-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多