CSS - ширина внутреннего div во flex-контейнере при изменении ширины контейнера
Как мне добиться правильного поведения элемента? Использование flex не обязательно, это может быть grid или любой другой HTML код, дающий тот же результат.
В коде есть элемент примерно такого вида:
Контейнер может уменьшаться, в этом случае элемент должен приобретать следующий вид:
а не такой: , как получилось у меня.
Вот пример кода:
<head>
<style>
.container{padding: 0 10px 0 10px;display:flex;align-items: center;height:50px;border: 1px solid #B6CBCF;overflow:hidden;}
.containerWidth{width:170px;}
.myText{width: fit-content;border-right: 1px solid #B6CBCF;}
.myIcon{width:36px;}
.iconImitation{width: 16px;height:16px;background-color:red;
border-radius: 50%;margin-left: 10px;}
</style>
</head>
<body>
<div class="container containerWidth">
<div class="myText">twoWordsContain Text</div>
<div class="myIcon"><div class="iconImitation"></div></div>
</div>
</body>
Для тестирования можно менять в стиле .containerWidth
: width:170px
и width:220px
. В первом случае текст будет двустрочным, во втором - однострочным. Размеры даны для примера, в реальном коде я не знаю их заранее.
Если в стиле .myText
заменить fit-content
на min-content
, то в коротком варианте элементы расположатся правильно. Но в длинном текст будет оставаться двустрочным, этого не должно происходить.
UPDATE: Судя по аналогичному кейсу на английском stackoverflow, эта задача вообще не решается без JS. Все-таки оставлю вопрос пока открытым, там ответы семилетней давности, с тех пор могло появиться решение.