OT: a bit cheeky..
Regan Heath
regan at netwin.co.nz
Tue Jun 6 22:01:16 PDT 2006
On Tue, 06 Jun 2006 21:25:03 -0700, Unknown W. Brackets
<unknown at simplemachines.org> wrote:
> Okay. I would suggest putting a class on both tables, and then applying
> two rules at the same precedence:
>
> table.visible td
> table.notvisible td
>
> Then they won't conflict. Just don't use !important. Or you could just
> do this with tables that are nested inside .visible tables.
Why didn't I think of that!? This sounds like it will suit me just fine,
thanks!
> Another option is to use IE7. http://dean.edwards.name/IE7.
> Unfortunately, while it's amazing and great, your IE users will notice a
> slight increase in load time. Some would say that's a good thing :P.
>
> Also, I'm sorry, I have to say it - and here I disagree with most CSS
> zealots, but - tables are not evil. If you're nesting tables, that's
> almost always wrong...
Why?
> but please for the love of goodness don't use divs for tabular data!
:)
> Does that help, or is that not really what you're looking for?
It looks to be perfect (I haven't actually tried it yet, I'm not at work
today)
Regan
> -[Unknown]
>
>
>> This is a bit cheeky but I was wondering if either of you have a
>> solution to a problem I am having... (Feel free to ignore this post if
>> you don't have the time or inclination, I won't mind, any help I get is
>> a bonus)
>> The problem is this. We have an old set of pages, using html, using
>> tables. The objective is to remove the html formatting and produce CSS
>> that causes the pages to display exactly as they currently do. Thus far
>> I have removed all the border="0" etc from the tables and other
>> elements and added class="x" where I need to add formatting etc.
>> This all worked wonderfully except in one case:
>> //css file
>> table {
>> }
>> table.visible {
>> background-color: ..etc..
>> border: ..etc..
>> }
>> table.visible > tbody > tr > td {
>> border: ..etc..
>> }
>> //html file
>> <table>
>> <tr>
>> <td><table class="visible">
>> <tr>
>> <td>A</td>
>> </tr>
>> </td>
>> </tr>
>> </table>
>> As you probably know IE does not support the child selector ">", so,
>> the rules to add borders to the internal table cells do not apply in
>> IE, but do apply in opera, mozilla, etc. Further, if you use the
>> descendant selector (a space) then they apply where they shouldn't in
>> the reverse case (normal table inside table.visible) eg.
>> //CSS file
>> table.visible td {
>> border: ..etc..
>> }
>> //HTML file
>> <table class="visible">
>> <tr>
>> <td><table>
>> <tr>
>> <td>A</td>
>> </tr>
>> </td>
>> </tr>
>> </table>
>> I know the general consensus is that we shoudn't be using tables, and
>> for new pages we don't. In this case we just want to be able to apply
>> different styling to one old set of pages (without making too many
>> changes to them) if coming to them from different locations.
>> Adding class="visible" to all the tr, td and th's seems heavy handed
>> to me.
>> Any ideas?
>> Regan
More information about the Digitalmars-d-announce
mailing list