Douglas Fraser wrote:
> At 11:24 -0500 2/2/07, Zoe M. Gillenwater wrote:
>   
>> Douglas Fraser wrote:
>>     
>>>  I have a set of the links the client wants displayed in a grid
>>>  format.  Using a table is the obvious solution, even if it's not "the
>>>  correct thing to do" presentation wise.   The issue is that they want
>>>  the text of the links to turn bold as the mouse hovers over them.
>>>  Ok, that's all fine, but the problem is the table cell gets resized
>>>  width-wise and so the other columns shift around.  That looks bad....
>>>
>>>  <snip />
>>>  
>>>       
>> Hi Doug,
>>
>> We can't suggest a good solution without seeing what you are trying to
>> do as well as what you've already tried. Please post a URL to a live
>> page. You can strip out identifying information if necessary.
>>     
>
> Access to the real page is controlled, but I went and made a static page that
> does not have working links, but you can see the effect I'm (not) 
> after.  Just hover
> over the director names
>
> http://www.acmefilmworks.com/menus.html
>
>   
Hi Doug,

I think you are going to have to get a compromise out of your client, 
whether you use tables or divs for this. Allowing the containers to 
'grow' to fit the text inside them, with each column a different width 
depending on what names it contains, isn't going to work if the text can 
dynamically change dimension - such as if it goes bold on :hover. You 
are either going to have to stop using bold on :hover, or set a width 
for whatever container you are using for the columns.

Toggling from normal to bold like this often leads to knock-on 'jogging' 
of other elements. The really easy fix would be to not change text 
weight on hover and just change the text colour and/or background.

If you do want to keep the bold effect, I think you are going to have to 
specify a width for the containers. Unless you want to set a width for 
every container individually on each page (which sounds like a 
maintenance nightmare I personally wouldn't poke with a stick) they will 
all need to be the same width. As the site is fixed-em width by the look 
of it this shouldn't be a problem. Work out what the longest name you've 
got is, and the width you need to display that name, on one line, in 
bold type. Add a bit extra for luck, then set all your 
columns/divs/whatever to that width. So if it's tables, specify td 
{width: XXem}. (On the example you posted the compromise would be that 
you could probably only fit four columns on the page, not five).

BTW dead simple way to stop names splitting in the middle, just replace 
the ordinary space with &nbsp; (non-breaking space). Also handy for 
phone numbers, post/zip codes etc...  You'll still need to think about 
how you want to handle overflow - show/hide/scrollbar - if the text is 
ever then too wide for its container.

-- 
Sophie Dennis, Creative Director
Cayenne Web Development Limited
www.cayenne.co.uk

Bloxham Mill, Barford Road
Bloxham, Oxfordshire OX15 4FF
t. 0870 389 0570 
m: 07814 026632  

Reg. England and Wales no. 4502369

______________________________________________________________________
css-discuss [EMAIL PROTECTED]
http://www.css-discuss.org/mailman/listinfo/css-d
IE7 information -- http://css-discuss.incutio.com/?page=IE7
List wiki/FAQ -- http://css-discuss.incutio.com/
Supported by evolt.org -- http://www.evolt.org/help_support_evolt/

Reply via email to