В настоящее время я пытаюсь создать гибкий макет, который должен иметь 3 возможных дочерних элемента:
- Если у оболочки есть только одинкнопка, она должна иметь полную ширину обертки.
- Если у обертки есть два дочерних элемента, последняя должна иметь максимальную ширину 75 пикселей, а первая должна заполнять доступное пространство.
- Если у оболочки есть все три дочерних элемента, первая строка должна быть такой же, как в предыдущем примере, но последний дочерний элемент должен быть в следующей строке с шириной 100%.
Я построил эту сеткумакет, но мне нужно изменить его на гибкий из-за совместимости некоторых браузеров.Как я могу это сделать?Я много пробовал, но результат всегда плохой.
.wrapper {
width: 60%;
display: grid;
display: -ms-grid;
grid-template-columns: 1fr 75px;
text-align: center;
position: relative;
margin-bottom: 20px;
}
.wrapper div+div {
margin-left: 6px;
}
.wrapper div {
background-color: yellow;
padding: .6em 1em;
text-align: center;
}
.wrapper div.show.single-button {
grid-column: 1/span 2;
}
.wrapper div.cancel {
grid-column: 1/span 2;
-ms-grid-row: 2;
-ms-grid-column-span: 2;
margin-top: 6px;
margin-left: 0;
}
<div class="wrapper">
<div class="show single-button">Show</div>
</div>
<div class="wrapper">
<div class="show">Show</div>
<div class="invoice">Invoice</div>
</div>
<div class="wrapper">
<div class="show">Show</div>
<div class="invoice">Invoice</div>
<div class="cancel">Cancel</div>
</div>