CSS 水平列表适合 UL,宽度可变

标签 css list horizontallist

有没有更好的方法来编写水平列表,其中列表项是可变的并且最后一个列表项右对齐。我已对其进行设置,以便在长文本项的中心断开单词。

优点:

  • 一切都在同一条线上
  • 符合 UL

缺点:

  • 分词,在这种情况下,文本难以阅读
  • 修改 LI first-child 使其向左浮动以折叠其宽度

这是 Fiddle !

<ul class="horizontal">
    <li>
        <i class="fa fa-picture-o fa-3x"></i>
    </li>
    <li>My Title
        <br/>
        <a href="#" class="break-all" title="This long title - 9" rel="tooltip" data-toggle="tooltip" data-placement="bottom">This long title - 9</a>
        <span>(87)</span>
    </li>
    <li>
        <a href="#">Change</a>
    </li>
</ul>

ul.horizontal {
margin:0;
padding:0;
width:100%;
}

ul.horizontal > li {
list-style:none;
display:table-cell;
vertical-align:top;
margin:0;
padding:2px;
}
ul.horizontal > li:first-child {
float:left;
}
ul.horizontal > li:last-child {
width:1%;
}
ul.horizontal > li > a {
outline:none;
text-decoration:underline;
color: #444;
}
ul.horizontal > li.vertical-middle {
line-height: 40px;
}
.break-all{ 
word-break:break-all;
}

/* misc */
ul {
font: normal 0.9em/1.5em arial, geneva, sans;
}

最佳答案

当然还有 flexbox

* {
  margin: 0;
  padding: 0;
}

ul {
  list-style-type: none;
  display: flex;
  align-content: center;
  margin: 10px;
}

li {
  flex:1;
  border:1px solid green;
  text-align: center;
}

li:first-child,
li:last-child {
  flex: 0 0 auto;
  display: flex;
 align-items: center;
}

li:nth-child(2) {
  text-align:left;  
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.4.0/css/font-awesome.css" rel="stylesheet"/>
<ul class="horizontal">
  <li>
    <i class="fa fa-picture-o fa-3x"></i>
  </li>
  <li><p>My Title</p>
    <a href="#" class="break-all" title="This long title - 9" rel="tooltip" data-toggle="tooltip" data-placement="bottom">This long title - 9</a>
    <span>(87)</span>
  </li>
  <li>
    <a href="#">Change</a>
  </li>
</ul>

关于CSS 水平列表适合 UL,宽度可变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31927954/

相关文章:

JQuery - 在选择器中获取 css 属性

java - 如何在 SQL Java 中将列表值作为参数传递

html - UL不停留在一条线上

android - Horizo​​ntalListView - 自定义图像- TextView

javascript - 几秒钟后 Jquery animation() 响应非常缓慢

html - d3 svg Angular 2 typescript 中的圆零大小

javascript - 选择行在 IE 中不显示正确数量的选定行

list - 将多个参数传递给 map 的 func 参数

c++ - STL 列表迭代器的问题

flutter - 没有明确高度的水平 ListView flutter