Код Flexbox працює у всіх браузерах, крім Safari. Чому?


78

Стовпці сітки з тегами списку, мені потрібно відображати у правильному порядку на кожні 3 стовпці, з увімкненою автоматичною шириною для всіх додаткових елементів списку HTML.

Це мій приклад:

 <style>
        ul {
            margin: 0;
            padding: 0;
            display: -webkit-flex;
            display: flex;
            -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
            flex-wrap: wrap;
            -webkit-flex-direction: column;
            -ms-flex-direction: column;
            flex-direction: column;
            height: 150px;
            width:auto;
        }
    
        li {
            float: left;
            display: inline-block;
            list-style: none;
            position: relative;
            height: 50px;
            width: 50px;
        }
    </style>
<ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
    <li>6</li>
    <li>7</li>
    <li>8</li>
    <li>9</li>
    <li>10</li>
    <li>11</li>
    <li>12</li>
    </ul>
Це те , що я намагався до сих пір і працює абсолютно нормально на будь-якому іншому браузері , але не сумісний з браузером Safari , якщо я не додати це: display: -webkit-flex;.

Я хочу перетворити результат так:

1 4 7 10
2 5 8 11
3 6 9 12

Важливо, що я працюю з цим браузером Safari, поки що я, здається, взагалі не вирішую цю проблему, я б звернувся за будь-якою допомогою :)

Тестове посилання:

http://jsfiddle.net/rafcastro77/3zd7yspg/59/

Відповіді:


96

Flexbox - це технологія CSS3. Це означає, що він відносно новий, і деякі браузери не забезпечують повну підтримку властивостей flex.

Ось пробіг:

Повний огляд підтримки браузера flexbox див. На цій сторінці: http://caniuse.com/#search=flex

Для швидкого способу додавання багатьох (але не обов’язково всіх) префіксів постачальників використовуйте Autoprefixer . Щодо Safari, дивіться цю статтю, щоб дізнатися про -webkit-префікси, які деякі генератори префіксів не містять.

Список типових помилок flex та способи їх усунення див . У розділі Flexbugs .

Також на цьому сайті є:


25

Це працює для мене на дисплеї: -webkit-inline-box; в сафарі.


2
це працює; а як бути з іншими утилітами flex у сафарі?
user1608841

Я використовував це разом із спеціальним кодом націлювання для Safari (7.1+), щоб уникнути конфлікту з іншими браузерами. Дякую Саравана! ryadel.com/en/…
Керол Маккей
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.