css – 如何制作,或列出显示表格数据作为表格?

前端之家收集整理的这篇文章主要介绍了css – 如何制作,或列出显示表格数据作为表格?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
首先,让我说,我已经看过其他回应,我意识到,对于表格数据,使用表格是最好的方法.我需要使用除表格之外的其他原因是因为我正在使用一个 jquery插件( Jquery UI可排序确切),这需要某些数据行嵌套在其他数据库中.我知道没有办法使用表,因此我需要使用另一个元素(我目前正在使用div).

我的数据是标准表格数据,每个数据是1个单元格.

Name  Address              
Bob   123 Main    edit_button  drag&drop_button
Joe   123 Fake    edit_button  drag&drop_button
Sue   456 Road    edit_button  drag&drop_button
Ann   123 Street  edit_button  drag&drop_button

在这个例子中,拖动Bob也会拖动Bob和Joe,他的团队.安只能在三个或三个以下的顶部移动,而Joe和Sue只能互相切换位置.

在html中,看起来像这样.

<div class="table">
    <div class="header">Header information</div>
    <div>
        <div class="row">Bob's information</div>
        <div>
            <div class="row">Joe's information</div>
            <div class="row">Sue's information</div>
        </div>
    </div>
    <div>
        <div class="row">Ann's information</div>
    </div>
</div>

据我所知,这种嵌套不能用表完成.

我不需要使用div,如果别的东西会更好的工作.

我的问题基本上是如何让这些信息以表格格式显示

目前,我最好的猜测是将每个数据元素(包括文件)放在具有固定宽度的div中(并根据外观需要应用边框),但这意味着“表”可能无法调整大小以最适合给出的信息.

我所做的另一个尝试,可以说是更麻烦的是,在每个“行”中都有一个新的表,其中包含一个不显示标题.这给我几乎看起来我想要的,但是如果名字不是确切的长度,那么一些间距是明显的.

感谢您的帮助.

附:
我希望实际的问题不是太具体,即使我认为我为什么一张桌子不起作用的理由似乎有点太具体了.

编辑:

有没有办法让以下工作能够使用表格呢?

<table>
    <thead>table header stuff</thead>
    <tbody>
        <mtne*>
            <tr>Bob's information</tr>
            <mtne>
                <tr>Joe's information</tr>
            </mtne>
            <mtne>
                <tr>Sue's information</tr>
            </mtne>
        </mtne>
        <mtne>
            <tr>Ann's information</tr>
        </mtne>
    </tbody>
</table>

* mtne =神话表嵌套元素.

编辑2:

经过进一步测试,我发现使用CSS来构造div的行为与表格有同样的问题.如果行没有彼此相邻放置,而有些行代替嵌套,则它们不共享宽度数据.由于时间限制,我不得不转而使用预设宽度的div.

对于任何可能来的人来说,使用treeTables可能有一些可能性,但是我还没有测试出来,需要继续前进.

解决方法

您可以使用CSS和div来模拟表格,并显示:table; display:table-row; display:table-cell;等等

​Working demo on jsFiddle

HTML:

<div class="table">
  <div class="header">
    <div class="cell">Name</div>
    <div class="cell">Address</div>
    <div class="cell">Action 1</div>
    <div class="cell">Action 2</div>
  </div>
  <div class="rowGroup">
    <div class="row">
      <div class="cell">Bob</div>
      <div class="cell">Address</div>
      <div class="cell">Button</div>
      <div class="cell">Another button</div>
    </div>
  </div>
  <div class="rowGroup">
    <div class="row">
      <div class="cell">Joe</div>
      <div class="cell">Address</div>
      <div class="cell">Button</div>
      <div class="cell">Another button</div>
    </div>
    <div class="row">
      <div class="cell">Sue</div>
      <div class="cell">Address</div>
      <div class="cell">Button</div>
      <div class="cell">Another button</div>
    </div>
  </div>
  <div class="rowGroup">
    <div class="row">
      <div class="cell">Ann</div>
      <div class="cell">Address</div>
      <div class="cell">Button</div>
      <div class="cell">Another button</div>
    </div>
  </div>
</div>

CSS:

.table {
    display:table;
}
.header {
    display:table-header-group;
    font-weight:bold;
}
.rowGroup {
    display:table-row-group;
}
.row {
    display:table-row;
}
.cell {
    display:table-cell;
    width:25%;
}

Supported by IE8+(这是一个CSS2.1功能)

进一步阅读:

> www.digital-web.com/articles/everything_you_know_about_CSS_Is_wrong/
> www.onenaught.com/posts/201/use-css-displaytable-for-layout
> www.w3.org/TR/CSS21/tables.html#table-display

猜你在找的CSS相关文章