Closed Bug 980595 Opened 9 years ago Closed 9 years ago

CSS outline not working on col element

Categories

(Core :: Layout: Tables, defect)

29 Branch
defect
Not set
normal

Tracking

()

RESOLVED INVALID

People

(Reporter: codacodercodacoder, Unassigned)

References

(Depends on 1 open bug)

Details

User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0 (Beta/Release)
Build ID: 20140212131424

Steps to reproduce:

In devtools inspector, added outline:5px solid green; to a col element


Actual results:

nothing


Expected results:

col should have had an outline drawn over it
Version: 27 Branch → 29 Branch
Component: Untriaged → Developer Tools: Inspector
Component: Developer Tools: Inspector → Layout: Tables
Product: Firefox → Core
I've been able to reproduce worse than that. Here's a list of CSS properties that don't work (not just by using the inspector) :
- border
- outline
- box-shadow
- text-align
Status: UNCONFIRMED → NEW
Ever confirmed: true
OS: Windows 7 → All
Hardware: x86_64 → All
The <col> element is not deprecated yet in HTML 5 (it's a Candidate Recommendation), I think it's worth it to implement this. What do you think ?
Flags: needinfo?(dbaron)
Summary: CSS outline not working on col element → Some CSS properties don't work on the <col> element
text-align shouldn't work because it's an inherited property and columns aren't ancestor of the table cells (though some argue that similar HTML attributes shouldn't work, except for borders in the collapsed borders model (which work), per the CSS table model.  There really isn't a reasonable way to make them work that's worth the effort.  Semantic column selectors are likely to be the more future-friendly way for styling columns -- and possibly other layout systems like grid if you're using table display types for layout rather than tabular data.
Status: NEW → RESOLVED
Closed: 9 years ago
Flags: needinfo?(dbaron)
Resolution: --- → INVALID
Resolved? Invalid? That's <<speechless>>
(In reply to David Baron [:dbaron] (needinfo? me) (UTC-7) from comment #3)
> text-align shouldn't work because it's an inherited property and columns
> aren't ancestor of the table cells (though some argue that similar HTML
> attributes shouldn't work, except for borders in the collapsed borders model
> (which work), per the CSS table model.  There really isn't a reasonable way
> to make them work that's worth the effort.

COL is not deprecated. COL is not documented as deprecated on MDN. It should not be ignored like some weird cousin you keep loacked in the attic - it should be fixed and made to work.

> Semantic column selectors are
> likely to be the more future-friendly way for styling columns -- and
> possibly other layout systems like grid...

You fail to realize in offering up alternatives that some devs are delivered a set of HTML and pre-existing CSS over which they have no control.  This is the case here.

> if you're using table display types
> for layout rather than tabular data.

It's tabular data in a TABLE and I need COL, working.  The only thing "invalid" here is this dismissive response.  Sorry.
Russ, http://www.w3.org/TR/CSS21/tables.html#columns is very clear about which properties apply to columns, and we implement that specification.
Well, depends which page you want to use to back you up; http://www.w3.org/TR/CSS21/ui.html#propdef-outline - see "Applies to: all elements". Yours is unambiguous and so is mine.  But since MDN *says* all elements too and that statement (I would guess) was drawn from the spec too, *and* if what you say is true, you have not implemented the spec.

Waiting for someone else to chime in with "ah but COL is not really an element..."

:/
I agree the spec is a bit self-contradictory here.  The "applies to" lines in CSS2.1 are often wrong, unfortunately.  :(
That said, it would in fact be possible to define a sane behavior for "outline" on table columns.  David, should that be done?
Flags: needinfo?(dbaron)
I suppose so.  Do other browsers do anything for 'outline' on <col>?  If not, I doubt we could convince them to change.

I'd be ok with an open bug that's about the 'outline' property, though.
Flags: needinfo?(dbaron)
The morphing of the original bug report by :ntim changed this bug report from a clearly identifiable single bug into a bunch of vaguely-related stuff that doesn't belong in a single report; undoing that.
Summary: Some CSS properties don't work on the <col> element → CSS outline not working on col element
(In reply to David Baron [:dbaron] (needinfo? me) (UTC-7) from comment #9)
> I'd be ok with an open bug that's about the 'outline' property, though.

Though only if other browsers support this or are willing to.
(In reply to David Baron [:dbaron] (needinfo? me) (UTC-7) from comment #9)
> I suppose so.  Do other browsers do anything for 'outline' on <col>?  If
> not, I doubt we could convince them to change.

Tested in latest official chrome : fail.

Guess who isn't holding their breath? ;)

I'll do it myself with a cpl divs and opacity.
(In reply to Russ from comment #12)
> (In reply to David Baron [:dbaron] (needinfo? me) (UTC-7) from comment #9)
> > I suppose so.  Do other browsers do anything for 'outline' on <col>?  If
> > not, I doubt we could convince them to change.
> 
> Tested in latest official chrome : fail.
> 
> Guess who isn't holding their breath? ;)
> 
> I'll do it myself with a cpl divs and opacity.

You can always use flexbox, it's a great alternative to tables, plus it's supported by IE 10+, Firefox, Chrome and Opera.
None of Trident (tested IE11), Blink, Presto, or WebKit support outline on columns, fwiw.
You need to log in before you can comment on or make changes to this bug.