CSS - Using Buttons As Tabs
Was working on a new design for one of my sites today and when I inadvertently discovered using buttons as tabs, however...
I am more of a programmer than I am a designer. The tabs look differently in Firefox than they do in IE. In IE, I give the currently tab more padding than the other buttons and those other buttons stay attached to the <div> below them. In Firefox/Mozilla, the other buttons are raised up. See here* *You will notice that the Home page has rounded corners, while the About page does not; can't decide which one I like better The other issue I have in IE is that when I button is being clicked/activated, it detaches itself from the <div> below. -- Maybe a good time to also ask how I can accomplish something using div's or span's that I used to do with table's: How would I have a 700px wide box, with a div at the top, split 50/50 so that I could have a small logo at the top left and a search box (on the same row) at the top right? I have always: Code: <table width="700"> <tr> <td width="50%">logo</td> <td width="50%" align="right">search box</td> </tr> </table> -- One mo If I am using HTML 4.01 strict, can I still use: Code: <td align="center" valign="middle"> or do I have to: Code: <td style="text-align:center;vertical-align:middle"> Cheers! Similar TutorialsMy vertical CSS navigation menu buttons overflow when adding 10 or more buttons. The new buttons end up to the right side of the top buttons. If I change the html format for paragraph format it stops this, but in IE there becomes big space between the buttons. Here is the site: http:// bradleyrose . net / WaterStreetRestaurant i'm trying this CSS Tab deelio, but I can't seem to get it right. I'm kind of new to this, but check out this page and tell me what I'm doing wrong. Thanks! (URL address blocked: See forum rules) Hi, New to CSS and all. Trying to work on a web site. I used a Wordpress theme and modified it to my liking. I am having a small issue that I would really appreciate help on. marinhome.inwire .net/lessons The page uses tabs. When you click from one tab to another, the tab content is shifting down. Can somebody please let me know what the problem is? Thanks, Gaurav I am using tabs to switch between screens. So the tabs could be information, telephone, notes etc. So its the same customer just different aspects of their information. This has worked well however I now want to add a sideways tab system. This means I want to use similar tabs but rotate it 90 degrees. So its on its side. I was wondering if anyone had come across tabs that where on thier side before and a link to a tutorial would be great! thanks. I have an issue with my first website. I'm trying to center the tabs at the top of my page, but I cannot seem to figure out how to do it. I've tried using floats, auto margins, clears, etc., but nothing seems to be working. Could I get some help on this? http://bud12345.fusedtree.com Here's the CSS: Code: body { font-family: Verdana, sans-serif; background-color: #50AD34; color: #000000; text-decoration: none; word-spacing: normal; text-align: left; letter-spacing: 0; line-height: 1.3em; font-size: 1.2em; } .update { font-style: italic; font-weight: bold; font-size: 0.9em; } span.updatehead { text-decoration: underline; } div.update { border-style: solid; border-width: thin; border-color: #F77900; padding-left: 1.0em; } #tabsC { float:left; width:100%; background:#50AD34; font-size:93%; line-height:normal; } #tabsC ul { margin:0; padding:10px 10px 0 50px; list-style:none; } #tabsC li { display:inline; margin:0; padding:0; } #tabsC a { float:left; background:url("tableftC.gif") no-repeat left top; margin:0; padding:0 0 0 4px; text-decoration:none; } #tabsC a span { float:none; display:block; background:url("tabrightC.gif") no-repeat right top; padding:5px 15px 4px 6px; color:#464E42; } #tabsC a:hover span { color:#FFF; } #tabsC a:hover { background-position:0% -42px; } #tabsC a:hover span { background-position:100% -42px; } Heya, Any ideas how I can center the tabs on this page? http://explosiveracing.net/testing/menu.html The HTML and CSS is self explanatory. Thanks I have too many items for one row of tabs, how do I get a second row? Save this as tab.png URL Here's my working fine one row code: design.css Code: ol#toc { height: 2em; list-style: none; margin: 0; padding: 0; } ol#toc li { float: left; margin: 0 1px 0 0; } ol#toc a { background: #bdf url(tab.png); color: #008; display: block; float: left; height: 2em; padding-left: 10px; text-decoration: none; } ol#toc a:hover { background-color: #3af; background-position: 0 -120px; } ol#toc a:hover span { background-position: 100% -120px; } ol#toc li.current a { background-color: #48f; background-position: 0 -60px; color: #fff; font-weight: bold; } ol#toc li.current span { background-position: 100% -60px; } ol#toc span { background: url(tab.png) 100% 0; display: block; line-height: 2em; padding-right: 10px; } div.content { border: #48f solid 3px; clear: left; padding: 1em; } h1.html Code: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>1 row</title> <link href="design.css" rel="stylesheet" type="text/css" /> </head> <body> <h1>1 row</h1> <ol id="toc"> <li class="current"><a href="h1.html"><span>H1</span></a></li> <li><a href="h2.html"><span>H2</span></a></li> <li><a href="h3.html"><span>H3</span></a></li> </ol> <div class="content"> <h2>H1</h2> <p>Pic and text...</p> </div> </body> </html> And here's my bad attempt at 2 rows! design2rows.css Code: ol#toc { height: 2em;list-style: none; margin: 0; padding: 0; } ol#toc li.first { float: left; margin: 0 1px 0 0; } ol#toc li.drop { clear: left; margin: 0 1px 0 0; padding:0 0 0 6px; } ol#toc a { background: #bdf url(tab.png); color: #008; display: block; float: left; height: 2em; padding-left: 10px; text-decoration: none; } ol#toc a:hover { background-color: #3af; background-position: 0 -120px; } ol#toc a:hover span { background-position: 100% -120px; } ol#toc li.current a { background-color: #48f; background-position: 0 -60px; color: #fff; font-weight: bold; } ol#toc li.current span { background-position: 100% -60px; } ol#toc span { background: url(tab.png) 100% 0; display: block; line-height: 2em; padding-right: 10px; } div.content { border: #48f solid 3px; clear: left; padding: 1em; } q1.html Code: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Tab 2 row</title> <link href="design2row.css" rel="stylesheet" type="text/css" /> </head> <body> <h1>Tab 2 row</h1> <ol id="toc"> <li class="first"> <li class="current"><a href="q1.html"><span>1</span></a></li> <li><a href="q2.html"><span>2</span></a></li> <li><a href="q3.html"><span>3</span></a></li> <li><a href="q4.html"><span>4</span></a></li> <li><a href="q5.html"><span>5</span></a></li> <li><a href="q6.html"><span>6</span></a></li> <li><a href="q7.html"><span>7</span></a></li> <li><a href="q8.html"><span>8</span></a></li> <li><a href="q9.html"><span>9</span></a></li> <li><a href="q10.html"><span>10</span></a></li> <li><a href="q11.html"><span>11</span></a></li> <li><a href="q12.html"><span>12</span></a></li> <li><a href="q13.html"><span>13</span></a></li> <li><a href="q14.html"><span>14</span></a></li> <li><a href="q15.html"><span>15</span></a></li> <li><a href="q16.html"><span>16</span></a></li> <li><a href="q17.html"><span>17</span></a></li> <li><a href="q18.html"><span>18</span></a></li> </li> <li class="drop"> <li><a href="q19.html"><span>19</span></a></li> <li><a href="q20.html"><span>20</span></a></li> <li><a href="q21.html"><span>21</span></a></li> </li> </ol> <div class="content"> <h2>1</h2> <p>Pic and text...</p> </div> </body> </html> Hello all - I am trying to implement tabs to my forum, I currently have some on there but I like the looks better of the new ones that I am trying to get going. I find that when I get them working (using additional CSS as well as navbar/header edit) it will not work in all browsers. If I post the CSS as well as the navbar/header code would you be able to help me track down my issue? EDIT - I was going to post screenshots but was not permitted I have been monkying around all day with this code and can't seem to get it reversed correctly, so that all the tabs start on the right side instead of the left. I end up messing it up pretty badly and I can't seem to figure out where I am going wrong with it.... any help is appreciated. The example can be seen he http://homelesspixel.de/tabs/ For ease of use I'll paste the HTML and CSS in one: 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 type="text/css"> body { color: #333; background-color: #fff; padding: 20px 20px; margin:0; font: normal 11px helvetica, arial, geneva, lucida, sans-serif; } h1 { font-size:2em; font-weight:normal; margin:1em 0; } ul#topnav { margin:0 0 100px; padding: 0 0 0 12px; list-style: none; border: none; } #topnav li { display: block; margin: 0; padding: 0; float:left; } #topnav a { display:block; color:#444; text-decoration:none; background: url(images/lia.gif) no-repeat; margin:0; padding: 0.2em 2.4em 0.2em 36px; border-right: 1px solid #aaa; position: relative; font: bold 11px helvetica, arial, geneva, lucida, sans-serif; } #topnav a#a0 { left: 0px;} #topnav a#a1 { left: -30px;} #topnav a#a2 { left: -60px;} #topnav a#a3 { left: -90px;} #topnav a#a4 { left: -120px;} #topnav a#a5 { left: -150px;} #topnav a#a6 { left: -180px;} #topnav a:hover { background: url(images/liahover.gif) no-repeat; } #topnav a.here { position:relative; z-index:102; background: url(images/liahover.gif) no-repeat; border-right: 1px solid #777; padding: 0.2em 1em 0.2em 35px; margin: 0 4px 0 0; } ul#subnav { position:absolute; z-index:101; margin: -1px 0 0; left: 10px; padding: 1px 0px 3px 30px; background: #bbb; border-top:1px solid #fff; border-bottom:1px solid #999; width: 720px; } #subnav li { position:relative; z-index:102; display: block; margin: 0; padding: 0; float:left; } #subnav a { color:#fff; display:block; text-decoration:none; margin:0; padding: 2px 12px 2px 10px; background: transparent; background-image: none; border: 0 none; } #subnav a:hover { color:#444; background: transparent; background-image: none; border: 0 none; } #subnav a.here { color:#444; background: transparent; background-image: none; border: 0 none; margin:0; padding: 2px 12px 2px 10px; } </style> <body> <h1>Example of CSS-driven tabs</h1> <ul id="topnav"> <li><a id="a0" href="#">Home</a></li> <li><a id="a1" href="#">About</a></li> <li><a id="a2" href="#">News</a></li> <li><a id="a3" href="#">Proof</a></li> <li><a id="a4" href="#" class="here">Process</a> <ul id="subnav"> <li><a href="#">Vision</a></li> <li><a href="#">Team</a></li> <li><a href="#" class="here">Culture</a></li> <li><a href="#">Careers</a></li> <li><a href="#">History</a></li> <li><a href="#">Sponsorship</a></li> </ul> </li> <li><a id="a5" href="#">Expertise</a></li> <li><a id="a6" href="#">Help</a></li> </ul> </body> </html> Code: <div id="s_site"> <a href="#site">This site</a> <h2 id="site_h">About This Memorial Site</h2> <p id="site_p" class="tab_cont">This site is brought to you by the Royal Canadian Branch 3 Legion John Bernard Croak Victorian Cross. In honor of those fallen and served in WW2.</p> </div> the h2 and p element are hidden using display:none; when I click on the anchor link i'd like them to apper using display:block; It seems like I may need to use javascript but I'd rther not use javascript at all, except for thos eunfortunate enough to still be using IE. I can't figure it out I've tried amny thing that didnt work. I've been searching for a selector that will let me access these hidden elements but I can't come up with anything. I half accomplished what I was trying but I can't get the changes to stick. Thanks for reading I've found a number of great examples of how to do tabs with CSS (http://unraveled.com/projects/css_tabs/ being the one I'm working off of), but they all link to various other HTML pages. Does anyone know of a reasonably simple way to do them inline? (think www.johnkerry.com) I'm sure there's javascript involved, but does anyone know of a good resource on how to accomlish something like this? Hello, I am having some problems with my code. I'm not able to insert these forms properly into these divs. I would like the forms to be placed within the tab (more or less centered), however, how it is now the form is half way in and half out of the tab. When I try and move the form over it distorts the tab image. Please help me fix this problem. I'm uncertain about what is wrong and how to fix it. Thank you in advance. Code: <head> <style type="text/css"> body { color: black; } /*Form Formatting*/ fieldset { margin: 1em 0; padding: 1em; border: 1px solid #ccc; background: #000000; } legend { font-weight: bold; color: #FFFFFF; } label { display: block; } input [type="text"] { width: 200px; } input.radio, input.checkbox, input.submit { width: auto; } input.radio { float: left; margin-right: 1em; } input.author:focus, input.email:focus { background: #E9C2A6; } input[type="text"] { border-top: 2px solid #999; border-left: 2px solid #999; border-bottom: 1px solid #ccc; } .required { font-size: 0.75em; color: green; } .author, .email, .subscribe-yes, .subscribe-no, .checkbox/*.HTML_Box, .Plain_Text*/ { color: #FFFFFF; } /*--------------------------------------------------------------------------------------------------------------------------------------*/ /*Form Placement*/ #Display_Name { margin: auto 33% auto 33%; width: 150px; left: 100px; } #Details { margin: auto 33% auto 33%; } #Subscription { margin: auto 33% auto 33%; width: 150px; } #Mailing { margin: auto 33% auto 33%; width: 180px; } #Submit_Subscription { margin: auto 33% auto 33%; } #HTML_Box { float: none; } #PText_Box { float: right; } /*------------------------------------------------------------------------------------------------------------------------------------*/ /*Background Tab*/ /* set the image to use and establish the lower-right position */ .cssbox, .cssbox_body, .cssbox_head, .cssbox_head h2 { background: transparent url(../../Working/red_tab.php.png) no-repeat bottom right } .cssbox { /* intended total box width - padding-right(next) */ width: 250px !important; /* IE Win = width - padding */ width: 320px; /* the gap on the right edge of the image (not content padding) */ padding-right: 15px; /* use to position the box */ margin: 20px auto; } /* set the top-right image */ .cssbox_head { background-position:top right; /* pull the right image over on top of border */ margin-right:-15px; /* right-image-gap + right-inside padding */ padding-right:40px } /* set the top-left image */ .cssbox_head h2 { background-position:top left; margin:0; /* reset main site styles*/ border:0; /* ditto */ /* padding-left = image gap + interior padding ... no padding-right */ padding:8px 0 0px 40px; height:auto !important; height:1%; /* IE Holly Hack */ font-family: Comic Sans MS, Arial, sans-serif; } /* set the lower-left corner image */ .cssbox_body { background-position:bottom left; margin-right:25px; /* interior-padding right */ padding:15px 0 15px 40px; /* mirror .cssbox_head right/left */ } </style> </head> <body> <!--Tab--> <div class="cssbox"> <div class="cssbox_head"> <h2>Mailing List</h2> </div> <div class="cssbox_body"> <!-- Contact Info --> <div id="Display_Name"> <fieldset id="Details"> <legend>Contact Details</legend> <!--Name--> <label for="author" class="author">Name: <em class="required">(Required)</em></label> <input name="author" id="author" type="text" size="25"/> <!-- E-mail Address--> <label for="email" class="email">Email: <em class="required">(Required)</em></label> <input name="email" id="email" type="text" size="25" maxlength="200"/> <!-- E-mail Format--> <div id="HTML_Box"> <p> <input class="checkbox" id="HTML" name="HTML" type="checkbox" value="HTML" /> <label>HTML</label> </p> </div> <div id="PText_Box"> <p> <input class="checkbox" id="Plain_Text" name="Plain_Text" type="checkbox" value="Plain_Text" /> <label>Plain Text</label> </p> </div> </fieldset> </div> <!-- Subscription Question --> <div id="Subscription"> <fieldset id="Mailing"> <legend>Join Mailing List?</legend> <p> <input id="add-subscribe" class="radio" name="add" type="radio" value="subscribe" checked="checked" /> <label for="add-subscribe" class="subscribe-yes">Subscribe</label> </p> <p> <input id="add-unsubscribe" class="radio" name="add" type="radio" value="unsubscribe" /> <label for="add-unsubscribe" class="subscribe-no">Unsubscribe</label> </p> <!-- Mailing List Submit Button --> <div id="Submit_Subscription"> <input id="enter" type="submit" value="Submit" /> </div> </fieldset> </div> </div> </div> </body> </html> -------------------------------------------------------------------------------- Hi there, I have some CSS tabs, but they are displaying differently in IE7 than FF. This is my code: PHP Code: #nav { float:left; width:100%; background:yellow; height: 27px; font-size:93%; line-height:normal; list-style: none; margin: 0px; } #nav li { float:left; background:url("images/tab_left.jpg") no-repeat left top; margin:0; padding:0px; list-style: none; } #nav a, #navheader strong, #nav span { display:block; background:url("images/tab_right.jpg") no-repeat right top; padding:5px 15px 4px 6px; } and my html: PHP Code: <div id="nav"> <ul> <li><a href="#">Home</a></li> <li id="current"><a href="#">News</a></li> <li><a href="#">Products</a></li> <li><a href="#">About</a></li> <li><a href="#">Contact</a></li> </ul> </div> Any ideas whats causing these different outcomes? Hi, this is my first post. I have a problem with the navigation bar on a site that I'm developing (musicboxtheatre.com). It renders properly in firefox and safari, but, of course, IE is causing problems. It renders as steps. The tabs are dropping vertically so that their tops are aligning with the bottom of the previous tabs line-height. Does anyone know of a solution? Update: I rewrote everything, and it somehow works now. Nevermind. I've search these forums and found several threads about this topic but none have any real answers to this issue. I've got some navigation tabs, similar to Sitepoint's tabs. How does one go about centering them in the page? My site: http://www.webhelpzone.com/ CSS: Page Layout and Navbar Styles I've tried doing this: Code: ul#nav { position: absolute; left: 50%; width: 505px; margin-left: -252px; } Which actually centers the navigation bar, but when the browser is shrunk down, the bar ends up being pushed off the screen. Sitepoint's nav bar just shrinks down, remaining centered in the browser window. How do you accomplish the centering of navigational tabs? How do I make multiple tabs in CSS? I want tabs with rounded corners. So far I can only get 1 tab. What do I do to make more? I am trying to implement jQuery tabs into a page with specific css requirements. The tabs and most of the page contents falls within a maincol div that is centered in the page. But the page also has a navigation menu on the left side column of the page. I didn't write this css but I have to work with it. When the content in the menu column is removed, the tabs display correctly. You can view that (and access the css pages) at this link Here is what it looks like when the menu content is included. You will also notice that the menu mouseovers don't display properly now either. This menu (only a portion is shown in my examples) is included on every page of the site. So I have to be careful about adjusting the css for the menu. It's used elsewhere and displays fine elsewhere. It's really just on this one page where I try to use the tabs. The tabs CSS was generated from jQuery Themeroller On the website I had tabs for my nav bar, which worked. I then started playing around with meta tags, etc. for keywords within the templates, and lost the tabs when I updated the server. I've played around so much I dont know how to get back. I've only been doing this for a couple of months in Dreamweaver 8, so I'm still very much a beginner. Should I have made the tabs in a style sheet?Any help is appreciated, thank you PHP Code: [CODE]<span class="highlight"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "(URL address blocked: See forum rules)"> <!-- DW6 --> <html xmlns="(URL address blocked: See forum rules)"> <head> <title></title> <meta http-equiv="Page-Enter" content="BlendTrans(Duration=2.0)" /> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <!-- TemplateBeginEditable name="doctitle" --><!-- TemplateEndEditable --> <style type="text/css"> <!-- body { MARGIN: 10px 0px 0px5px; FONT: small/1.5em Georgia,Serif; COLOR: #000; voice-family: inherit; text-align: left; padding: 0px; background-image: url(/background.jpg); background-image: url(../All Images/images/background.jpg); background-image: url(../template_images/background.jpg); background: #ffffcc; } unknown {FONT-SIZE: small} #header {FONT-SIZE: 9pt; BACKGROUND: #ffffcc url(/tabs/bg.png) repeat-x 50% bottom; FLOAT: right; WIDTH: 100%; LINE-HEIGHT: normal;} #header ul {PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; MARGIN: 0px; PADDING-TOP: 10px; LIST-STYLE-TYPE: none;} #header li {PADDING-RIGHT: 0px; PADDING-LEFT: 9px; BACKGROUND: url(/tabs/left.png) no-repeat left top; FLOAT: left; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px;} #header a {PADDING-RIGHT: 15px; DISPLAY: block; PADDING-LEFT: 6px; FONT-WEIGHT: bold; BACKGROUND: url(/tabs/right.png) no-repeat right top; FLOAT: left; PADDING-BOTTOM: 3px; COLOR: #765; PADDING-TOP: 5px; TEXT-DECORATION: none;} #header a {FLOAT: none} #header a:hover {COLOR: #333;} #header #current {BACKGROUND-IMAGE: url(/tabs/left_on.png);} #header #current a {BACKGROUND-IMAGE: url(/tabs/right_on.png); PADDING-BOTTOM: 4px; COLOR: #333;} .style10 {font-size: small; color: #000000; font-family: "Lucida Calligraphy"; font-weight: bold;} .style11 {font-family: "Lucida Calligraphy"; font-size: medium;} .style16 {color: #373737; font-weight: bold; font-size: x-small;} .style18 {font-size: large} .style19 {color: #373737; font-weight: bold; font-size: small;} .style20 {font-size: small} a:link {color: #000033; text-decoration: none;} a:visited {text-decoration: none;} a:hover {text-decoration: underline;} a:active {text-decoration: none;} .style15 {font-size: x-small} --> </style> </head></span>[/CODE] Morning guys, Im coding my blog and well im having big issues with the tabbed navigaion. Attached to this post you will see a image of what my headers suppose to look like. NOTE: ignore the homepage button NOTE: the green button is what i want to happen as a roll over effect Here is what it looks like in code; URL Check it in firefox and in IE, both have issues. Here is the XHTML: Code: <div id="container" align="center"> <div id="header"> <div id="navbox"> <ul> <li><a href="#">Home</a></li> <li><a href="#">What I Do</a></li> <li><a href="#">Recent Work</a></li> <li><a href="#">Contact Me</a></li> </ul> <img src="images/temp.gif" alt="dg" width="130" height="35" /> </div></div> <div id="content"> </div> <div id="footer"> </div> </div> CSS : Code: body { margin: 0px; padding: 0px; background-image: url(images/bg.gif); background-repeat: repeat-x; } #container { color: #444444; line-height: 140%; font-size: small; font-family: Tahoma; padding: 0px; margin: 0px; } #header { width: 750px; margin: 0 auto; height: 195px; background-image: url(images/headerbg.gif); background-repeat: no-repeat; } #tabnav { padding-top: 100px; } #tabnav ul { display: table-cell; list-style-type: none } #tabnav li { list-style: none; float: left; margin-left: 5px; width: 129px; height: 35px; background-image: url(images/buttonnormal.gif); background-repeat: no-repeat; } #tabnav li a { display: block; padding-top: 8px; width: 129px; height: 27px; font-size: 12px; font-family: tahoma; font-weight: bold; color: #4d4d4d; text-decoration: none; } #tabnav li a:hover { background-image: url(images/buttonroll.gif); background-repeat: no-repeat; width: 129px; height: 35px; font-size: 12px; font-family: tahoma; font-weight: bold; color: #ffffff; text-decoration: none; } #tabnav li a:active { background-image: url(images/buttonactive.gif); background-repeat: no-repeat; width: 129px; height: 35px; } #tabnav li a:visited { } #tabnav li a:visited:hover { } #content { } #footer { } Could someone help me with this please? and it it to look like the picture Its been troubling me for days. Mak I'm looking to add some angled corners to my tabs and maybe a bevel. Currently, my tabs are pure css with no js. Any way to angle the corners with css? Or am I going to have to whip out my Photoshop and use some images? I've checked out alistapart.com and found his code to be too buggy. Any links to some other tutorials would be much appreciated. NOTE: This is a learning project and NOT a REAL COMPANY My Site |