IE 10 垂直拉伸图像?

Posted

技术标签:

【中文标题】IE 10 垂直拉伸图像?【英文标题】:IE 10 vertically stretching images? 【发布时间】:2016-03-20 18:29:10 【问题描述】:

代码如下。它似乎正在***上的这个编辑器上工作......但是当在ie10上渲染时,它会获取占位符图像并拉伸它(几乎就像它的高度为200%,宽度为100%

<style>
section`enter code here` 
        padding: 1em;
        text-align: center;


.content 
        margin: 0 auto;
        max-width: 1000px;


.content > h2 
        clear: both;
        margin: 0;
        padding: 4em 1% 0;
        color: #484B54;
        font-weight: 800;
        font-size: 1.5em;


.content > h2:first-child 
        padding-top: 0em;



.grid 
        position: relative;
        margin: 0 auto;
        padding: 1em 0 4em;
        max-width: 1100px;
        list-style: none;
        text-align: center;


/* Common style */
.grid figure 
        position: relative;
        float: left;
        overflow: hidden;
        margin: 10px 1%;
        min-width: 310px;
        max-width: 310px;
        max-height: 310px;
        width: 48%;
        background: #d30c55;
        text-align: center;


.grid figure img 
        position: relative;
        display: block;
                height: 100%;
                width:auto;
        max-height: 100%;
        max-width: 100%;
        opacity: 1;


.grid figure figcaption 
        padding: 0em 2em 2em 2em;
        color: #ffffff;
        text-transform: uppercase;
        font-size: 1.25em;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        -webkit-box-sizing: border-box; 
       box-sizing: border-box;


.grid figure figcaption::before,
.grid figure figcaption::after 
        pointer-events: none;


.grid figure figcaption,
.grid figure figcaption > a 
        position:absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;


/* Anchor will cover the whole item by default */
/* For some effects it will show as a button */
.grid figure figcaption > a 

        z-index: 1000;
        text-indent: 200%;
        white-space: nowrap;
        font-size: 0;
        opacity: 0;


.grid figure h2 
        word-spacing: -0.15em;
        font-weight: 200;


.grid figure h2 span 
        font-weight: 400;


.grid figure h2,
.grid figure p 
        margin: 0;


.grid figure p 
        letter-spacing: 1px;
        font-size: 68.5%;



/*---------------*/
/***** transition *****/
/*---------------*/

figure.effect-transition 
        background-color: #a39d99;



figure.effect-transition img 
       /* opacity: 0.7; */
        -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
        transition: opacity 0.35s, transform 0.35s;
        -webkit-transform: scale(1);
        transform: scale(1);


figure.effect-transition:hover img 
        opacity: 0.1;
        -webkit-transform: scale(1);
        transform: scale(1);


figure.effect-transition h2 
        margin-top: 80%;
        -webkit-transition: -webkit-transform 0.35s;
        transition: transform 0.35s;
        -webkit-transform: translate3d(0,20px,0);
        transform: translate3d(0,20px,0);


figure.effect-transition p 
        margin: 1em 0 0;
        padding: 0.6em;
        border: 1px solid #fff;
        opacity: 0;
        -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
        transition: opacity 0.35s, transform 0.35s;
        -webkit-transform: translate3d(0,20px,0) scale(1.1);
        transform: translate3d(0,20px,0) scale(1.1);
 

figure.effect-transition:hover h2 
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,-170px,0);


figure.effect-transition:hover p 
        opacity: 1;
        -webkit-transform: translate3d(0,0,0) scale(1);
        transform: translate3d(0,-30px,0) scale(1);




@media screen and (max-width: 50em) 
        .content 
                padding: 0 10px;
                text-align: center;
        
        .grid figure 
                display: inline-block;
                float: none;
                margin: 10px auto;
                width: 100%;
        

</style>
<div class="container">
<div class="content">
<div class="grid">
<figure class="effect-transition" style="background-color: #d40e8c;"><a href="#" target="_blank"><img  src="https://placeholdit.imgix.net/~text?txtsize=33&txt=310%C3%97310&w=310&h=310" /></a> <figcaption>
<h2>Go back <span>home</span></h2>
<p>Some random text here</p>
<a href="#" target="_blank">View more</a></figcaption></figure>
</div>
</div>
</div>

(此时我手上没有要显示的代码)。

我已经用 html5 和 CSS3 构建了一些东西。除了在某些人的计算机(每个人都有 IE10)上,一切都很好,图像文件被垂直拉伸?

这是为我的公司(内部)构建的...是否有理由为什么这只会在某些人的 IE10 版本上发生?

谢谢你, 尼克

【问题讨论】:

你需要发布你的代码,否则任何答案都是猜测 无法在我的 IE10 上重现 .. 如果将 .grid figure 中的 width: 48%; 更改为固定大小怎么办? 还要确保每个人的 Windows 都是最新的......或者这很可能是我的一个理由。 我已将其更改为 100% 并实际上将其完全删除,这似乎没有任何改变。生病将其更改为 310 像素,看看会发生什么。谢谢。 【参考方案1】:

请检查css如下图,

img.someClass 最大宽度:100%; 宽度:自动

【讨论】:

垂直拉伸不是最大高度吗? 不,它会根据容器的宽度取Max-height。这样该图像将被正确缩放。【参考方案2】:

对我来说,诀窍是将最大宽度设置为类似 最大宽度:110px;

然后是宽度:100%;

图像不再被拉伸

更新:nvm,这导致 img 在 Firefox 上的宽度为 0

【讨论】:

以上是关于IE 10 垂直拉伸图像?的主要内容,如果未能解决你的问题,请参考以下文章

如何确保图像不会水平或垂直拉伸[重复]

设置垂直空间iOS时自动布局图像拉伸[重复]

CSS - 背景图像水平拉伸并垂直重复?

IE 11 中的拉伸图像[关闭]

拉伸由 GD 创建的图像文本

相机表面视图图像看起来拉伸