【问题标题】:How to add a right border to only one colum when using css bootstrap?使用css bootstrap时如何只为一列添加右边框?
【发布时间】:2016-04-04 23:14:56
【问题描述】:

我正在尝试在我的项目中使用css bootstrap framework

我正在使用带有以下类的表table table-bordered table-striped

我想从除第一列之外的所有列中删除边框。

这是我在提琴手里的桌子https://jsfiddle.net/8yf0v3xt/16/

基本上在这个截图中,我只想去掉红色矩形边框中的垂直边框。

<table class="table table-bordered table-striped">
<thead>
  <tr><th></th><th></th>...</tr>
</thead>
<tbody>
<tr><th score="row"><th></td><td></td>...</tr>
...
</tbody>
</table>

已编辑

或者,如果我删除了表格边框类,我怎么才能只在第一列上添加一列?像这样的截图

我该怎么做?

【问题讨论】:

  • @Jay 非常接近!我想保持水平行。我只想删除垂直行
  • @Jay 谢谢。这正是我正在寻找的。你能回答这个问题并解释你是怎么做到的吗?我会接受你的回答。非常感谢
  • @Jay 谢谢。是否有可能消除使用的表格边框类,而只在第一列添加边框?为了清楚起见,我还更新了我的问题

标签: html twitter-bootstrap css html-table


【解决方案1】:

您需要查看:first-child 伪选择器。 Link here

:first-child 选择器用于选择指定的选择器,仅当它是其父级的第一个子级时。

您可以选择所有td 元素并从它们中删除边框:

table tr td { border: none; }

然后为第一个元素添加独特的样式:

table tr td:first-child { border: default; } /* Or whatever styling you may wish..

:last-child 也可以这样做,它当然会选择与第一个元素相反的最后一个元素。

如果您需要再次更具体。您可以使用:nth-child(x),其中 x 是您想要的元素的编号。

小提琴:https://jsfiddle.net/8yf0v3xt/18/

更新

小提琴:https://jsfiddle.net/8yf0v3xt/22/

我删除了 .table-bordered 类并添加了以下 CSS:

table { border: 1px solid #ddd; }
table.table tr, table.table tr th, table.table tr td { border: none; }
table.table tr th:first-child, table.table tr td:first-child { border: 1px solid #ddd; }

我已经使用了上面解释的伪选择器将样式添加到第一列。

【讨论】:

  • 谢谢。第二个小提琴不正确。我需要消除外边框,保持水平边框
  • 谢谢。我想我把问题复杂化了。我删除了边界类,然后在第一列我添加了这个代码style="border-right: 1px solid #ddd;",它也做到了。谢谢你的帮助:)
  • @MikeA 没问题。快乐编码 =)
猜你喜欢
  • 1970-01-01
  • 2014-06-30
  • 1970-01-01
  • 1970-01-01
  • 2013-02-23
  • 1970-01-01
  • 1970-01-01
  • 2019-06-10
  • 1970-01-01
相关资源
最近更新 更多