Столбец Flex, сжимающийся с помощью textarea [duplicate]

Вам нужно установить position на absolute или relative:

#inner {
   width: 400px;
   height: 300px;
   background-color: #090;
   position: absolute;
   left: 50%;
}
14
задан TylerH 22 September 2017 в 16:23
поделиться

5 ответов

Как и в ответе @Michael_B, ограничьте рост с помощью свойства Flexbox flex: flex: 0 1 (1/n - b), принятого в%, где n - количество элементов гибкости в строке, а b - это промежуток, который вы хотите для просмотра элементов гибкости в IE.

На элементах flex вместе с flex свойство выше используется свойство max-width с процентным значением 1/n - b.

В вашем случае обобщенный CSS для элемента flex будет выглядеть следующим образом:

li {
    // ... the remaining code from your snippet
    // Calculate the following manually and insert or use CSS preprocessor that does math for you.
    // See the formula explanation above.
    max-width: (your flex container max-width / 2) * 100% - b; 
    flex: 0 1 (your flex container max-width / 2) * 100% - b;
}

В реальном случае с 5 элементами / строкой будут (1/5) * 100% - 1% = 19% => max-width: 19% и flex: 0 1 19%;.

Поиграйте с параметром b, чтобы сделать гибкие элементы достаточно короткими, чтобы работать flex: wrap;.

0
ответ дан bob-12345 15 August 2018 в 16:25
поделиться

Для меня использование

  flex: 1 1 auto;

вместо

  flex: 1;

решило проблему flex в IE 11.

6
ответ дан Embedded_Mugs 15 August 2018 в 16:25
поделиться
  • 1
    Ну, вот что Вместо flex: 1 использование flex: auto означает, что flex: auto точно соответствует этому, flex: 1 1 auto – LGSon 30 November 2017 в 08:43

Просто используйте flex:1 0 auto;. Он будет работать.

0
ответ дан Melebius 15 August 2018 в 16:25
поделиться

У IE проблема с анализом свойства flex.

Вот несколько обходных решений, которые сработали для меня:

  • Используйте долгосрочные свойства вместо стенография. Вместо чего-то вроде этого: flex: 0 0 35%. Попробуйте следующее: flex-grow: 0 flex-shrink: 0 flex-basis: 35%



  • Вместо flex: 1 используйте flex: auto (или добавьте в flex-basis: auto) Если вы используете flex: 1 в flex-direction: row ] (например, на более крупных экранах), и вы переключитесь на flex-direction: column в запросе на медиа (скажем, для мобильных устройств), вы можете обнаружить, что ваши элементы гибки обрушиваются. В запросе на медиатеку добавьте flex-basis: auto. Это переопределит значение flex-basis в правиле flex: 1 (обычно это 0, 0px или 0%, в зависимости от браузера). Использование flex: auto должно также работать, что мало для: flex-grow: 1 flex-shrink: 1 flex-basis: auto

  • Использовать старую моду width / height вместо flex.

  • Используйте макет block вместо макета flex. Вам не нужно полностью отказаться от гибкого макета. Но для конкретного контейнера вы можете выполнить работу с display: block вместо display: flex; flex-direction: column. Например, при необходимости использовать трюк padding для интерактивного встраивания видео в гибкий элемент, препятствие, с которым я столкнулся, состояло в том, что некоторые браузеры плохо работают с процентным заполнением (или маржи) в гибком контейнере . Чтобы это сработало, я переключил значение display на элемент flex из этого:
    /* a flex item, also a nested flex container */
    #footer-container > article {
        display: flex;
        flex-direction: column;
    }
    
    на это:
    #footer-container > article {
        display: block;
    }
    
17
ответ дан Michael_B 15 August 2018 в 16:25
поделиться
0
ответ дан Ivan Aracki 28 October 2018 в 23:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: