在bootstrap中如何在不添加的情况下向行添加边框?

时间:2013-11-03 20:40:29

标签: css twitter-bootstrap border

我正在使用bootstrap 3.0.1版创建一个网格,当我在网格的行中添加一个边框时,我可以看到一起排在一起的边框,我得到一个更粗的边框。

这是我的代码:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>My Test</title>
    <!-- Bootstrap -->
    <link href="css/bootstrap.min.css" rel="stylesheet" media="screen">

    <style type="text/css">
      body {
        padding-top: 20px;
        padding-bottom: 40px;
      }

      .container {
        width: 420px;
      }

      div.row {
        border: 1px solid;
      }

    </style>
  </head>
  <body>
    <div class="container">
       <div class="row heading">
        <div class="col-md-12">Header</div>
      </div>
      <div class="row subheading">
        <div class="col-md-12">Some text</div>
      </div>
      <div class="row footer">
        <div class="col-md-12">Footer</div>
      </div>
    </div>
  </body>
</html>

这就是I get 。 如何在没有相邻行添加边框的情况下使用边框?,即:我希望所有行都具有1px的边框。

谢谢

4 个答案:

答案 0 :(得分:40)

如果元素是行的兄弟,则可以从顶部删除边框。 将其添加到css:

.row + .row {
   border-top:0;
}

以下是小提琴http://jsfiddle.net/7cb3Y/3/

的链接

答案 1 :(得分:17)

这是一个解决方案:

div.row { 
  border: 1px solid;
  border-bottom: 0px;
}
.container div.row:last-child {
  border-bottom: 1px solid;
}

我不是100%它最有效率,但它有效:D

http://jsfiddle.net/aaronmallen/7cb3Y/2/

答案 2 :(得分:2)

在我的项目中,我将所有行分配给&#34; border&#34;我希望它显示更像是一个边界均匀的桌子。为每个子元素提供一个底部和右边的边框,每行的第一个元素左边框将使所有的框具有均匀的边框:

首先为所有行设置一个右边和底部的边框

.borders div{
    border-right:1px solid #999;
    border-bottom:1px solid #999;
}

接下来给出每个或左边框的第一个孩子

.borders div:first-child{
    border-left:
    1px solid #999;
}

最后确保清除其子元素的边框

.borders div > div{
    border:0;
}

HTML:

<div class="row borders">
    <div class="col-xs-5 col-md-2">Email</div>
    <div class="col-xs-7 col-md-4">my@email.com</div>
    <div class="col-xs-5 col-md-2">Phone</div>
    <div class="col-xs-7 col-md-4">555-123-4567</div>
</div>

答案 3 :(得分:1)

您可以将1px边框添加到每行的边和底部。第一个值是顶部边框,第二个是右边框,第三个是底部边框,第四个是左边框。

div.row {
  border: 0px 1px 1px 1px solid;
}