URL для просмотра сайта HTML и CSS с исправленными / неработающими проблемами с выравниванием: http://jimmiheiserman.com/bannerDev/crossTest/
Я создаю несоответствующий эффект наслоения кирпичной кладки с элементами div разного размера, центрирую их с помощью flex, а затем полностью смещая ихвлево или вправо, чтобы получить их все на свои места.Кажется, он отлично работает в хороших браузерах (Chrome, FF, Edge, Safari 11, Chrome mobile, даже iOS 8 / Safari 11. Но в сломанных браузерах каждый div кажется привязанным к верхнему левому углу, а не к центру).-прибирается с макетом Flex. Затем, когда я настраиваюсь с левой стороны: -100px или что-то, они немного отключены; хуже для более широких divs.
Я приложил несколько скриншотов, чтобы показать, как это должно выглядеть,и как это выглядит в некоторых из этих неработающих состояний. Я читал о том, что у флекс-макета есть проблемы в <= IE11, но это также проявляется и в <= iPhone7, а также в некоторых старых мобильных устройствах Android. </p>
Какмакет корректно выглядит во многих современных браузерах.
Сломанная, не выровненная версия в IE11 и менее (и очень старые версии chrome и FF, но я не против этого).
Неисправный макет в iOS Safari 10 и ниже.
Возможно, есть чистое исправление, или, может быть, потребуется тонна переписать, я не знаю. Это демоИскусство более детализированного проекта, поэтому я надеюсь, что здесь будет более простое исправление, естественно, ха.
Я также сделал Codepen, но codepen иногда просто показывает сообщение о том, что браузер IE11 не поддерживается, поэтомуэто не так просто проверить на совместимость, но и здесь: https://codepen.io/jimmi_heiserman/pen/ZMoexQ?editors=1111 Может потребоваться просмотр в других браузерах, использующих / full / вместо / pen / HTML здесь:
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=920, user-scalable=yes" />
</head>
<body>
<div id="all-banners">
<div id="banner-edge-1" class="banner-container"></div>
<div id="banner-edge-2" class="banner-container"></div>
<div id="banner-edge-3" class="banner-container"></div>
<div id="banner-edge-4" class="banner-container"></div>
<div id="banner-edge-5" class="banner-container"></div>
<div id="banner-edge-6" class="banner-container"></div>
<div id="banner-edge-7" class="banner-container"></div>
<div id="banner-edge-8" class="banner-container"></div>
<div id="banner-1" class="banner-container banner-primary"></div>
<div id="banner-2" class="banner-container banner-primary"></div>
<div id="banner-3" class="banner-container banner-primary"></div>
<div id="banner-4" class="banner-container banner-primary"></div>
<div id="banner-5" class="banner-container banner-primary"></div>
<div id="banner-6" class="banner-container banner-primary"></div>
<div id="banner-7" class="banner-container banner-primary"></div>
<div id="banner-8" class="banner-container banner-primary"></div>
<div id="banner-9" class="banner-container banner-primary"></div>
</div>
</body>
</html>
и CSS:
html, body {
background: radial-gradient(circle, #fafafa, #444444);
margin: auto;
height: 100%;
overflow: hidden;
}
#all-banners {
display: flex;
justify-content: center;
}
.banner-container {
border-style: solid;
border-color: black;
border-radius: 10px;
border-width: 1px;
background-color: lavender;
position: absolute;
overflow: hidden;
}
.banner-primary {
background-color: #ffcccc;
}
#banner-1 {
width: 160px;
height: 800px;
transform:translate(-350px, 60px);
}
#banner-2 {
width: 120px;
height: 600px;
transform:translate(-200px, 60px);
}
#banner-3 {
width: 560px;
height: 90px;
transform:translate(150px, 60px);
}
#banner-4 {
width: 400px;
height: 300px;
transform:translate(70px, 160px);
}
#banner-5 {
width: 150px;
height: 70px;
transform:translate(355px, 160px);
}
#banner-6 {
width: 150px;
height: 620px;
transform:translate(355px, 240px);
}
#banner-7 {
width: 190px;
height: 190px;
transform:translate(-35px, 470px);
}
#banner-8 {
width: 200px;
height: 390px;
transform:translate(170px, 470px);
}
#banner-9 {
width: 320px;
height: 190px;
transform:translate(-100px, 670px);
}
#banner-edge-1 {
width: 1000px;
height: 200px;
transform: translate(-700px, -150px);
}
#banner-edge-2 {
width: 620px;
height: 100px;
transform: translate(120px, -50px);
}
#banner-edge-3 {
width: 1000px;
height: 400px;
transform: translate(940px, -50px);
}
#banner-edge-4 {
width: 1000px;
height: 500px;
transform: translate(940px, 360px);
}
#banner-edge-5 {
width: 1000px;
height: 1200px;
transform: translate(650px, 870px);
}
#banner-edge-6 {
width: 570px;
height: 1200px;
transform: translate(-145px, 870px);
}
#banner-edge-7 {
width: 1000px;
height: 1400px;
transform: translate(-940px, 560px);
}
#banner-edge-8 {
width: 1000px;
height: 490px;
transform: translate(-940px, 60px);
}