CSS - Getting Spaces Between Cells In Ie, But Not In Ff
Hello, I have question regarding proper use of CSS, so I can get web site layout to display properly in both IE and Firefox.
At the moment it's laid out properly in FF, but I have some problems with IE. The cells of a table "deform" while browsing in IE. This is how it looks like: URL http://i38.tinypic.com/5ffe6q.gif Here is html of the cells in question: Code: <table class="cHs" width="1000" border="0" align="center" cellpadding="0" cellspacing="0" background="pic/topcenter.jpg"> <tr> <td colspan="3" class="cHs" width="1000" height="145"><img src="pic/logo.jpg" border="0"> </td> </tr> <tr> <td class="cHs" background="pic/left.jpg" width="47" valign=top></td> <td class="cHs" align=center width="906" background="pic/backcen.gif" class=interior valign=top> <td class="cHs" background="pic/right.jpg" width="47"></td></tr><tr><th align="left" valign="top" scope="row" height=\"37\" background="pic/bottom1.gif"></th><td class="cHs" height="37" width="906" background="pic/bottom2.gif" align="center" valign="top"> </td> </tr> </table> Here is used CSS: Code: table.cHs{ background: transparent; border: none; } td.cHs { border: none; } Does anybody see a problem? Thanks in advance. Similar Tutorialshello, I'm trying to create my first site in CSS and I'm having trouble with a simple task after tackling so many challenges. Basically I want a row with three cells ______ |_|_|_| and the text inside to be lined left, middle and right, respectively. This is what I was trying, next I'm going to position them absolutely. But figured I would ask for a better way. html4strict Code: Original - html4strict Code #greyrow { width:452px; background-color: #EEECE7; padding: 4px 4px 4px 10px; } #leftgrey { display: inline; width: 150px; } #midgrey { display: inline; width: 152px; text-align: middle; } #rightgrey { display: inline; width: 150px; } <div id='greyrow'> <div id='leftgrey'> left </div> <div id='midgrey'> middle </div> <div id='rightgrey'> right </div> </div>
thanks for any help. webg Here is what I am trying to do: <table> <tr> <td>left cell</td> <td>right cell</td> </tr> </table> I want to have the code so that the left cell is read first by the search engines followed by the right cell but I want the css to reverse the cells so that the right cell is shown first followed by the left cell. I have done this in IE by assigning the table element to position: relative and then using relative positioning to scoot the right cell to the left and the left cell to the right but this does not work in FF. I am using different stylesheets for different browsers so I dont need a solution that is cross browser compatible, just a solution that will work in standards compliant browsers like FF. Thanks for your help. Hi, I have the following code which is for a table. Code: <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td> </td> </tr> <tr> <td><a name="A"></a>A</td> </tr> <tr> <td> </td> </tr> <tr> <td><a name="B"></a>B</td> </tr> <tr> <td> </td> </tr> <tr> <td><a name="C"></a>C</td> </tr> <tr> <td> </td> </tr> <tr> <td><a name="D"></a>D</td> </tr> <tr> <td> </td> </tr> <tr> <td><a name="E"></a>E</td> </tr> <tr> <td> </td> </tr> <tr> <td><a name="F"></a>F</td> </tr> <tr> <td> </td> </tr> <tr> <td><a name="G"></a>G</td> </tr> <tr> <td> </td> </tr> <tr> <td><a name="H"></a>H</td> </tr> <tr> <td> </td> </tr> <tr> <td><a name="I"></a>I</td> </tr> <tr> <td> </td> </tr> <tr> <td><a name="J"></a>J</td> </tr> <tr> <td> </td> </tr> <tr> <td><a name="K"></a>K</td> </tr> <tr> <td> </td> </tr> <tr> <td><a name="L"></a>L</td> </tr> <tr> <td> </td> </tr> <tr> <td><a name="M"></a>M</td> </tr> <tr> <td> </td> </tr> <tr> <td><a name="N"></a>N</td> </tr> <tr> <td> </td> </tr> <tr> <td><a name="O"></a>O</td> </tr> <tr> <td> </td> </tr> <tr> <td><a name="P"></a>P</td> </tr> <tr> <td> </td> </tr> <tr> <td><a name="Q"></a>Q</td> </tr> <tr> <td> </td> </tr> </table> What I want to do is to have a black 1px border around the cells with the letters in, in A, B, C , D etc etc. I am hoping it is a CSS thing, but I only want it to apply to this table, not all the other tables on the page. Anyone know the easiest way to do this? Thanks If you click on start and search a new windows opens, you should be able to see Name, In Folder, Size etc. I am looking to style the <td> cells in a table to look like that. i.e. same colours, lines and hover over effects. I dont think it will be impossible, but for the life of me I cant match the colour. Does anyone know what the colour is exactly, or has anyone seen an example of this style elsewhere so I dont have to waste time designing it. Hi, I need to apply a border on the bottom of an empty cell, but since IE6 does not support the empty-cells property, the border appears only on tiny part of the cell. Is there a workaround? I have already tried placing inside the cell but it doesn't work that way either. with border: 1px solid #FFFFFF; in css i got border only around the table I want the border to surround every cell of the table as it is with <table border="1" bordercolor="#FFFFFF" > how? I am displaying data from mySQL in a table. I am having a problem controlling the width of the columns. I am trying to replace code like this: <td width="100px><?php echo $row_rsList['taskpriority']; ?></td> with a css style <td id='pcol' ><?php echo $row_rsList['taskpriority']; ?></td> where td.pcol { width: 100; } But when I display the table it seems to disregard the width setting. The only other table formatting I ahve done so far is this: table { margin:0; padding:0; } table th { vertical-align: baseline; font-size: x-small; font-weight: bold; font-variant: small-caps; background: #CCCCCC; text-align: left; } Thoughts? Ok, so I'm making a website using tables and css since I personally hate using <div>. Anyway, it's going fine except for one problem. There is air between my cells. I wanted to show a SS of it, but apparantly I'm not allowed to post either links to the picture nor attach pictures to my thread, so I'll try to explain it. Now, the html code for the tables looks like this: Quote: <table class="center"> <tr> <td class="top"> <img src="img/top.jpg" alt="top" /> </td> </tr> <tr> <td class="horizontal"></td> </tr> </table> The is air between my two cells here. My horizontal border wont connect to my top cell containing the top.jpg. The CSS code for trying to make the cells connect looks like this: Quote: table.center { width: 590px; margin-left: auto; margin-right: auto; border-spacing: 0px; border-collapse: collapse; } tr, th { padding: 0px; } td.horizontal { width: 590px; height: 2px; background: #28847F; padding: 0px; } td.top { width: 590px; height: 91px; padding: 0px; } How come the two freakin' cells wont connect? My Goal: using an onmouseover, highlight the mouse-overed table cell red and highlight another table cell green. Code: <head><style type='text/css'> .cell1 { background-color: #cccccc; } .cell1_over { background-color: #ff3366; } #other_cell { background-color: #cccccc; } </style></head> <body> <table> <tr> <td class='cell1' onmouseover='this.className="cell1_over";' onmouseout='this.className="cell1";'>words</td> <td id='other_cell'>more words</td> </tr> </table> </body> OK - the above code will change the first cell from grey to red no problem. What I want is to not only make the first cell grey but also the other cell turn green under the same onmouseover. How might I go about this? Thanks in advance! Hello, I am attempting to have two pieces of text within a table cell that also contains an image. I was able to figure out the first piece of text that I wanted vertically aligned to the top and to the left, but the next piece of text, which I want vertically aligned to the bottom of the cell and aligned right I am having issues with. Here is the example code: Code: <td style"vertical-align: bottom;"><img src="image1.jpg" border="0" width="195"><font style="position: absolute;left: 2;background-color: #FFFFFF; color: #000000;font-weight: bold;font-size: 18px;">STYLE#</font><font style="position: absolute;right: ;background-color: #FFFFFF; color: #000000;font-weight: bold;font-size: 18px;">As low as $x.xxfont></td> Is this possible within the same table cell as the image? Or do I have to place a CSS table within this cell to place text over top of the image? I would have placed the image as the cell background image, however, I am dynamically creating these tables, and not all of my images are of same size. I am specifying the width though, just not the height. Thank you in advance. is there a problem with placing div tags inside table cells. I have a need to do this and it works fine on my FF3 and IE7 but i am told this is bad practice. is there a problem and/or workaround to using div tags inside a table cell I'm building a table (for tabular data, of course) and need text within cells centered. However, applying "text-align:center;" to the cells in any other way but inline styles doesn't work. For example, this does not work: Code: td.centercell { text-align: center; } <table> <tr> <td class="centercell">Hi!</td> <tr> </table> But this does: Code: <table> <tr> <td style="text-align:center;">Hi!</td> <tr> </table> I'd rather not have to put inline styles on every single cell I need centered, as this is most of them. What's going on? Is it not possible to do the following? What is the correct way of aligning a cell if not? PHP Code: TD.theader { background-color: #D0D0D0; border: 1px solid #000000; padding:5px; horizontal-align: right; } Hello, I am working on a site and want to put a thin black line border on individual cells in a table with out putting a border on the whole table. Im not very experienced with css and would perfer to keep it simple. any info will help thanks Nick Carlevaris i have a table with several header columns: Code: <table> <tr><th>header 1</th><th>header 2</th><th>header 3</th></tr> <tr><td colspan=3>empty info</td></tr> </table> now i want to put a border inbetween the cells, to do this i simply used: Code: table th { border-left:1px solid black; } except this adds a border to the left hand side of the far left cell, making the table border of 1px actually 2px if i give that end cell an id can it be ignored when applying the left border? or would i have to add the lines: Code: table th#idname { border-left:0px; } I'm using a two column layout (main, sidebar), and within the main column, there is a section that breaks into two columns. I'm using this code:
Code: <div> <p>Some main column content</p> </div> <div id="inner_col_wrap"> <div id="col_left"> <p class="col">Cum sociis natoque penatibus et magnis dis parturient montes</p> </div> <div id="col_right"> <p class="col">Cum sociis natoque penatibus et magnis dis parturient montes</p> </div> </div> <div> <p>Some more main column content</p> </div> The problem is that some of the content that follows the two column block ("Some more main column content") is pushed up into the "col_right" DIV when "col_left" and "col_right" are not equil ("col_right is shorter than "col_left", and there is space at the bottom). How to keep the conent that follows the two column block out of it? I am already used to tableless design but I have not yet solved the way to vertically center texts the way a cell of a table does by default. How do you solve this problem?. Obviously I look for a simple CSS style to manage this need. Thanks! I'm mostly a PHP developer, & use CSS only intermittently, so forgive this hopefully simple problem: I want to put a series of boxes(with fixed width, but not fixed height) inside a bigger box. The inner boxes should proceed from left to right, from the top left of the containing box. When the width of the containing/outer box is reached, the next inner box should start the next row at the left inner border of the containing box, below the tallest of the boxes in the first row, and begin the second row. No different from ordinary text, where letters are like the inner boxes. If I set float: left; for the inner boxes, this works fine if all the boxes are the same height. However, if the last inner box in the row is shorter than the previous box, the next box that should start the next row at the far left will be placed immediately under the last box in the first row, then the second row will be started after that, under that. One point: these inner blocks will be generated by php, and only the data will be different between them; otherwise, they should all have the same style attributes. I can easily get around this using a table layout, but I'd rather not. I'm sure the solution is quite simple; much more simple than my explanation. To illustrate the problem, I attach some code below -- you can just copy it & paste it into an empty tst.html file and go. Thanks for any help on this seemingly simple problem. Regards, Paul vvvvvvvvvvvvvvvvvvvvvvvv Code: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <style type="text/css"> .outerblock { width: 300px; border: 3px solid blue; } .innerblock { width: 90px; border: 2px solid green; color: red; float: left; } </style> <title>TestFloatingBlocks</title> </head> <body> <h1> Testing Blocks </h1> <div class="outerblock"> <div class="innerblock"> <p> Hi. This is some text. This is a lot of text</p> <p>This is additional text. And some more.</p> </div> <div class="innerblock"> <p> Hi. This is some text. This is a lot of text</p> <p>This is additional text. And some more.</p> </div> <div class="innerblock"> <p> Hi. This is some text. This is a lot of text</p> </div> <div class="innerblock"> <p> Hi. This is some text. This is a lot of text</p> <p>This is additional text. And some more.</p> </div> <div class="innerblock"> <p> Hi. This is some text. This is a lot of text</p> <p>This is additional text. And some more.</p> </div> <div class="innerblock"> <p> Hi. This is some text. This is a lot of text</p> <p>This is additional text. And some more.</p> </div> <div class="innerblock"> <p> Hi. This is some text. This is a lot of text</p> <p>This is additional text. And some more.</p> </div> <div class="innerblock"> <p> Hi. This is some text. This is a lot of text</p> <p>This is additional text. And some more.</p> </div> <div class="innerblock"> <p> Hi. This is some text. This is a lot of text</p> <p>This is additional text. And some more.</p> </div> <div class="innerblock"> <p> Hi. This is some text. This is a lot of text</p> <p>This is additional text. And some more.</p> </div> </div> </body> </html> I am developing a PHP/CSS database application built for Safari and have run into a very nasty bug. (Aside: the web application I am building is sort of browser-specific... we are an all-Mac company, so we want people to use Safari. [I'm not even trying to make it work with IE5/Mac. Screw that.] But having said that, I'd also like it to work in IE6/Win and Firefox [Mac/PC] to give people at least a few more options, like if they're on their PC at home... whatever. Just thought I would explain that before I get flamed by those who think I'm crazy for going that route.) Anyway, I'd like to have tables with cells/columns that are hidden on the screen but visible on printouts and vice versa. But I've discovered that using display:none for table cells in the print style sheet crashes Safari. It does not affect span tags within table cells. This will crash Safari. Code: td { display: none; } This is okay. Code: td span.printhide { display: none; } This is also okay, but why do this if it's still going to take up the space on the page? Might as well just leave it. Code: td { visibility: hidden; } Now, I've found a workaround that works, but it's a pain. Basically, instead of setting it up like a normal table, like this: Code: <table> <tr> <td>Cell</td> </tr> </table> You have to set it up like this: Code: <span class="table"> <span class="row"> <span class="cell">Cell</span> </span> </span> As long as you give those span tags their respective display attributes, this works when you set this in your print stylesheet, for example: Code: span.cell { display: none; } But the big problem with doing it this way is that you're now completely handcuffed to the stylesheet. At least if the style sheet bonks the old way, you still have a table with tabular data in it. Plus, say if the next version of Safari fixes this problem, then you'd have to go back and fix it on every page that uses these span tags in order to "unlock" the handcuffs, which kind of nullifies the purpose of style sheets in the first place. So I guess what I'm asking is if anyone knows of a workaround that I can use that does NOT involve converting my <table><tr><td> to <span><span><span>? Thanks for reading. Hello, I posted this in the HTML forum too but didnt get any replies so maybe people in here know it. When you have a table cell with a width of 20%, and you put a very long string in it. Let's say 255 chars long, without spaces in between. The cell will then expand beyond the 20% that was specified. How can you prevent this and make sure the string is broken down and goes further on a next line in the cell when the 20% width is reached? thanks in advance |