使输入字段看起来像bootstrap 3中的表格单元格

时间:2022-08-24 20:16:57

I have a table in bootstrap 3

我在bootstrap 3中有一张表

<table class="table table-bordered table-condensed">
    <tbody>
        <tr>
           <td><input type="text" class="form-control" /></td>
           <td><input type="text" class="form-control" /></td>
           <td><input type="text" class="form-control" /></td>
           <td><input type="text" class="form-control" /></td>
           <td><input type="text" class="form-control" /></td>
           <td><input type="text" class="form-control" /></td>
        </tr>
    </tbody>
</table>

Can I make the input fields look like normal cells? I want the input fields to fill out the entire cells (without no input margin nor table cell padding). Just like an Excel spreadsheet where I have many cells and can write in each of them.

我可以使输入字段看起来像普通单元格吗?我希望输入字段填写整个单元格(没有输入边距也没有表格单元格填充)。就像Excel电子表格一样,我有很多单元格,可以在每个单元格中写入。

2 个解决方案

#1


14  

Yup. Do it this way:

对。这样做:

input {display: block; padding: 0; margin: 0; border: 0; width: 100%;}
td {margin: 0; padding: 0;}

Fiddle: http://jsbin.com/biqomurafage/1

#2


10  

You could also try using contentEditable tables like this: DEMO

您也可以尝试使用这样的contentEditable表:DEMO

<table>
    <tbody>
        <tr>
            <th></th>
            <th>A</th>
            <th>B</th>
            <th>C</th>
        </tr>
        <tr>
            <th>1</th>
            <td><span id="A1" contenteditable>#####</span></td>
            <td><span id="B1" contenteditable></span></td>
            <td><span id="C1" contenteditable></span></td>
        </tr>
        <tr>
            <th>2</th>
            <td><span id="A2" contenteditable></span></td>
            <td><span id="B2" contenteditable></span></td>
            <td><span id="C2" contenteditable></span></td>
        </tr>
    </tbody>
</table>

span {
    width: 100%;
    display: block;
}

*note, the content editable spans are required for IE to handle the contentEditable attributes correctly. Reference

*请注意,IE需要内容可编辑的跨度才能正确处理contentEditable属性。参考

#1


14  

Yup. Do it this way:

对。这样做:

input {display: block; padding: 0; margin: 0; border: 0; width: 100%;}
td {margin: 0; padding: 0;}

Fiddle: http://jsbin.com/biqomurafage/1

#2


10  

You could also try using contentEditable tables like this: DEMO

您也可以尝试使用这样的contentEditable表:DEMO

<table>
    <tbody>
        <tr>
            <th></th>
            <th>A</th>
            <th>B</th>
            <th>C</th>
        </tr>
        <tr>
            <th>1</th>
            <td><span id="A1" contenteditable>#####</span></td>
            <td><span id="B1" contenteditable></span></td>
            <td><span id="C1" contenteditable></span></td>
        </tr>
        <tr>
            <th>2</th>
            <td><span id="A2" contenteditable></span></td>
            <td><span id="B2" contenteditable></span></td>
            <td><span id="C2" contenteditable></span></td>
        </tr>
    </tbody>
</table>

span {
    width: 100%;
    display: block;
}

*note, the content editable spans are required for IE to handle the contentEditable attributes correctly. Reference

*请注意,IE需要内容可编辑的跨度才能正确处理contentEditable属性。参考