Relevant for tables such as Status Report and modules like WYSIWYG (the profiles installation instructions table) - these should not have borders on the td. See the screenshots (before and after) to see the issue - this actually looks quite bad on the status report because the icons are butting up against the border.

The easiest way to see this effect is to set your admin theme to Bartik and then look at your status report (admin/reports/status). To increase the contrast, you might want to change (with Firebug, for example) the CSS rule
tr td, tr th {border: 1px solid #fff;}
to
tr td, tr th {border: 1px solid #f00;}
Otherwise, the white border is hard to see.

I (BF) have supplied patches in comments 8 and 13. I describe the minor difference between the two patches in comment 11.

Comments

Jeff Burnz’s picture

Status: Active » Needs review

status...

betz’s picture

StatusFileSize
new505 bytes
new58.55 KB

the absence of a border on 1 row in a table where all other rows have such a border causes browsers to enlarge this row to make the entirety the same size, see screenshot

attached patch fixes this

betz’s picture

BTW in chrome the sticking out part was on the left, and in firefox on the right :)

Jeff Burnz’s picture

Status: Needs review » Needs work

We need some more thought on this, the patch in #2 seems to be special cased for status reports only, but the .merge-down class is used widely by many other tables, modules etc.

benjifisher’s picture

StatusFileSize
new610 bytes
new15.49 KB

I started with the original patch, then used the :first-child and :last-child selectors to restore the left and right borders to the first and last elements (td or th) in the row. These selectors will not work in IE (until IE9 comes out: see http://www.quirksmode.org/css/contents.html ). Heck, it is only one pixel!

I assume we want the same effect on th as on td.

What about top and bottom margins? We could count on never having two merge-down rows next to each other, but I decided to be cautious. Instead of removing the entire border from the td's, I just removed the left and right borders.

The results look good to me. See the attached screen shot: I used the browser (Chrome on a Mac) to change the background colors to make it easier to see the white borders (or lack thereof).

P.S. I should be more specific. When I say it will not work in IE, I mean it will work no better than the original patch. It may even work in IE7 and IE8: I have not tested. The "one pixel" I mentioned is the same one pointed out in Comment #2.

benjifisher’s picture

Status: Needs work » Needs review
StatusFileSize
new27.35 KB
new29.46 KB
new533 bytes

I have a better idea. I like it enough that I am bumping the status to "needs review."

I remove the left and right borders from tr.merge-down td and tr.merge-down th as in my previous patch. Then, I add the border back on three sides of tr.merge-down. See the results in the attached screen shot. In order to make it easier to see, I also attached a screen shot where I have made all the borders red instead of white.

The screen shots were made using Chrome 8 on a Mac. It looks the same with Firefox 3.6 and Safari 5.

benjifisher’s picture

StatusFileSize
new502 bytes

A little tweak. It should make no difference unless someone wants to override the theme, but since I do not change the top and bottom borders of the td and th elements, it makes sense not to change the top border of the tr.merge-down. No new screen shots, since they look exactly the same.

droplet’s picture

my patch #1001932: Clean up Status report CSS (and IE fix) fixed for IE (all themes). it may affect this patch.

benjifisher’s picture

Title: Remove borders for tr.merge-down td » Remove left and right borders for tr.merge-down td and tr.merge-down th
StatusFileSize
new20.23 KB
new21 KB

@droplet,
Thanks for the warning. Your patch only affects top and bottom borders, and mine only affects left and right borders, so there should not be any interference. Just to be sure, I applied your patch to a clean copy of Drupal, took a screen shot, applied my patch, and took another screen shot. Have a look.

I think I will change the issue title to emphasize this point.

benjifisher’s picture

IE6 prevents us from implementing a better solution.

One little problem with removing the (left and right) borders as in the patch (comment #8) is that it applies to all td and th elements inside a tr.merge-down, even if they are part of a nested table. For example,

<table class="system-status-report">
  <tr class="merge-down">
    <td>icon goes here</td>
    <td>
      <table><tr>
        <td>Where is my border?</td>
        <td>And mine?</td>
      </tr></table>
    </td>
    <td>status message</td>
  </tr>
  <tr class="merge-up">
    <td colspan="3">Longer message goes here.</td>
  </tr>
</table>

Clearly, we only want to play with the td and th elements that are direct descendants of the tr.merge-down, so we should use

tr.merge-down > td, tr.merge-down > th {
  border-left: none;
  border-right: none;
}

Unfortunately, IE6 does not recognize the > selector, so we cannot do that.

If anyone thinks we should inflict a barely perceptible 1px white border inside tr.merge-down on people still using IE6 in exchange for making life easier for future coders who want to nest a table inside the system status report, I will be happy to re-roll the patch.

Jeff Burnz’s picture

Looking good and no I don't think we need to support IE6 for this, its a small cosmetic difference only, nothing to get too worried about - time to move ahead and start using incredibly useful things like child selectors - we've been waiting years to do so, now is the hour.

benjifisher’s picture

StatusFileSize
new16.66 KB
new19.8 KB
new506 bytes

@Jeff Burnz,
Here is the patch using child selectors. I have also made new screen shots (using Chrome 8 on a Mac). See my previous comments for screen shots without any patches. These shots show the effect of my latest patch (looks the same as the one on comment #7). As before, I made one screen shot where I colored the borders red to make them stand out more.

benjifisher’s picture

It would be nice to have one of the patches (#8 or #13) committed and have this issue closed. See #11 for a discussion of the differences between the two patches.

sun’s picture

Version: 7.x-dev » 8.x-dev
Issue tags: +Front end

D8 core no longer cares for anything below IE8.

benjifisher’s picture

Issue tags: -Quick fix, -Front end

#13: 987982_13.patch queued for re-testing.

Status: Needs review » Needs work
Issue tags: +Quick fix, +Front end

The last submitted patch, 987982_13.patch, failed testing.

benjifisher’s picture

If we are bumping the version to 8.x, we will have to re-roll the patch and re-test. I do not have time for it now.

Need I add that it is frustrating to submit a patch and have it sit for more than 17 months, only to have it made obsolete?

If we no longer care about IE6, then let's work with the patch from #13 above.

benjifisher’s picture

Version: 8.x-dev » 7.x-dev
Status: Needs work » Needs review

There is no more tr.merge-down in the D8 version of Bartik, so nothing to fix. I am reverting the version to 7.x-dev.

If it is not worth fixing, then someone else can change the status to "closed, won't fix." If it is worth fixing, please use the patch in #8 if you want to cater to IE6 and otherwise use the patch in #13.

jessebeach’s picture

Status: Needs review » Closed (won't fix)

Closing as won't fix.

jessebeach’s picture

Issue summary: View changes

Since my name seems to have been attached to the summary, I thought I might as well update it.