Mit dem angegebenen Code wird dies bei Safari nicht funktionieren.
Der Grund ist ganz einfach, wie wenn Sie h-100
(height: 100% !important
) auf der inneren div
gesetzt, wird dieser Prozentwert auf der eingestellten Höhe des Elternteils basieren, die in diesem Fall keine hat, daher der berechnete Wert auto
sein wird.
Die anderen Browser scheinen die berechnete Höhe des Elements col-3
flex item und dessen align-items: stretch
zu verwenden, daher funktioniert es.
Diese Probe zeigt, dass, als ob Sie setzen align-items
zu flex-start
, es auch in den anderen Browsern fehl: https://plnkr.co/edit/LqSqK4j4GhpDbkc4E0i5?p=preview
Ein besserer Ansatz ist richtig Verwendung von Bootstrap 4 und dem Flexbox Modell zu machen, was in diesem Fall für Flex-Zeilenelemente align-items
ist. Sein Standardwert ist stretch
und macht genau dasselbe wie height: 100%
.
Und da es nicht alles, was Sie mit einem Blockelement zu tun, dass Sie nicht mit einem Flex-Elemente können einfach h-100
-w-100
und d-sm-block
-d-sm-flex
ändern und es wird funktionieren.
Updated plnkr
Stapel Snippet
<link data-require="[email protected]" data-semver="4.0.5" rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" />
<h1>Hello Plunker!</h1>
<div class="row">
<div class="col-3 d-none d-sm-flex">
<div class="w-100" style="background:red">
123123
</div>
</div>
<div class="col-3 d-none d-sm-flex">
asdasdasd <br> asdasdasd <br> asdasdasd
</div>
</div>
Ein besserer Ansatz als die Verwendung von w-100
(width: 100%
) wäre flex: 1
zu verwenden. Da die Regel von Bootstrap col
das tut, aber auch Padding hat, könntest du eine eigene erstellen, hier flex-1
genannt.
.flex-1 {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
https://plnkr.co/edit/ODeYcUgEDdZjysnCQSYB?p=preview
Oder verwenden col
mit einer neuen Regel combinded, die die Polsterung entfernt, hier genannt nopadding
.nopadding {
padding: 0;
}
https://plnkr.co/edit/jj07PrEVXDMW2eRLw4Ti?p=preview
Ich habe nicht Safari, so Ich kann es nicht selbst testen, also frage ich mich, ob das funktioniert bevor ich ein Posting mache Antwort: https://plnkr.co/edit/MlIfOIl6OKyPgtm9lTbQ?p=preview – LGSon
@LGSon nein nein nein. Bitte nicht ändern -block zu -flex – brabertaser19
Erstens, hat es funktioniert? ... Zweitens, erklären Sie, warum Sie blockieren müssen. – LGSon