У меня есть некоторая разметка в настраиваемом элементе, например,
<div class="competition">
<slot><slot>
<div id="compname">2019 Football Competition</div>
</div>
Когда нет содержимого со слотами, я бы хотел, чтобы эта панель выглядела так (ascii art)
---------------------------------------------------------------------
| 2019 Football Competition |
---------------------------------------------------------------------
который сосредоточен на одной линии. Я бы хотел, чтобы он оставался таким, если слот-контент не очень большой, поэтому, например, если слот-контент был настроен следующим образом
<my-competition-header>
<div>Joe Bloggs</div>
<div>2:14:16</div>
</my-competition-header>
, я заканчиваю что-то вроде этого
---------------------------------------------------------------------
| Joe Bloggs 2:14:16 2019 Football Competition |
---------------------------------------------------------------------
Это красиво распределено с пространством вокруг.
Немного, если бы контент был немного длиннее, так что не все подходило или устройство, отображающее его, было меньше, я бы хотел закончить с этим
---------------------------------------------------------------------
| 2019 |
| JoeBloggsHasVeryLongNameSUCHTHATITOVERFLOWS 2:14:16 Football |
| Competition |
---------------------------------------------------------------------
Я пробовал различные формы css, подобные этой (это решает мои первую и вторую проблемы, но разваливается на последней).
.competition
display: flex;
flex-direction: row;
justify-content: space-around;
align-items: center;
}
::slotted(*) {
flex: 1 0 0;
margin: 0 auto;
}
.competition>div#compname {
flex: 0 1 auto;
margin: 0;
}
На в последнем он заканчивается так:
---------------------------------------------------------------------
| 2019 |
|JoeBloggsHasVeryLongNameSUCHTHATITOVERFLOWS2:14:16Football |
| Competition |
---------------------------------------------------------------------
, и я не совсем понимаю, почему. Может ли кто-нибудь подсказать, как я могу решить эту проблему