CSS - Can You Avoid Skipped Line After <form></form>?
Whenever I specify <form> in an html page I find that the browser will skip a space after I'm done with the form. Overly simplified example:
Code: <html> <body> <form name="input" action="html_form_action.asp" method="post"> Username: <input type="text" name="user"> <input type="submit" value="Submit"> </form> test (notice that this is two lines below the input box instead of one) </body> </html> Is there any way to use a <form> tag but still have the text after the form appear right after the form and not skip extra spaces? Similar TutorialsWhat i want to do is to put a search form (label,input & submit button) on a single line. This happens in FF but guess which browser puts them on different line?? IE. yes you got it! Code: #searchBox { float:right; clear:right; margin-right:0.2em; } #searchBox label { font-size:0.8em; } #searchBox input, #searchBox select { background-color:#d2c5a2; } #searchBox .submit { background-color:#d2c5a2; color:#483e2b; font-size:0.8em; } btw if i give the searchbox Div a width, what happens is that in IE the box goes out of the wrapper a bit and in FF the form moves to the left leaving gap between it and right side.. site: http://www.zahra-zahra.com/ Can they play nicely together? What I have is a series of check boxes displayed inline with a short label next to each one. Problem is, when there are a lot of check boxes generated and it comes time for a line break, the check box gets broken off from its label. I've tried everything, the label tag, the white-space: nowrap styling. I can't get it to work. So, how do I do this? Greetings! Maybe it's a newbie question, but I can't find out why form fields don't get vertically centered when rule height: 4em; line-height: 4em; is applied on them, they are inline elements, aren't they? In FF applied correctly, not so in IE. Please take a look at: http://147.32.113.143/biotest/Sourc..._LookUpTerm.php I recently relaunched our web site and, trying to stay with the times, use CSS as much as possible for layout purposes. The one place I still use a table for layout is in the top navigation bar, which includes a search form. I would like to eliminate the table and use CSS for styling the top navigation bar, but am not sure how. I want the pages to hold up in IE 5.0+, Mozilla, Netscape 6+, Firefox and Safari and to be tolerable in Mac IE 5.x - a tall order but manageable I think. Can this be done? Am I stuck with a layout table here? Any help is appreciated. You can see an example web page at: http://www.cambridgema.gov/~CDD/ The HTML is in the attached file. I have a search box/button I want to keep on a single line in a tool bar on my page in strict XHTML/CSS. The <form> tag produces a line break beforehand. In old HTML I could put the <form> tag outside of the table row or data tags, but XHTML does not allow that (bad nesting). I found in devshed here to use style="display:inline;" which works! But the page does not validate as strict XHTML/CSS (using validator.w3.org). <table><tr><td> <!-- simplified to illustrate!! --> <form method="get" action="..." style="display:inline;"> <input type="text" name="q" size="10" maxlength="255" value="" /> <input type="submit" name="sa" value="go" /> </form> </td></tr></table> The Error and reason given is below. It seems that you can not have a block-level element (<input>) within in inline-level element (<form>). *** document type does not allow element "input" here; missing one of "p", "h1", "h2", "h3", "h4", "h5", "h6", "div", "pre", "address", "fieldset", "ins", "del" start-tag. The mentioned element is not allowed to appear in the context in which you've placed it; the other mentioned elements are the only ones that are both allowed there and can contain the element mentioned. This might mean that you need a containing element, or possibly that you've forgotten to close a previous element. One possible cause for this message is that you have attempted to put a block-level element (such as "<p>" or "<table>") inside an inline element (such as "<a>", "<span>", or "<font>"). *** Does anyone know how to code this to not have the linebreak and still maintain strict XHTML/CSS code? Hey, all, forgive my request for hand-holding, but I can't seem to make a css file that makes the following code will display as if it were all in a single table row. I'd like all the header_section divs to be the same width, if possible. My main problem is getting the divs to line up from left to right and not from top to bottom. I know that I must use relative positioning, but nothing is makng them line up the way I want. As I want the layout to be fluid, I'd like to avoid absolute positioning. Code: <div class="header"> <div class="header_section">Linux</div> <div class="header_section">Apache</div> <div class="header_title"><h1>Linux Apache MySQL PHP</h1></div> <div class="header_section">MySQL</div> <div class="header_section">PHP</div> </div> Thanks in advance. Code: <form action=""> <div> <select id="about_menu" name="about_menu" onchange="window.location.href=this.form.about_menu.options[this.form.about_menu.selectedIndex].value;" title="Go to About pages"> <option value="">About</option> <option value="http://myblog.com/about-the-blog/">About The Blog</option> <option value="http://myblog.com/welcome/">Welcome</option> </select> </div> </form> I use <option value="">About</option> as self labeling. I would like the width of the form to be so that there won't be a blank after About even if other options are longer. The issue is that About is going to be translated in several languages and thus I can't rely on a determined value for the width. I've got two lines of text. Want the spacing the two lines to increase, so I set a line-height. When I do this, not only does it increase space between the two lines, it also increases spacing above the first line (and maybe below the second). How can I increase spacing between the two lines only, without increasing above and below? Thanks! Greetings, I have a class called "header" and I am trying to give it a touch of extra space between it and the next line. All of my headers are just a few words and thus on one line. I tried placing "line-height: 1.5em" in my "header" class and it shows up correctly in Dreamweaver but not in IE. My thought is, because it is only a single line, that class value does not kick in because there is no second line for that class. Is there a way to conrol this in CSS or am I going to have to resort to using a....gulp.....spacer? Thanks in advance! Greetings, I am relatively new to CSS and am using background image bullets. Problem is, in the case of a two line link, the bullet aligns in between the two lines and I need it to align to the top line. Below is the CSS, and attached is a screenshot of the link to better illustrate my predicament. Thanks for any help! li { list-style-type: none; background: url(../images/bullet.gif) no-repeat left; padding: 0 0 0 10px; } Hi there, I have xsl: Code: <div class="block"> <table> <tr> <th>header1</th> <th>header2</th> </tr> <tr> <td>text</td> <td>text</td> </tr> <tr> <td>text</td> <td>text</td> </tr> <tr></tr> </table> </div> and css: Code: .block{ page-break-inside: avoid; } but it's not working, this should prevent page break in the middle of that table, but it does not. If the table happens to be in middle of page break the end of the table is printed to the beginning of next page. If I replace page-break-inside: avoid; with page-break-befo always; it does break before the table. So what wrong with page-break-inside, it should work, right? What am I missing..? I guess it's something stuped.. please, help me out, thanks! Is there a way to alter the <form> starting tag so that it doesn't add white space before and after it? I have this form tag that is really screwing with my design because of the spacing it's adding to the page ... I have found CSS to make an entire form pretty, but not something to remove the space that this tag adds to my page. I'm relatively new to css and i'm hoping this forum will help me get better acquainted by working out some of the problems i'm running into. the address is: thenserenity.com/form.html this form looks fine in everything except IE. in IE there is no margin and the text starts in the top left of the div, as you can see if you check it out in ie. i have two css's, 1 general and 1 for ie. here is the ie css: --------------------------- @charset "utf-8"; /* CSS Document */ div#wrapper { background:none; filterrogidXImageTransform.Microsoft.AlphaImageLoader(src='colhead-tl.png' ,sizingMethod='crop'); } .nav { margin-top:49px; } .rounded_STYLE { background-color: white; /* if needed */ border: 25px solid white; /* if needed */ position: relative; } .rounded_STYLE > .tl, .rounded_STYLE > .tr, .rounded_STYLE > .bl, .rounded_STYLE > .br { width: 750px; height: 25px; position: absolute; } .rounded_STYLE > .tl { background: url(../images/colhead-tl.jpg) top left no-repeat; top: -25px; left: -25px; } .rounded_STYLE > .tr { background: url(../images/colhead-tr.jpg) top right no-repeat; top: -25px; right: -25px; } .rounded_STYLE > .bl { background: url(../images/colhead-bl.jpg) bottom left no-repeat; bottom: -25px; left: -25px; } .rounded_STYLE > .br { background: url(../images/colhead-br.jpg) bottom right no-repeat; bottom: -25px; right: -25px; } br.clear { clear:both; } /* FORM -----------*/ .rounded_STYLEform { background-color: white; /* if needed */ border: 25px solid white; /* if needed */ position: relative; width:auto; height: 200px; } .rounded_STYLEform > .tl, .rounded_STYLEform > .tr, .rounded_STYLEform > .bl, .rounded_STYLEform > .br { width: 750px; height: 25px; position: absolute; } .rounded_STYLEform > .tl { background: url(../images/colhead-tl.jpg) top left no-repeat; top: -25px; left: -25px; } .rounded_STYLEform > .tr { background: url(../images/colhead-tr.jpg) top right no-repeat; top: -25px; right: -25px; } .rounded_STYLEform > .bl { background: url(../images/colhead-bl.jpg) bottom left no-repeat; bottom: -25px; left: -25px; } .rounded_STYLEform > .br { background: url(../images/colhead-br.jpg) bottom right no-repeat; bottom: -25px; right: -25px; } ---------------------- anyone know how to make this form look, in ie, as it does in everything else. thanks, jtn Hello, I am creating a form based an ordered list. I want to have two columns: - Left column with labels and 20% width. - Right column with inputs with 80% width. The total width is defined by a div that contains the list ... or by the list itself. In this moment I have a few problems: 1. The inputs don't take the total width; 2. The labels get outside of the container on the left; 3. The required icon does not take a space to the input; 4. The input button is not aligned with other inputs. Could someone please help me out in solving these problems and improving my code? I created a sample project and uploaded it to: http://www.27lamps.com/Labs/Form/Form.html Any help would be great! Thank You, Miguel how would i change the colour of a text box in css? and also not sure if this is css or javascript but how do i clear a text box when the user clicks on it to write in their username? thanks tony Sea-2-Sky.com is the site in question. I'm working on the layout, forms right now which is where I'm having the problem. For some reason that I can't find, the labels for my input/select boxes are not showing up in IE, though they show up fine in Firefox/Netscape. I view the source code and it's all there which leads me to believe it's something in the CSS portion of the page, though I can't seem to find it. Can someone take a look and see if they notice anything that IE doesn't like? I've tried the same form code (CSS & HTML) w/o all of the other junk and it works just fine which leads me to believe it's in a previous part of the CSS portion. I just can't seem to find it. Thanks in advance. Tim Hi. Can anyone think of I way I can do this w/o the wrapper coulmn divs? Code: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <title>Mail Form</title> <style> label, input, textarea{ position: relative; float: left; clear: both; } label{ font-size: .7em; } div.formCol{ position: relative; float: left; } #contactMessageContainer{ clear:both; } </style> </head> <body> <div class="contactForm"> <div class="formCol"> <label for="lastName">Last Name</label> <input type="text" name="lastName" size="20" /> <label for="emailAddres">E-mail Address</label> <input type="text" name="emailAddress" size="20" /> <label for="subject">Subject of Your Message</label> <input type="text" name="subject" size="30" /> </div> <div class="formCol"> <label for="firstName">First Name</label> <input type="text" name="firstName" size="20" /> <label for="phoneNumber">Phone Number</label> <input type="text" name="phoneNumber" size="20" /> </div> <div id="contactMessageContainer"> <label for="message">Enter YourComments in the Box</label> <textarea name="message" cols="40" rows="5" ></textarea> </div> </div> </body> </html> I'm having a really odd problem. I created a page to upload a file. The problem I'm having is that the text in the paragraph above the form is not showing up in Internet Explorer. The text does show up in Netscape. 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" xml:lang="en" > <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> <title>File Upload</title> <style type="text/css"> div#content { background-color: #EEEEEE; color: #111111; } div#content input, label { display: block; float: left; } div#content label { width: 80px; text-align: right; clear: left; } div#content form p { clear: left; } </style> </head> <body> <div id="content"> <p> Enter File Name to be uploaded. </p> <form method="post" enctype="multipart/form-data" action="UploadOne.html"> <p> <label>File Name:</label> <input type=file size=50 name="file1" /> </p> <p> <input type=submit value="Upload" /> </p> </form> </div> </body> </html> If I remove the color and background color from the content division's style the text appears. Any idea why this is happening? Anne Hy- A pretty simple(?) question (I guess) Is there a way to format the look of radio buttons and checkboxes with css? e.g. to make it "fit" with this textfield style: style="font-size: 11px; font-family: Verdana; border-width: 1px; border-color: black;" regards Sheriff hello everyone, 'tis my frist post... Just had'a quick question I'm working on a page, and l'm trying to create a text input with a background image, that has NO border, so that it nests inside of a table cell with no excess fluff. However the input has a 1 pixel high "line" that spans across the top of the element, and a 1 pixel high "line" across the bottom as well. I can't seem to get rid of it, is it possible? here's the code, l was trying to get to work with this: Code: <HTML> <HEAD> <style> /*Left searchBar Cap*/ td.leftCap{ background-color: #c0c0c0; background-image: url('images/searchBar_1x1.gif'); background-position: 0px 0px; width: 28; height: 50; padding-top: 0; padding-bottom: 0; padding-right: 0; padding-left: 0; } /*right searchBar Cap*/ td.rightCap{ background-color: #c0c0c0; background-image: url('images/searchBar_1x3.gif'); background-position: 0px 0px; width: 34; height: 50; padding-top: 0; padding-bottom: 0; padding-right: 0; padding-left: 0; } /*searchBar Top bar*/ td.searchTop{ background-color: #c0c0c0; background-image: url('images/searchBar_1x2.gif'); background-repeat: repeat-x; background-position: 0px 0px; width: 425; height: 16; padding-top: 0; padding-bottom: 0; padding-right: 0; padding-left: 0; } /*searchBar Bottom*/ td.searchBottom{ background-color: #c0c0c0; background-image: url('images/searchBar_3x1.gif'); background-repeat: repeat-x; background-position: 0px 0px; padding-top: 0; padding-bottom: 0; padding-right: 0; padding-left: 0; width: 425; height: 15; } /*center of searchBar*/ td.searchCen{ background-color: limegreen; background-position: 0px 0px; width: 425; height: 19; padding-top: 0; padding-bottom: 0; padding-right: 0; padding-left: 0; } BODY { background-color: #c0c0c0; background-attachment: scroll; margin-top: 0; margin-bottom: 0; margin-right: 0; margin-left: 0; } /*input*/ .input { background-image: url('images/searchBar_2x1.gif'); color: #191919 border-width: 0px; padding: 0px; border-style: hidden; border: 0; border-top-width: 0px; border-bottom-width: 0px; font-family: Comic Sans MS (cursive); font-weight: extra-bold; font-size: 10pt; width: 425; height: 19; } </style> </HEAD> <BODY> <center> <form> <table cellpadding="0" cellspacing="0"> <tr><td> <table cellpadding="0" cellspacing="0"> <tr> <td class="leftCap"> </table> <td> <table bgcolor="#c0c0c0" cellpadding="0" cellspacing="0" border="0"> <tr> <td class="searchTop"> <tr> <td class="searchCen"> <input type="text" size="40" class="input" value="search google ... "> <tr><td class="searchBottom"> </table> <td> <table cellpadding="0" cellspacing="0"> <tr> <td class="rightCap"> </table> <td> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td bgcolor="#c0c0c0" align="center"> <a onClick="javascript:searchGoogle();" href="#"> <img border="0" src="images/searchBar_1x4.gif" width="113" height="50"></a> </table></table> </form> <script> query = document.forms[0].elements[0].value; function searchGoogle(){ if(query){ url = "http://www.google.com/search?hl=en&lr=&q="+query+"&btnG=Search"; window.open(url); }} </script> </BODY> </HTML> Thanks for your help! Samantha G. |