Solved

css border style property for <td> versus the border property of <td>

Posted on 2004-04-29
2
85,389 Views
Last Modified: 2011-08-18
Lets say that we have the following in a css file that we are importing to our html file.
table          { background-color: #c6c4c4; border-width: 0px; padding: 0px;}
th             { background-color: #ffffff; font-family: Verdana, Arial, Helvetica, sans-serif; horizontal-align: left; vertical-align: top }
td             { border-bottom: solid black 2px; border-top: solid black 2px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; horizontal-align: left; vertical-align: top }

table.top        { background-color: #ffffff; border-width: 0; padding: 7px;}
th.top           { background-color: #ffffff; font-family: Verdana, Arial, Helvetica, sans-serif; horizontal-align: center; vertical-align: top }
td.top           { font-family: Verdana, Arial, Helvetica, sans-serif; horizontal-align: left; vertical-align: top }

Here is the HTML we are working on.
            <table border="0" bgcolor="#FFFFFF" cellspacing="0" cellborder="0">
                  <tr bgcolor="#FFFFFF">
                        <td style="border: 0px" bgcolor="#FFFFFF"><img src="<?echo $images;?>top_pic1.gif" border="0"></td>
                        <td style="border: 0px" bgcolor="#FFFFFF"><img src="<?echo $images;?>top_pic2.gif" border="0"></td>
                        <td style="border: 0px" bgcolor="#FFFFFF"><img src="<?echo $images;?>top_pic3.gif" border="0"></td>
                  </tr>
            </table>

As you may be able to tell, the cells where the images are placed have a top and bottom border.  We want to get rid of this border and have tried the following:
1.   changed <td style="border: 0px" bgcolor="#FFFFFF"><img src="<?echo $images;?>top_pic1.gif" border="0"></td>
 to <td class="top" bgcolor="#FFFFFF"><img src="<?echo $images;?>top_pic1.gif" border="0"></td>
2. changed <td style="border: 0px" bgcolor="#FFFFFF"><img src="<?echo $images;?>top_pic1.gif" border="0"></td>
to <td border="0" bgcolor="#FFFFFF"><img src="<?echo $images;?>top_pic1.gif" border="0"></td>

None of these worked.  When I changed the td.top definition to include 'border: 0px' and used number 1 from above, it worked, the border was no more.  
The question is, why did I have to specify a border when by default there are no borders (in td's) and is the css style definition for a <td> border completely different than the html definition for a <td> border?  
0
Comment
Question by:bisonfur37
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 17

Accepted Solution

by:
Tacobell777 earned 125 total points
ID: 10956102
You'd be better of using contexual styles, example:

<style>
#myTest td
{
  border: 1px solid red;
}
</style>

<div id="myTest">
<table>
               <tr>
                    <td><img src="<?echo $images;?>top_pic1.gif" border="0"></td>
                    <td><img src="<?echo $images;?>top_pic2.gif" border="0"></td>
                    <td><img src="<?echo $images;?>top_pic3.gif" border="0"></td>
               </tr>
          </table>
</div>

border: 1px 0 1px 0;
which represents
border: top right bottom left;

so if you do not want a border at the top its
border: 0 1px 1px 1px;
0
 
LVL 4

Expert Comment

by:emblue
ID: 10978638
Yes, the CSS and  HTML specifications for the <TD> attributes are different.  Generally, in IE at least, the CSS will take precedence over the HTML.

So for example, consider the following code:

<STYLE>
td {border: 1px;}
</STYLE>

<TD border=0>some text</TD>


That TD tag should have a border on it, as specified by the CSS code.  To remove it, you can specify the style of the td tag like this:

<STYLE>
td {border: 1px;}
</STYLE>

<TD border=0 style="border: 0px">some text</TD>



That example would not have a border because the style attribute will override the general style sheet for the page.



For your situation, if you did not have that style sheet on top, by default your TD tag would have no border in HTML.

Emblue
0

Featured Post

PeopleSoft Has Never Been Easier

PeopleSoft Adoption Made Smooth & Simple!

On-The-Job Training Is made Intuitive & Easy With WalkMe's On-Screen Guidance Tool.  Claim Your Free WalkMe Account Now

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Color can increase conversions, create feelings of warmth or even incite people to get behind a cause. If you want your website to really impact site visitors, then it is vital to consider the impact color has on them.
Although a lot of people devote their energy toward marketing for specific industries, there are some basic principles that can be applied to any sector imaginable. We’ll look at four steps to take and examine how those steps were put into action fo…
This tutorial walks through the best practices in adding a local business to Google Maps including how to properly search for duplicates, marker placement, and inputing business details. Login to your Google Account, then search for "Google Mapmaker…
Learn how to create flexible layouts using relative units in CSS.  New relative units added in CSS3 include vw(viewports width), vh(viewports height), vmin(minimum of viewports height and width), and vmax (maximum of viewports height and width).

734 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question