Hacker News new | comments | show | ask | jobs | submit login

Your front end devs in this case were suffering from a bit of cargo culting (not truly understanding the difference between HTML and CSS). There is absolutely nothing wrong with using the display:table css properties (as long as its layout quirks around the way it decides to space things don't mess things up visually).

What is wrong to do is use actual HTML <table>/<tr>/<td> tags for layout, because those impart semantic meaning about the structure of the content and should only be used for tabular data.






I may be wrong, as it's fuzzy with time, but I think when this all started, you couldn't use display: table in IE, and since IE had like 90% share at that time, it simply wasn't an option.

caniuse.com suggests only IE8+ supported it.


Open an inspector on your HN comment.

Just because HN happens to use the simplest thing that could possibly work doesn't mean that the objections to tables being used for layout aren't valid.

What about the HTML emails you receive in your inbox everyday ? I don't see much difference between Bootstrap div hell and tables in terms of semantics.

I hate them mostly? I've sent HTML emails before and they're a pain in the ass because they don't fully implement CSS. I've heard arguments that grid layouts are a step backwards because they put layout information back into HTML.

I'm not really a web designer so this isn't really my debate. I'm just pointing out that "HN does it" isn't really a strong argument. Something might be the best available option for some particular task but still not optimal for a whole host of reasons. The point remains <table> tags do carry semantic information so it's useful when possible to restrict them to situations where that semantic information is correct.


I was never convinced by this this argument (It's just a DOM node after all) and found the `crusade` mentality back in the early 2000s a bit immature. I respect your point of view but we don't agree

You haven't written HTML emails (cross-client) if you think Bootstrap' s grid and the kind of HTML you have to write for emails are comparable.

There is no such thing as Bootstrap div hell, that is utter nonsense.

If you used Bootstrap 3 seriously you'd also know there were LESS/Sass mixins for grids. No need to use divs with classes if you have that arbitrary dislike for genuinely useful presentational classes.


eg: the only valid use of tables is my valid use of tables



Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact

Search: