#css #safari #flexbox #saas
#css #safari #flexbox #saas
Вопрос:
Я попытался реализовать сетку, используя flexbox и sass. Он отлично работает в Chrome, но у меня возникли некоторые проблемы с Safari, и красные поля «переполнены» и не переходят на новую строку
Важный момент, когда окна Safari меньше, чем разрешение экрана, он работает.
Возможно, было бы лучше создать новый HTML-файл, чтобы проверить проблему и открыть этот файл с помощью safari и chrome.
Safari (горизонтальное переполнение, мы должны прокручивать)
Chrome
<style>
.flex-parent {
display: flex;
display: -webkit-flex;
flex-direction: row;
-webkit-flex-direction: row;
flex-wrap: wrap;
-webkit-flex-wrap: wrap;
justify-content: flex-start;
-webkit-justify-content: flex-start;
margin-left: -14px;
margin-top: -14px;
margin-bottom: 14px;
}
.flex-parent .event_card {
flex: 1 0 345px;
-webkit-flex: 1 0 345px;
margin-left: 14px;
margin-top: 14px;
padding: 14px;
box-sizing: border-box;
height: 140px;
background: red;
}
@media (min-width: 690px) {
.flex-parent .event_card {
max-width: calc( 50% - 14px);
}
}
@media (min-width: 1035px) {
.flex-parent .event_card {
max-width: calc( 33.33333333% - 14px);
}
}
@media (min-width: 1035px) {
.flex-parent .event_card {
min-width: calc(33.33333333% - 14px);
}
}
</style>
<html>
<body>
<div id="content">
<div class="flex-parent feedify-item-body">
<div class="event_card">
<div class="wrapper Aligner">
<div class="card__front"></div>
</div>
</div>
<div class="event_card">
<div class="wrapper Aligner">
<div class="card__front"></div>
</div>
</div>
<div class="event_card">
<div class="wrapper Aligner">
<div class="card__front"></div>
</div>
</div>
<div class="event_card">
<div class="wrapper Aligner">
<div class="card__front"></div>
</div>
</div>
<div class="event_card">
<div class="wrapper Aligner">
<div class="card__front"></div>
</div>
</div>
<div class="event_card">
<div class="wrapper Aligner">
<div class="card__front"></div>
</div>
</div>
<div class="event_card">
<div class="wrapper Aligner">
<div class="card__front"></div>
</div>
</div>
</div>
</div>
</body>
</html>
Не могли бы вы, пожалуйста, помочь мне, рассказав, что не так и каким может быть решение?
Спасибо
Ответ №1:
Проблема, похоже, была связана с
flex: 1 0 345px;
-webkit-flex: 1 0 345px;
Я изменил это на
flex: 1 0 calc( 33.33333333% - 14px);
-webkit-flex: calc( 33.33333333% - 14px);