我有一个项目列表,它将占用两行或更多行。
当它超过 div 的宽度时,它会像下面的示例一样换行到下一行。
如何使第二行开始与Item1对齐并且可以响应式完成?
ul li {
display: inline-block;
}Run Code Online (Sandbox Code Playgroud)
<ul>
<li><strong>List of items:</strong></li>
<li><a href="#">Item1</a></li>
<li><a href="#">Item2</a></li>
<li><a href="#">Item3</a></li>
<li><a href="#">Item4</a></li>
<li><a href="#">Item5</a></li>
<li><a href="#">Item6</a></li>
<li><a href="#">Item7</a></li>
</ul>Run Code Online (Sandbox Code Playgroud)
您的无序列表的标题似乎是List of items。从语义上讲,它应该移动到无序列表本身之外的标题元素中。
然后你可以在包装元素上使用 flexbox 来垂直对齐它的子元素(标题和无序列表)。
.wrapper {
display: flex;
align-items: flex-start;
}
ul li {
display: inline-block;
margin-right: 0.5em;
}
h2, li {font-size: 16px}
h2 {flex-shrink: 0;}
h2, ul {margin: 0;}
ul {padding-left: 0.5em;}Run Code Online (Sandbox Code Playgroud)
<div class="wrapper">
<h2>List of items:</h2>
<ul>
<li><a href="#">Item1</a></li><li><a href="#">Item2</a></li><li><a href="#">Item3</a></li><li><a href="#">Item4</a></li><li><a href="#">Item5</a></li><li><a href="#">Item6</a></li><li><a href="#">Item7</a></li><li><a href="#">Item8</a></li><li><a href="#">Item9</a></li><li><a href="#">Item10</a></li><li><a href="#">Item11</a></li><li><a href="#">Item12</a></li><li><a href="#">Item13</a></li>
</ul>
</div>Run Code Online (Sandbox Code Playgroud)