CSS - Page Breaks...
Ok people, I have a page that contains 2 tables, one beneath the other...
The table at the top can vary in height, but the table at the bottom is of fixed height... What I want to do is put some sort of "page break" in, so that the second table is always printed on a second piece of paper... Any ideas anyone? Similar TutorialsHi: I have a MySQL/PHP generated form letter which gets printed and mailed. I have extablished a CSS font (class?) with a "page-break after" parameter as shown he PHP Code: h4 { font-family: Arial, Sans-serif; font-size: 14px; font-weight: 500; text-align: left; page-break-after: always;} This works great on a PC running IE. However, On a Mac, running OSX, the page breaks are entirely ignored and it is printed as a single long page. I have tried using other Browsers (Opera, Netscape, and Safari) and they all heve the same problem. Does anyone have a suggestion? Thanks Sean Hello, I have a page with a large table. The problem is that when you print the page, the browser will add a page break in the middle of a row. I would like to force no-page-breaks for each row, so when you print, it will never print half a row on one page and the other half on the next page. I am assuming css can do this, but I have no idea where to start. I can look up the specifics, can someone just point me in the right direction? It is possible (although support seems sketchy) to prevent tables from breaking: Quote: table {page-break-inside: avoid;} BUT... the css definitions don't seem to apply to non-block-elements (such as tr and th). Although the CSS validator does not seem to complain, most browsers don't seem to support it. This feature seems to important to have been neglected by WC3, so what am I missing? My final option (and I shutter to think about it) is to place a non-breaking table inside each row. That seems (to me) very silly, but perhaps it is a way around the problem. It has an additional problem that the td breaks won't line up. The table won't lok much like a table anymore. I am looking for a much happier solution. Thanks Hi People... Not sure if the is in the right forum!? Basically i have a page that is only ever going to be displayed in IE (using the webbrowser control within a programme). On this page i would like to use 'page-break-after: avoid' but as this is not implemented i am try to go about it differently. Is it possible to do something along the lines of this... Quote: <div style="page-break-after: expression(are we in the bottom eigth of the page?'always':'auto')"> Can this work, oh and i also need help with the bit in bold and italics. Many Thanks! Hi, I'm having some problems printing a html document. I have a print.css file that formats my page. I've set up a class for inserting page breaks where I need them. But for some reason it doesn't work. Also it's doing a strange page break at the beginning of my html document when it's printed. For some reason I can't add a link to my posts, so here's the url minus the www's and the dot. jfmackie.com/About_Us/our_team_Sales_copy.html Please help! Thanks sskully Hello! When the content of my website expands to include scroll bars, a 1px bar of white becomes visible on the right side of my content. I'm aware that the white is from my bg, but I don't know why everything gets off-set. Also, in IE7 there is a strange spacing issue between my header and the navigation, although it is not evident in other browsers. This is currently visible: http://www.caseit.org/test My content: Code: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel="stylesheet" type="text/css" href="reset.css" /> <link rel="stylesheet" type="text/css" href="style.css" /> </head> <body> <div id="header"> <img src="header.jpg" width="1000" height="140" /> </div> <div id="navigation"> <ul id="qm0" class="qmmc"> <li><a href="javascript:void(0)">Home</a></li> <li><a class="qmparent" href="javascript:void(0)">About CaseIT</a> <ul> <li><a href="javascript:void(0)">Overview</a></li> <li><a href="javascript:void(0)">History</a></li> <li><a href="javascript:void(0);">Previous Competitors</a></li> </ul> </li> <li><a href="javascript:void(0)">About SFU Business</a></li> <li><a href="javascript:void(0)">Why Compete?</a></li> <li><a class="qmparent" href="javascript:void(0);">CaseIT 2010</a> <ul> <li><a href="javascript:void(0);">Organizing Committee</a></li> <li><a href="javascript:void(0);">Timeline</a></li> <li><a href="javascript:void(0);">Competition Information</a></li> <li><a href="javascript:void(0);">Venues</a></li> </ul> </li> <li><a href="javascript:void(0);">Sponsors</a></li> <li><a href="javascript:void(0);">Media</a></li> <li><a href="javascript:void(0);">Contact Us</a></li> <li class="qmclear"> </li> </ul> </div> <div id="image"> <img src="image1.jpg" width="900" height="233" /> </div> <div id="container"> <div id="content"> hhqrqrqr<br />erereqrqw<br /> hhqrqrqr<br />erereqrqw<br /> hhqrqrqr<br />erereqrqw<br /> hhqrqrqr<br />erereqrqw<br /> hhqrqrqr<br />erereqrqw<br /> hhqrqrqr<br />erereqrqw<br /> hhqrqrqr<br />erereqrqw<br /> </div> <div id="sidebar"> we </div> <div id="sponsors"> </div> </div> </body> </html> My CSS (only the relevant stuff): Code: @charset "UTF-8"; /* CSS Document */ body { background-color: #EEEEEE; background-image:url(bg.jpg); background-position: top center; background-repeat:repeat-y; } #header { width: 1000px; margin-left: auto; margin-right: auto; } #navigation { width: 1000px; height: 35px; background-image:url(linkbg.jpg); margin-left: auto; margin-right: auto; } #image { width: 900px; height: 233px; margin-left: auto; margin-right: auto; } #container { width: 900px; margin-left: auto; margin-right: auto; background-color:#33FF33; height: 100%; } #content { float: left; width: 645px; } #sidebar { background-image: url(sidebarbg.jpg); background-repeat: no-repeat; background-color: #999999; float: left; width: 255px; } #sponsors { float: left; width: 900px; height: 200px; } Additional notes: I use the Meyer reset unedited from his website. Thank you! Hi all, I'm fairly new to CSS and this is one of my first attempts at a somewhat complicated layout. The page looks OK in FF, IE 7, Safari, and Opera, but if I zoom in or out while in FF or IE, it breaks the layout by increasing the width between some of the cube divs. Is there any way to fix this? Link: http://universalcorner.com/testsite/ Stylesheet: Code: body { font-family: Arial, "MS Trebuchet", sans-serif; } #maincontainer { width: 966px; height: 748px; border: 12px solid #000027; margin: 0 auto; padding: 0; } #header { border-bottom: 12px solid #000027; height: 140px; z-index: 100; } #logo { background: #fff; width: 480px; height: 100%; border-right: 12px solid #000027; display: inline; float: left; vertical-align: top; } #logo p { /* functions as image container */ position: relative; top: 20px; } #slogan { position: relative; background: #78C0FF; width: 292px; height: 100%; border-right: 12px solid #000027; display: inline; float: left; vertical-align: top; padding: 0 10px 10px 10px; z-index: -100; zoom: 1; } #consultants { position: relative; background: red; left: 6px; width: 150px; /* width: 150px; */ height: 100%; display: inline; float: left; text-align: center; margin: 0; padding: 0; z-index: -100; } ul.nav { /* navigation bar */ position: relative; float: left; font-family: Arial, Helvetica, sans-serif; font-weight: bold; font-size: 1em; width: 126px; height: 586px; background: #4486C4; padding: 0 10px 10px 20px; margin: 0 0 10px 0; border: solid #000027; border-width: 0 12px 0 0; list-style: none; } ul.nav a { text-decoration:none; color:#000; } ul.nav a:hover { color:#fff; } ul.nav li { /* all list items */ padding: 16px 0 0 0; list-style: none; } ul.squares { list-style: none; padding: 0; margin: 0; } ul.squares li { position: none; background: #000; width: 150px; height:140px; padding: 0; margin: 0; border: solid #000027; border-width: 0 12px 12px 0; display: inline; float: left; } ul.squares li.end { border-right-width: 0; } ul.squares li.bottom { border-bottom-width: 0; } #textbox { width: 636px; height: 292px; float: left; display: block; border: solid #000027; border-width: 0 12px 12px 0; background: #C1BDFF; margin: 0; padding: 0; } #textbox p { margin: 10px; } div.cube { width: 150px; height: 140px; border: solid #000027; margin: 0; padding: 0; } #consultation { color: #fff; font-size: 1em; font-weight: bold; position: relative; display: inline; float: left; width: 302px; height: 130px; border: solid #000027; border-width: 0 12px 0 0; background: #001E8A; padding: 10px 0 0 10px; margin: 0; } HTML: Code: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Company Name, Inc.</title> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body> <div id="maincontainer"> <div id="header"> <div id="logo"> <p align="center"><img src="images/logo.gif" alt="Company Name, Inc."></p> </div> <div id="slogan"> <p><span style="font-size:.85em">Company Name, Inc.<br> Anytown, US<br> <a href="mailto:info@companyname.com">info@companyname.com</a><br> 555-555-5555</span><br> <span style="font-size: 1.1em; font-weight:bold">Tagline Goes Here</span></p> </div> <div class="cube" style="float: left; border-width: 0 0 0 0"> <p align="center"><img src="images/image.gif" alt="Placeholder Image"></p> </div> </div> <ul class="nav"> <li><a href="index.php">Home</a></li> <li><a href="#">About</a></li> <li><a href="#">Services</a></li> <li><a href="#">Plans & Pricing</a></li> <li><a href="#">Our Clients</a></li> <li><a href="#">Press Room</a></li> <li><a href="#">Blog</a></li> <li><a href="#">Contact Us</a></li> </ul> <div style="background: #001E8A; display:inline; float: left; border-width: 0 12px 12px 0" class="cube"></div> <div style="display:inline; float: left; border-width: 0 12px 12px 0" class="cube"></div> <div style="background: #002455; display:inline; float: left; border-width: 0 12px 12px 0" class="cube"></div> <div style="display:inline; float: left; border-width: 0 12px 12px 0" class="cube"></div> <div style="background: #4486C4; display:inline; float: left; border-width: 0 0 12px 0" class="cube"></div> <div id="textbox"> <div style="background: #002455; position: relative; float: right; top: 130px; border-width: 12px 0 0 12px; margin-top: 10px; margin-left: 10px" class="cube"></div> <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi sapien urna, scelerisque nec, imperdiet vitae, luctus non, nisi. Duis et magna et tellus imperdiet tempor. Sed ipsum.</p></div> <div style="background: #002455; position: relative; top: 0; left: 0; display: inline; float: right; border-width: 0 0 12px 0" class="cube"></div> <div style="position: relative; top: 0; left: 0; display: block; float: right; border-width: 0 0 12px 0" class="cube"></div> <div style="position: relative; top: 0; left: 0; display: inline; float: left; border-width: 0 12px 0 0" class="cube"></div> <div style="background: #002455; position: relative; top: 0; left: 0; display: inline; float: left; border-width: 0 12px 0 0" class="cube"></div> <div id="consultation">Click here to get your FREE ONSITE CONSULTATION from Company Name</div> <div style="background: #78C0FF; position: relative; top: 0; left: 0; display: inline; float: left; border-width: 0 0 0 0" class="cube"></div> </div> </body> </html> Any suggestions would be much appreciated. Hi all I am using a style sheet with the print media type to controll how my site looks when it is printed out. It works very well the only problem being that I have <div>s which make boxes for the content and I would like for the boxes to not get split upon diffrent pages. Idealy I would like to make it so that if the the <div> is going to split over two pages it just gets put at the start of the next page. This probaly isn't possiable but you never know. Any Ideas would be helpfull Nick Carlevaris I've been working on putting a css/js text navigation together which thus far has seemed to work as intended on a PC. This morning when I checked it on a mac, it broke down. Technically it breaks down gracefully I suppose... All links are present and the nav is displayed fully expanded. The problem is that this nav is going to have hundreds of links, and having it fully expanded just isn't practical. If anyone could take a minute to look at my css & js to see if there's something simple that I'm missing, it'd be great. You can look at my example page he http://www.whitesagemedia.com/cssnav.html All css & js is included in the ssource - no attachements. Thank you, thank you, thank you, to anyone who can help me out. -Chet Hey there. Is it possible to add a line break so that the following markup... html Code: Original - html Code <dl> <dt>Posts:</dt> <dd>33</dd> <dt>Topics:</dt> <dd>4</dd> </dl> <dl> <dt>Posts:</dt> <dd>33</dd> <dt>Topics:</dt> <dd>4</dd> </dl> ...looks like this? Posts: 33 Topics: 4 Basically, I want it to be like display: block, but only to the RIGHT of the text. Does that make sense? Just like adding a <br />, but with different HTML. There must be a better way to accomplish this... I need a line break between the two headers in the page below. As it stands it works in Firefox and IE with <br> tags but this seems sloppy.....Is this what the clear element is for? Code: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Untitled Document</title> </head> <style> * { margin: 0; padding: 0; } body { margin:0; padding:0; background-color:#cccccc; } #wrapper { width: 700px; height: 565px; margin-left:auto; margin-right:auto; margin-top:10px; border: 1px solid #808080; background-color:#ffffff; } #sidebar { width: 123px; height: 565px; float: left; background-image:url(images/sidebar.jpg); } #content { margin-left: 125px; height: auto; width:auto; padding: 30px; font:Arial, Helvetica, sans-serif; font-size: 24px; font-style:oblique; color: #444444; } #01 { position:relative; } #02 { position:relative; margin-top:100px; } #b1w, #b2w, #b3w { position:relative; float:left; height:35px; width:35px; border:1px solid; border-color: #808080; margin-top: 5px; margin-right: 5px; background-color:#ffffff; } </style> <body> <div id="wrapper"> <div id="sidebar"></div> <div id="content"> <div id="01">Header 1</div> <div id="b1w"></div> <div id="b2w"></div> <div id="b3w"></div> <br><br><br> <div id="02">Header 2</div> </div> </div> </body> </html> I have coded my css file to display a border and change the background color of any text I put inside of <p> tags. It seems to work fine until I have to create a new line using <br> then it ignores everything after the <br> and strips the styling. My css is attached below: Quote: p.doubleSpaced { line-height: 200%; text-align: left; background-color: #eeeeee; border: #dddddd 2px solid; padding: 10px 15px; } My page can be viewed he http://dev.asbco.com/products/insti...al-recrational/ Thanks for the help! I have a 2 column layout using a left float which breaks in IE, sending the right column way down the page. It works perfectly in Firefox. I've been staring at it for days, and can't grok what I'm doing wrong. Please help! Code: body { background-color: #ffffff; margin: 0px; padding: 0px; font-family: Arial, Helvetica, sans-serif; font-size: small; } #container { background-image: url(images/background.gif); background-repeat: repeat-y; width:700px; margin: 0 auto; margin-top: 10px; } #header { background-color:#FCF6EA; } #content { background-color: #FCF6EA; width:497px; float: left; padding-left: 0px; border-style: solid; border-color: #F8CA52; border-left-width: 1px; border-right-width: 0px; border-bottom-width: 0px; border-top-width: 0px; padding-top: 5px; } #sidenav { background-image: url(images/navback.gif); margin-left: 500px; width: 200px; } #container > #sidenav { width:203px; } #footer { background-color: #ffffff; background-image: url(images/footer.gif); clear: both; } h1 {font-size: small; margin-top: 0px; margin-bottom: 0px; font-family: Arial, Helvetica, sans-serif; } a:link { color: #663333; } a:visited { color: #000000; } B. Hi everyone, I am stumped at why I'm having this problem in FF only but I'd appreciate any input as to why it's happening. Take a look at www.spotabusiness.com in FF and see how there is a huge whitespace above the content regardless of what links you click. It looks fine in IE6 and 7. Thanks The following is how I have always done my navigation. But in IE7 when I zoom above 100% the links seem to squash up and the hit area move away from the link! You can see this at www.stephaniedubois.co.uk What can I do to stop this? Thanks div id="topnavbar" class="navTextTop"> <ul> <li><a href="index.html">HOME</a></li> <li><a href="about.html">ABOUT</a></li> <li><a href="gallery.html">GALLERIES</a></li> <li><a href="exhibit.html">EXHIBIT</a></li> <li><a href="contact.html">CONTACT</a></li> </ul> </div> CSS #topnavbar { text-align: center; position: relative; top: -25px; margin: 0px; padding: 0px; } #topnavbar li { display: inline; } #topnavbar ul { list-style:none; } .navTextTop a:link, .navTextTop a:visited { font:11px/20px Verdana, Arial, Helvetica, sans-serif; color: #000000; text-decoration:none; letter-spacing: 0.13em; padding-left: 10px; padding-right: 10px; } .navTextTop a:hover { color: #000000; text-decoration:underline; } Hi, This is the page i constructed using CSS. http://81.137.250.65/champs/main.html As you can see at the top of the page, when you hover links eg "about" , "booking" a drop down menu appears. This drop down menu calls a Javascript file which is using a stylesheet. "Style.css" for the formatting of the drop down menu. My colleague gave me some ASP.net code for the login form, as in the sample URL above the login form is not functional. As soon as i enter the asp.net code, all the formatting for the Drop Down menu breaks completely. The positioning, coloring etc is all lost. The menu appears at the bottom of the page, and the hyperlinks are all displayed as tradional blue underlined links. The page itself still appears fine, and doesnt seem to break. So the asp.net code is not affecting the css in the page itself, but the drop down menu I dont know if this is a asp.net problem or a CSS problem. My guess is that its the way the CSS for the drop down menu i setup? Ive only been doing CSS for about 6 weeks, so you will notice the code is not the neatest. I am open to constructive criticism. If anyone can help with this issue, i would appreciate it. Thank you eemo Can anyone give me a hint as to why the CSS drop-down menu on this page breaks in IE7: http://www.mediamogulsweb.com/ I've looked at it for while and I'm not getting anywhere. Thanks. I have been pulling my hair out on this one because for the life of me I cannot make it work. Here is my page: www.nova-dataonline.com Notice that in IE, the "Featured Products" section displays nicely and when you mouseover "Cisco Systems" the filler text displays well within the grey box. The entire "Featured Products" section apart from the manufacturer logos, is one image and the mouseover text is padded to appear correctly within the grey box which is part of the image. Now notice in firefox that the entire layout breaks. The div displays much larger than I intended and the padded text does not display correctly. I have found that if I remove the padding from the div containing the background image, the div displays fine, but this leaves me without a way to style the content of the div in the correct place. So it appears that firefox is expanding the div based on the padding here is the relevant markup: PHP Code: <div class="featured" id="feat_1" onmouseover="toggleDiv('feat_1',1)" onmouseout="toggleDiv('feat_1',0)"> Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Duis ligula lorem, consequat eget, tristique nec, auctor quis, purus. Vivamus ut sem. Fusce aliquam nunc vitae purus. Aenean viverra malesuada libero. Fusce ac quam. Donec neque. Nunc venenatis enim nec quam. Cras faucibus, justo vel accumsan aliquam, tellus dui fringilla quam, in condimentum augue lorem non tellus. Pellentesque id arcu non sem placerat iaculis. Curabitur posuere, pede vitae lacinia accumsan, enim nibh elementum orci, ut volutpat eros sapien nec sapien. Suspendisse neque arcu, ultrices commodo, pellentesque sit amet, ultricies ut, ipsum. Mauris et eros eget erat dapibus mollis. Mauris laoreet posuere odio. Nam ipsum ligula, ullamcorper eu, fringilla at, lacinia ut, augue. Nullam nunc. </div> and css: Code: .featured{ visibility:visible; width:410px; height:350px; position:absolute; top:250px; left:340px; border:1px solid #999999; border-left:none; background-repeat:no-repeat; background-position:center; background-image:url(images/message/feat.jpg); font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px; font-style:normal; padding:102px 27px 29px 29px; } #feat_1{visibility:hidden;} and javascript (if it is even relevant to the problem): PHP Code: <script language="javascript" type="text/javascript"> <!-- function toggleDiv(id,flag) { if (flag == "1") { if (document.layers) document.layers[''+id+''].visibility = "show" else if (document.all) document.all[''+id+''].style.visibility = "visible" else if (document.getElementById) document.getElementById(''+id+'').style.visibility = "visible" } if (flag == "0") { if (document.layers) document.layers[''+id+''].visibility = "hide" else if (document.all) document.all[''+id+''].style.visibility = "hidden" else if (document.getElementById) document.getElementById(''+id+'').style.visibility = "hidden" } } --> </script> any idea? Hi I'm writing here after spending a few hours searching google without luck. I bought a "mega menu" plug in for wordpress but its acting very odd. It generally works as it should but ive found that theres something wrong with the formatting of the drop down menus. There is an issue where line breaks do not happen at all, and most important - list items are not shown on a new line. The content all seems to flow around its self rather than being formatted. See attached pic: img14 .imageshack .us/img14/964/screenshot047cr .png I did run the css and html though a validator and it spits out hundreds of errors but i think they are pretty much only shown because its css3. I'm really curious what would cause line breaks to not appear after list items. I had thought previously it may be the css clashing with my themes css but i tried a fresh install on a really mimimal theme and the error is still there I am a bit of a loss as to why the menu on this page http://www.laurieannre.com/welcome.asp looks great on IE but not in other browsers. If it is not too much trouble and someone can be of some assistance I'd appreciate it. Tom |