У меня есть предмет, который должен расти справа налево. Он хорошо работает в некоторых браузерах, но в IE (даже Edge) он не работает.Увеличение ширины справа налево с использованием calc на IE
Элемент имеет фиксированную ширину, но его родитель реагирует и имеет родственника, который должен быть абсолютным, чтобы быть скрытым, когда предмет растет.
Я сделал фрагмент, чтобы показать, как он должен работать (деталь красный один, нажмите на него):
Соответствующий CSS находится в детской-02:
$(document).ready(function() {
$('.child-02').click(function() {
$(this).toggleClass('open');
});
});
body {
font-family: sans-serif;
}
h1,
h2 {
font-weight: lighter;
font-size: 14px;
}
div {
border: solid 1px rgba(100, 100, 100, 0.5);
box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.5);
width: 100%;
padding: 10px;
min-height: 40px;
margin: 10px 0;
background: rgba(100, 200, 255, 0.5);
box-sizing: border-box;
}
.parent {
min-height: 150px;
}
.child-01 {
position: absolute;
width: calc(50% - 20px);
z-index: -1;
}
.child-02 {
background: rgb(220, 90, 100);
width: 150px;
border-radius: 4px;
transition: all 1s ease;
margin-left: calc(100% - 150px);
}
.child-02.open {
margin-left: 0;
width: 100%;
min-height: 200px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="uncle"></div>
<div class="parent">
<div class="child-01">
<h1>There's some text</h1>
<h2>Here's a bit more</h2>
</div>
<div class="child-02">
</div>
</div>
<div class="aunt"></div>
Есть ли способ сделать это?
делают его плавать вправо, так что нет путаницы, где собираются стоять: http://codepen.io/anon/pen/GrKJKj –
Это известная ошибка IE. Он не поддерживает переходы для значений 'calc'. См. Http://caniuse.com/#search=calc –
@ GabyakaG.Petrioli Я думаю, что мое решение устраняет проблемы, которые IE получил с переходами и 'calc' (или, по крайней мере, некоторые из них). – Dekel