Я сталкиваюсь с проблемой при разработке дерева каталогов, выполняемой через <ul>
, когда текст элемента превышает ширину контейнера.
Я использую библиотеку antd реагировать, поэтому у меня нет большой гибкости в создании сгенерированной разметки html без изменения кода библиотек. Тем не менее, у меня есть контроль над таблицей стилей.
Вот HTML-разметка, которую генерирует компонент Antd Tree Component (с некоторыми изменениями для удобства чтения):
<div id="container">
<ul>
<li>
<span class="myicon">
<i aria-label="icon: down" class="anticon anticon-down ant-tree-switcher-icon"><svg viewBox="64 64 896 896" class="" data-icon="down" width="1em" height="1em" fill="currentColor" aria-hidden="true" focusable="false"><path d="M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"></path></svg></i>
</span>
<span class="myTitle">
<span>Compliance, objectives and functional statments</span>
</span>
</li>
</ul>
</div>
Вот текущее css:
#container {
width: 260px; background-color: #f1f1f1;
}
.myicon, .myTitle, ul, li {
padding: 0;
margin: 0;
}
.myicon {
display: inline-block;
width: 44px;
line-height: 24px;
text-align: center;
vertical-align: top;
float:left;
}
.myTitle {
display: inline;
line-height: 24px;
vertical-align: top;
}
ul {
list-style: none;
height: 100%;
box-sizing: border-box;
font-size: 14px;
}
li {
white-space: break-spaces;
}
Скрипка: https://jsfiddle.net/gLqosjmp/6/
Что я пробовал?
- Создание
myicon
height
до абсурда, но это сказывается на последующем.
<li>
- Изменение
wrap
и white-space
и display
обоих классов - но я не смог успешно получить результат
Вот что это делает:
Текущий рендер
Вот что я хочу сделать: Targeted Render