CSS - Css Table Overflow On Pictures
Hello, I'm pretty new to CSS so I'm not really sure what I'm doing. Anyway, I created a website layout in photoshop and exported it to html, so far so good. But the area I have reserved for text is a picture, when I type over the picture it creates a cell, however my problem is when the text exceeds the width of the picture my whole layout gets messed up. My question is how would I put an auto overflow in.
Here's my code: <tr> <td> <img src="images/index_02.jpg" width="279" height="1" alt=""></td> <td rowspan="2"> this is where my text goes</td> <td rowspan="2"> <img src="images/index_04.jpg" width="3" height="383" alt=""></td> </tr> <tr> <td> Thanks in advance Similar TutorialsHi again, Can anyone let me know if they have encountered this problem before. Its caused me around 12hrs of headaches so far.. The problem is that in Firefox this works perfectly, but in IE7 i cannot get it to be 100% of the browser window, it always takes 100% of the gif image. A good test is with a browser window of 800x600 If I change class test to fixed width for example width:614; instead of width:100%; then it seems to work perfectly again. Many thanks in advance. G. -----SNIP <HTML> <HEAD> <TITLE> New Document </TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTENT=""> <META NAME="Keywords" CONTENT=""> <META NAME="Description" CONTENT=""> <style> .test { z-index:1; width:100%; overflow: auto; } </style> </HEAD> <BODY> <table width="100%" border="1" cellpadding="0" cellspacing="0"> <tr> <td><img src="(URL address blocked: See forum rules)" width="169"></td> <td width="100%"> <div class="test"> <table><tr><td><img src="(URL address blocked: See forum rules)"></td></tr></table> </div> </td> <td><img src="(URL address blocked: See forum rules)" width="169"></td> </tr> </table> </BODY> </HTML> ------- I see my images have been removed, the two outer cells are just a 169 wide spacer The inner image was 850 wide, just add any image of this size to try. Thanks again. G I'm fighting with this for a while now. I want to change my table layout into div based one, but keeping all the positive features of table design. The layout is based on percents and em (the liquid philosophy) The problem: Make div resize like table cell with minimal width equal to width of widest unbreakable element. I don't want my "verylongunnecesaryword" stick out of menu div nor dissapear partaily when resizing the window. I basically want the menu to always stay wide enough to accomodate the longest word and resize dynamically with window and fonts. There is no such problem when using tables, cells automatically resize to fit content and never become so small that content sticks out or disappear. Setting the min-width with either em, px nor percent is a no go, because it's impossible to tell what size will the biggest element be. No javascript either. Also keeping it IE6 complaint would be good. I still think that tables are the best idea and unless someone shows me how to fix this problem with div and css, I'm just sticking with tables till the end of world. shortened HTML: Code: <div class="menu"> menu here </div> <div class="contents"> the rest of page </div> shortened CSS: Code: .menu {float: left; width: 20%; padding: 1%; } .contents {float: left; padding: 1%; width: 76%; } My CSS works in IE and Mozilla but not Netscape or Opera I have a 2 column website, built with 2 relative position DIVs, with overflow set to auto. Because of this, I turned off overflow on the body tag and on the html tag (overflow: hidden;). I didn't want to have 2 scroll bars on the right side of the window. When I first tested this on 4 browsers, IE, Mozilla, Netscape and Opera, it worked great, only having one scroll bar on the right side of the window when the page was longer than the window height. But when I moved to a new host server recently, I discovered that Netscape and Opera stopped working. They now simply give me blank screens. When I remove the "overflow: hidden;" specifications from the body tag and the HTML tag in my CSS file, Netscape and Opera once again display my web pages. However, now I get 2 scrollbars on the right side of all 4 browsers (in IE, the second scrollbar isn't actually there, but the space holder for the scrollbar is there). Is there a cross browser way for doing what I'm trying to do? Or am I faced with detecting the browser type on the server-side, and setting the style sheet appropriately? Here are the related parts of my CSS: /* CSS styles */ BODY { font-family : Verdana, Arial, Helvetica, sans-serif ; font-size : 10pt; background : Black; color : White; margin: 0; padding: 0; border-width: 0; overflow: hidden; } HTML { overflow: hidden; } #LeftNavDIV { position:relative; width:185px; height:100%; float:left; padding:2px 0px 0px 0px; margin:0px 0px 0px 0px; border:1px solid white; overflow:auto; } #ContentDIV { position:relative; height:100%; width:75%; float:right; padding:0px 0px 0px 0px; margin:0px 0px 0px 0px; border:0px dashed #336699; overflow:auto; } I am having a gap issue in my IE as you can see in both picture below ... I can't determine if that a css issue or a html issue. The site is at http://www.stlaware.com and frontend is Mambo 4.5.2 First screenshot is a site viewed in IE6 and the red markings are the gap issues I am having And second screenshot is same site viewed in Firefox browser .. as you can see no gaps and much cleaner .. It's loaded via mambo module on top of a mambo template but I looked all over the html code and css sheet with no luck of finding a way to get rid of the gaps in IE .. Can anyone help me out here? Thank you Bill Dear Ppls, I have a website which contains text with picture .... on the middle of the page(article). You can see the text and pictures, actually i want it to reduce the width of texts.. but i dont know ... this site is citiplza.com/about.html Some body could help me out would be appreciable. Thanks Regards Raggit Hello, I'm trying to put drop shadows under pictures using CSS. I made several tries but none is good yet. - Try 1 : relative positioning See http://tsaboteam.free.fr/css/relative1.htm (CSS code is included in the html file) Pro : Looks good in both FF and IE Cons : Can't put text inline - Try 2 : relative positioning with display: inline See http://tsaboteam.free.fr/css/relative2.htm Pros : Looks good in IE, text is inline Con : Looks bad in FF - Try 3 : floating positioning See http://tsaboteam.free.fr/css/float1.htm Pro : Looks good in FF Cons : Looks bad in IE, can't put text inline - Try 4 : floating positioning with display: inline See http://tsaboteam.free.fr/css/float2.htm Pro : Text is inline Cons : Looks bad in FF and IE Anyone got an idea on how to fix one of the ways I tried ? Or any thoughts of another method ? Thanks. Thanks for taking the time to read my question. I have 16 pictures on my page. In FF I have no extra space under each picture and in IE6 I do. Why? In IE you can see the container color (the non Orange colors) but in FF you don't. I've tried a bunch of stuff but can't figure it out. http://stuccotech.bravehost.com/ CSS: Code: html, body { height: 100%; width: 100%; margin: 0px; padding: 0px; background-color: #000000; background-image:url(MainBackground.jpg); background-repeat: no-repeat; background-position: top center; } .TheFrame { height: 20px; width: 20px; background-color: white; float: right; } .MainContainer { width: 646px; height: 549px; background-color: #3f3f3f; overflow: hidden; padding: 0px; margin: 0px auto; background-image:url(BehindLogo.png); background-repeat: no-repeat; background-position: top left; } .LogoArea { height: 200px; width: 200px; /*background-color: white;*/ float: left; margin: 0px; padding: 0px; display: inline; } .Logo { float: left; height: 120px; width: 240px; padding: 0px; margin: 0px 0px 0px 2px; display: inline; background-image:url(LogoWithText.png); background-repeat: no-repeat; background-position: top left; } .NavBarMain { background-color: #966200; height: 120px; width: 370px; float: right; margin-right: 20px; margin-top: 10px; padding: 0px; display: inline; } .NavBarContent { background-color: orange; height: 90px; width: 370px; float: right; margin: 0px; margin: 30px 0px 0px 0px; padding: 0px; } .TextBox1 { float: left; margin: 5px 0px 0px 10px; padding: 5px; width: 190px; height: 305px; overflow: hidden; display: inline; } p.MainText { color: white; font-size: 14px; } p.MainText:first-line { text-indent: 5px; } .ContentText { color: white; font-size: 14px; } .PortfolioHolder { width: 414px; height: 365px; float: right; margin: 25px 20px 0px 0px; padding: 0px; display: inline; background-color: orange; } .MainPictureFrame { width: 414px; height: 318px; float: right; margin: 0px; padding: 0px; /*display: inline;*/ background-color: red; } .PortfolioPicture { width: 414px; height: 318px; } .PicInfoContainer { float: left; width: 414px; height: 47px; color: white; font-size: 12px; } .SubPictureFrame { width: 96px; height: 72px; margin: 10px 0px 0px 10px; padding: 0px; float: left; background-color: yellow; } .SubPictureFrameFirstRowFirstColumn { width: 96px; height: 72px; padding: 0px; margin: 0px; float: left; background-color: purple; } .SubPictureFrameFirstRow { width: 96px; height: 72px; padding: 0px; margin: 10px 0px 0px 0px; float: left; background-color: blue; } .SubPictureFrameFirstColumn { width: 96px; height: 72px; padding: 0px; margin: 0px 0px 0px 10px; float: left; background-color: aqua; } .BottomNavContainer { width: 550px; height: 14px; float: right; margin-right: 40px; margin-top: 10px; } .BottomNavHolder { float: right; } .BottomNav { font-size: 12px; height: 14px; margin-right: 20px; float: left; } .PortfolioListContainer { float: left; width: 204px; height: 250px; overflow: auto; display: inline; background-color: #5f5f5f; margin: 0px 0px 0px 5px; padding: 0px; border-top: 1px #ffffff solid; } .ListItemHome { float: left; width: 76px; height: 20px; padding: 0px 0px 0px 4px; margin: 0px; border-right: 4px solid white; } .ListItemBuilding { float: left; width: 110px; height: 20px; padding: 0px 0px 0px 4px; margin: 0px 0px 0px 80px; border-left: 4px solid white; display: inline; } .ButtonContainer { float: left; display: inline; background-color: aqua; width: 204px; height: 30px; padding: 0px; margin: -5px 0px 0px 5px; } .HomesButton{ border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-right: 4px solid white; width: 80px; height: 30px; margin: 0px; float: left; } .CommercialButton{ border-width: 0px; width: 120px; height: 30px; padding: 0px; margin: 0px; float: left; } a.BottomNav:link { text-decoration: none; color: #D3D3D3; } a.BottomNav:visited { text-decoration: none; color: gray; } a.BottomNav:hover { text-decoration: underline; color: white; } a.BottomNav:active { text-decoration: none; color: white; } a.ContentText:link { text-decoration: none; color: #D3D3D3; } a.ContentText:visited { text-decoration: none; color: gray; } a.ContentText:hover { text-decoration: underline; color: white; } a.ContentText:active { text-decoration: none; color: white; } a.ListItemHome:link { text-decoration: none; color: #D3D3D3; } a.ListItemHome:visited { text-decoration: none; color: #D3D3D3; } a.ListItemHome:hover { text-decoration: underline; color: white; } a.ListItemHome:active { text-decoration: none; color: white; } a.ListItemBuilding:link { text-decoration: none; color: #D3D3D3; } a.ListItemBuilding:visited { text-decoration: none; color: #D3D3D3; } a.ListItemBuilding:hover { text-decoration: underline; color: white; } a.ListItemBuilding:active { text-decoration: none; color: white; } Thanks, Brad When I switch between pages with images on them, everything is fine. When I switch between pages without images on them, everything is fine. But when I switch to or from a page with a picture on it to or from a page without a picture on it, the page jumps sideways a bit. Most ppl probably wouldn't even notice this, but I find it really annoying and want a good way to get rid of this. I'm using a centered fixed width css style so I have no idea how this could be happening. I'll just add the css if needed: (Any random advice or advice on how to make buttons without photoshop would be awesome too!) Code: body { background: #FFFF96; font-family: Verdana; font-size: 14px; } td { background: #FFFF96; font-family: Verdana; font-size: 14px; } a { text-decoration: underline; font-family: Verdana; font-size: 14px; } a:link { color:#2828FF; } a:visited { color:#2828FF; } a:hover { color:#AFAFFF; } a:active { color:#AFAFFF; } img { border: none; } #wrapper { width: 950px; margin-left: auto; margin-right: auto; } #title { width: 100%; font-size: 27px; font-style: italic; background-image: url("images/bgwinterowl.gif") } #links { width: 100%; padding: 15px; } #body1 { border: 4 double; border-color: red; background: #FFFFF0; width: 100%; text-align: left; padding: 15px; } #body2 { background: #FFFFF0; text-align: left; padding: 15px 15px 15px 100px; width: 500px; } hi, I have 3 DIV's, The first div is like a menu header DIV and the second DIV is the menu links and the third DIV has some information I want to click on the first DIV then show the second DIV like a menu problem is the third DIV moves down.. How can i let the second DIV overflow over the third DIV without it moving down? Thanks what i'm trying to accomplish is two boxes next to each other inside a div, which i can scroll horizontally to see the two boxes. if you copy the code below it works correctly, only because the width of the parent div is set. Code: <style type="text/css"> #container { overflow:scroll; width:100px; } #parent { overflow:hidden; width:400px; } .box1 { border:1px solid black; float: left; height: 101px; width: 101px; } </style> <div id='container'> <div id='parent'> <div class='box1'></div> <div class='box1'></div> </div> </div> if i change width:900px in the parent div to width:auto then the boxes go underneath one another. That's the problem, the parent div should auto adjust to the width of both boxes. i'd really appreciate solving this. i can't have a fixed width on the parent div it should auto adjust and both boxes should be next to each other. Hi all, I'm working on the site http://boolarongpress.com.au and have hit a problem. In IE7 if you click into either the title or author search fields in the left hand nav menu the cpu usage maxes out and IE7 hangs. There is no javascript attached to these inputs. The problem seems to be caused by a line in the css, overflow: auto; This is set for the content div so that it scrolls as if it were a frame. If I remove this line from the css the problem dissappears but of course the content div no longer scrolls. Has anyone got any ideas on how I can fix/work around this issue? Cheers, Peter this is the code i'm having problems with: Code: <style type="text/css"> body { font: normal 10px Verdana, Arial, Helvetica, sans-serif; color:#666; margin : 0; padding : 0; } /* text */ h1 { font: bold 10px Verdana, Arial, Helvetica, sans-serif; line-height:30px; } /* div classes */ div.row { position:relative; left:10px; width:326px; height:20px; z-index:1; margin-bottom:8px; text-align:right; } div.cell_title, div.cell_content { position:absolute; top:0px; float:left; padding:0px 0px 0px 8px; border:1px solid #E4E4E4; text-align:left; line-height:17px; } div.cell_title { background-color: #E4E4E4; left:0px; width:100px; z-index:2; } div.cell_content { background-color:#FCFCFC; left:100px; width:224px; z-index:3; } /* form elements */ .input { font: normal 10px Verdana, Arial, Helvetica, sans-serif; color:#666; background-color: #FCFCFC; height:15px; width:213px; border:0; } .textarea { font: normal 10px Verdana, Arial, Helvetica, sans-serif; color:#666; background-color: #FCFCFC; height:100px; width:213px; border:0; overflow:auto; } </style> <h1>Contact</h1> <form action="?menu=contact" method="post" name="contact"> <div class="row"> <div class="cell_title"><label for="name">name:</label></div> <div class="cell_content"><input type="text" class="input" name="name" id="name"/></div> </div> <div class="row"> <div class="cell_title"><label for="email">email:</label></div> <div class="cell_content"><input type="text" class="input" name="email" id="email" /></div> </div> <div class="row"> <div class="cell_title"><label for="message">message:</label></div> <div class="cell_content"><textarea class="textarea" name="message" id="message"></textarea></div> </div> <div class="row"> <input type="image" src="includes/images/btn_add.gif" name="Submit" value="Submit"> </div> </form> My problem is that my "row" div's overlay if their content is larger. Because of that i cannot see the send button from my form (the textarea height is bigger that the height of the "row" div - i need the layer to expland according to the content, but i don't want it to overlay on what is after it!). I hope that you understood my problem and could help my with it. Thanks in advance! While working on my site, I am testing it in Mozilla Firefox 1.0pr and IE 6. In my code: body, td, iframe, table, div, tr { font-variant: small-caps; margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; color: #ffffff; background-color: #666666; scrollbar-3dlight-color: #666666; scrollbar-arrow-color: #666666; scrollbar-base-color: #666666; scrollbar-darkshadow-color: #666666; scrollbar-face-color: #666666; scrollbar-highlight-color: #666666; scrollbar-shadow-color: #666666; } a:link { color: #ffffff; text-decoration: none; } a:visited { text-decoration: none; color: #ffffff; } a:hover { text-decoration: none; color: #ff0000; } a:active { text-decoration: none; color: #ffffff; } select, option, textarea, input { border: #ffffff 1px solid; font-size: 11px; font-variation: normal; font-family: Verdana; background-color: #666666; } I would add "overflow: auto;" right under 'body, td, iframe, table, div, tr {' so that in Mozilla the scrollbars would not show up. However, when I load it in IE, the windows do not scroll at all. Is there a quick-fix for this, or what can I do so it will work properly in both browsers? How do I make the DIV overflow in the below codes? It works in IE but not firefox. <html > <head> <style type="text/css"> html, body { height : 100%; } </style> </head> <body> <table style="height : 100%; width : 100%"> <tr style="height : 64px; background-color : Blue;"> <td></td> </tr> <tr style="height : auto; background-color : red;"> <td> <!-- THIS IS THE PROBLEM --> <div style="height :auto; overflow-y : scroll"> <!-- THIS IS THE PROBLEM --> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> asd<br /> </div> </td> </tr> <tr style="height : 64px; background-color : Blue;"> <td></td> </tr> </table> </body> </html> My page looks decent in Firefox but in IE the overflow property doesn't seem to be working. Perhaps you can give me some pointers as to which tags may be messing up the display in Internet Explorer. The link to the page in question. http://www.paulvincentgandolfi.com/blog/?page_id=123 Thanks Hi everyone, I am having a problem with the 'overflow' property in Internet Explorer6. I am working on an image slide show.The images are displayed in two divs whose CSS is as follows: #imageBox { margin: auto; width: 450px; border: 1px #000 solid; overflow: hidden; height:90px; z-index:500;} #imageBoxInside { width: 10000px; height:90px;float:left;overflow:hidden; z-index:200; } #imageBox img { float: left; padding: 0px; margin: 0px; } #imageBox br { clear: both; } In mozilla firefox it is working perfectly. But in IE6 the 'overflow' property doesn't work . Please help. When i resize my band website www.smilingindustries.be , the text flows over my menu :s try for yourself when resizing your browser window . www.smilingindustries.be/Style.css is the style page I've been trying to figure that one out all afternoon |