title: Thick dynamic borders in table cause visual glitches in Chrome?
body: <p>I have a simple dynamic border that seems to work fine in IE and Firefox but in Chrome it <em>sometimes</em> seems to get an odd double-thick border.  I can't see any difference in CSS and I can't seem to hone in on what exactly is causing that particular border to go double-thick but I have managed to create a CodePen that demonstrates the issue.  Any idea if this an issue with Chrome or am I doing something wrong with my CSS?</p>
  
  <p>In the pen, if you follow the directions then you should get a cell with a double thick border on top like this:</p>
  
  <p><a href="https://i.stack.imgur.com/ayydK.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/ayydK.png" alt="messed up border"></a></p>
  
  <p><a href="https://codepen.io/melman2002/pen/QgREvz" rel="nofollow noreferrer">CodePen</a>
  <div class="snippet" data-lang="js" data-hide="true" data-console="false" data-babel="false">
  <div class="snippet-code snippet-currently-hidden">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>    angular.module("myApp", []);
  (function() {
    "use strict";
  
    angular.module("myApp").controller("demoController", demoController);
    demoController.$inject = ["$scope"];
    function demoController($scope) {
      $scope.model = {selected: []};
      $scope.select = function(id) {
        $scope.model.selected[id] = !$scope.model.selected[id];
      };
    }
  })();</code></pre>
  <pre class="snippet-code-css lang-css prettyprint-override"><code>  tr.border-selected &gt; td:not(:first-child) {
    border-top-color: #4182c2;
    border-top-width: thick;
    border-bottom-color: #4182c2;
    border-bottom-width: thick;
  }
  tr.border-selected &gt; td:nth-child(2) {
    border-left-color: #4182c2;
    border-left-width: thick;
  }
  tr.border-selected &gt; td:last-child {
    border-right-color: #4182c2;
    border-right-width: thick;
  }
  
  th {
    text-align: center;
  }</code></pre>
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;div ng-app="myApp"&gt;
    &lt;div ng-controller="demoController"&gt;
      &lt;h2 class="page-header"&gt;Chrome border glitch&lt;/h2&gt;
        &lt;div class="bs-callout bs-callout-info"&gt;
          &lt;h4&gt;Overview&lt;/h4&gt;
          &lt;p&gt;Adjust the bottom frame until it has a vertical scrollbar and then click on 1009 and you'll see how chrome seems to bungle the borders in the "Opened by" column. If another row is then selected (by clicking on it) then it seems to work correctly.&lt;/p&gt;
        &lt;/div&gt;
      &lt;div&gt;
        &lt;table class="table table-condensed table-bordered table-striped"&gt;
          &lt;thead&gt;
            &lt;tr&gt;
              &lt;th&gt;#&lt;/th&gt;
              &lt;th&gt;Theme&lt;/th&gt;
              &lt;th&gt;Opened by&lt;/th&gt;
              &lt;th&gt;Updated&lt;/th&gt;
            &lt;/tr&gt;
          &lt;/thead&gt;
          &lt;tr ng-class="{'border-selected': model.selected[1010] === true}"&gt;
            &lt;td ng-click="select(1010)"&gt;
              1010
            &lt;/td&gt;
            &lt;td ng-click="select(1010)"&gt;
              404 of "paper.html" and "header.html" when rendering ng-table
            &lt;/td&gt;
            &lt;td ng-click="select(1010)"&gt;
              329530588
            &lt;/td&gt;
            &lt;td ng-click="select(1010)"&gt;
              Jul 13, 2017 2:47:23 AM
            &lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr ng-class="{'border-selected': model.selected[1009] === true}"&gt;
            &lt;td ng-click="select(1009)"&gt;
              1009
            &lt;/td&gt;
            &lt;td ng-click="select(1009)"&gt;
              ReferenceError: NgTableParams is not defined
            &lt;/td&gt;
            &lt;td ng-click="select(1009)"&gt;
              weiwanying
            &lt;/td&gt;
            &lt;td ng-click="select(1009)"&gt;
              Jul 12, 2017 9:48:30 PM
            &lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr ng-class="{'border-selected': model.selected[1008] === true}"&gt;
            &lt;td ng-click="select(1008)"&gt;
              1008
            &lt;/td&gt;
            &lt;td ng-click="select(1008)"&gt;
              ng-table fixed header and scroll not working
            &lt;/td&gt;
            &lt;td ng-click="select(1008)"&gt;
              Ramlanka7
            &lt;/td&gt;
            &lt;td ng-click="select(1008)"&gt;
              Jul 11, 2017 11:05:27 AM
            &lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr ng-class="{'border-selected': model.selected[1007] === true}"&gt;
            &lt;td ng-click="select(1007)"&gt;
              1007
            &lt;/td&gt;
            &lt;td ng-click="select(1007)"&gt;
              Accessibillity and wcag violation: filter input field form element don't have any label
            &lt;/td&gt;
            &lt;td ng-click="select(1007)"&gt;
              QuBaR
            &lt;/td&gt;
            &lt;td ng-click="select(1007)"&gt;
              Jul 7, 2017 2:47:13 AM
            &lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr ng-class="{'border-selected': model.selected[1006] === true}"&gt;
            &lt;td ng-click="select(1006)"&gt;
              1006
            &lt;/td&gt;
            &lt;td ng-click="select(1006)"&gt;
              does not reload filter data in NgTableParams
            &lt;/td&gt;
            &lt;td ng-click="select(1006)"&gt;
              gaurav2086
            &lt;/td&gt;
            &lt;td ng-click="select(1006)"&gt;
              Jul 11, 2017 8:09:03 AM
            &lt;/td&gt;
          &lt;/tr&gt;
        &lt;/table&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;</code></pre>
  </div>
  </div>
  </p>
  
  <p><strong>Edit:</strong> Removed <code>ng-table</code> parts from pen to simplify the JavaScript.</p>