全栈工程师不仅仅是写代码,还需要考虑页面设计和布局优化

188 阅读1分钟

最近接到这样一个运营需求,需要展示各个充值档首充用户后续复充计数统计,需求如下图所示: image.png

看到此表,作为全栈工程师,首选需要考虑的是如何设计一个能高效展示数据的页面,如果简单的使用Table表格去实现这个那必然是特别浪费空间的,因为表格只需要3列就行。 然后是数据值的展示,特别是数目较多行较多时候,我们人眼对数字会出现疲惫感,我想应该使用一种图表形式来同时展示数值的大小,使其一目了然。

通过不断调整,小编使用了瀑布流+行背景条的展示方式,最终结果如下图:

image.png

瀑布流是CSS写法如下:

.list{
  width: 100%; // 默认宽度
  margin: 6px auto; // 居中
  column-count: 4; // 默认列数
  column-gap: 10px; // 列间距
}
.item{
    border-radius: 5px;
    box-shadow: 1px 1px 2px #ddd;
    width: 100%;
    break-inside: avoid;
}

主要用到了columns默认列数column-gap列间距和break-inside这三个属性,如果需要设置响应式加上不同媒介显示宽度对应的列数值就行了:

@media (min-width: XXXpx) and (max-width: XXXpx) {
    .list {
        column-count: 3;
    }
}
...

css的瀑布流只能使用纵向的排列,如果需要使用横向排列,那只能使用js加绝对定位计算来实现了,这里就css简单实现下就可以了