如何使用 CSS 使表格以自定义格式显示?

发布于 2024-12-11 12:32:59 字数 166 浏览 0 评论 0 原文

在此处输入图像描述

我正在尝试制作一个由 RAILS 以默认格式自动生成的表格来查看我想要它使用CSS。

即,如果您查看了图像,我希望第三列显示为 row 。这可以通过 CSS 实现吗?

enter image description here

I am trying to make a table which is automatically generated by RAILS in the default format to look in the way I want it using CSS.

I.e. If you have looked into the image, I want the third column to appear as a row . Is this Possible through CSS ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

笑红尘 2024-12-18 12:32:59

使用 JavaScript,重新设计表格的样式非常容易。假设您的表名为 your-table。选择表格,将最后一个单元格移动到新创建的行,然后将该行插入到当前行之后。

由于您要向表中添加行,因此请确保从表的末尾开始。如果您使用for(var i=0; i,您的页面将陷入无限循环。

Fiddle: http://jsfiddle.net/QP8ga/

function refactorTable(table){
    var rows = table.rows;
    for(var i=rows.length-1; i>=0; i--){
        var tr = document.createElement("tr");
        var td = rows[i].cells[2];
        td.colSpan = "2";
        tr.appendChild(td);
        rows[i].parentNode.insertBefore(tr, rows[i].nextSibling)
    }
}
window.onload = function(){
    var table_IDs = ["your-table", "another-table"];
    for(var i=0; i<table_IDs.length; i++) refactorTable(table_IDs[i]);
}

修改之前的代码支持多个表。小提琴显示了一张表的基本示例。

Using JavaScript, restyling your table is pretty easy. Let's assume that your table is called your-table. Select your table, and move the last cell to a newly created row, and insert the row after the current row.

Because you're adding rows to the table, make sure that you start at the end of the table. If you use for(var i=0; i<rows.length; i++), your page will get in an infinite loop.

Fiddle: http://jsfiddle.net/QP8ga/

function refactorTable(table){
    var rows = table.rows;
    for(var i=rows.length-1; i>=0; i--){
        var tr = document.createElement("tr");
        var td = rows[i].cells[2];
        td.colSpan = "2";
        tr.appendChild(td);
        rows[i].parentNode.insertBefore(tr, rows[i].nextSibling)
    }
}
window.onload = function(){
    var table_IDs = ["your-table", "another-table"];
    for(var i=0; i<table_IDs.length; i++) refactorTable(table_IDs[i]);
}

The previous code is modified to support multiple tables. The fiddle shows the basic example with one table.

童话里做英雄 2024-12-18 12:32:59

作为一项学术练习,这里有一个纯 CSS 解决方案。遗憾的是,它只能在正确支持现代 CSS 的浏览器中运行。不支持 IE。

th { 
    display:none; 
}

table, tbody, tr, td { 
    display:block; 
    -moz-box-sizing:border-box; 
    -webkit-box-sizing:border-box; 
    box-sizing:border-box; 
    border : 0px solid black;
}

table { 
    border-width : 1px 1px 0px; 
}

td:nth-child(1) { 
    width :50%; 
    float:left; 
}

td:nth-child(2) { 
    width :50%; 
    float:left; 
    border-left-width: 1px;
}

td:nth-child(3) { 
    clear:both; 
    border-width: 1px 0px; 
}

请参阅http://jsfiddle.net/FjBdL/5/

As an academic exercise, here's a pure CSS solution. Sadly, it will only work in browsers that properly support modern CSS. No IE support.

th { 
    display:none; 
}

table, tbody, tr, td { 
    display:block; 
    -moz-box-sizing:border-box; 
    -webkit-box-sizing:border-box; 
    box-sizing:border-box; 
    border : 0px solid black;
}

table { 
    border-width : 1px 1px 0px; 
}

td:nth-child(1) { 
    width :50%; 
    float:left; 
}

td:nth-child(2) { 
    width :50%; 
    float:left; 
    border-left-width: 1px;
}

td:nth-child(3) { 
    clear:both; 
    border-width: 1px 0px; 
}

See http://jsfiddle.net/FjBdL/5/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文