I have created a table program in which everything works fine, but when I try to make it responsive using media queries it doesn't seem to work as you can see it is uneven. Here is the CodePen for the whole code: http://codepen.io/meeksmadness/pen/YNwOoE. I have provided some images to help if you need them and any help is appreciated.
Regular Screen:
Responsive Screen:
table {
position:relative;
z-index:0;
overflow:hidden;
border:1px solid black;
border-radius:5px;
border-collapse: collapse;
display:block;
max-width:600px;
width:100%;
margin:0 auto;
margin-top:50px;
background-color:white;
-webkit-box-shadow: 10px 10px 15px -7px rgba(0,0,0,0.60);
-moz-box-shadow: 10px 10px 15px -7px rgba(0,0,0,0.60);
box-shadow: 10px 10px 15px -7px rgba(0,0,0,0.60);
}
tr {
color:black;
font-size:18px;
font-weight:400;
}
tr:nth-child(odd){
background-color:#C5C5C5;
}
tr:first-child {
background-color:#191919;
color:#D3D3D3;
font-size:23px;
font-weight:200;
}
tr:first-child td {
border-bottom:4px solid #696969;
}
tr:last-child td {
border-bottom:0;
}
td {
position:relative;
overflow:hidden;
width:200px;
height:auto;
padding:20px;
border-bottom:1px solid #474747;
border-right: 1px solid #474747;
}
td:last-child {
border-right:0;
}
td span.special {
display:block;
float:right;
cursor:pointer;
}
td>a.delete {
position:absolute;
cursor:pointer;
opacity:0;
top:0;
bottom: 0;
right: 0;
background: red;
padding: 18px;
font-size:22px;
}
#media (max-width:600px){
table {
width:100%;
}
}
#media (max-width:357px){
td span.special {
float:none;
text-align:center;
}
}
Related
This is my problem:
If i used standart pictures and description (like picture 1) - i have good appearance of the site. But when I use the data from the database, the block catalog moves down the left (picture 2).
The code is the same in both cases, but the appearance is very different
#wrapper {
margin-top:40px;
width: 1200px;
margin: 0 auto;
height: auto !important;
}
#category
{
padding:10px 10px 10px 20px;
border-left: 1px solid #d9d9d9;
border-right: 1px solid #d9d9d9;
border-bottom: 1px solid #d9d9d9;
width:200px;
clear:both;
display:block;
}
#category ul li{
word-wrap: break-word;
list-style-image: url(/neoshop/images/check.png);
padding:10px 0px 10px 10px;
border-bottom:1px dotted #cccccc;
}
#category ul li:last-child{
border-bottom:0px dotted #cccccc;
}
#category ul li a{
font:15px/1.3 "Arial", Arial,Helvetica, sans-serif;
margin-top:0px;
font-weight:100;
display:block;
color:#2f3638;
text-decoration:none;
line-height:20px;
}
#category ul li a:hover{
color:#0bb1e8;
}
#category ul ul a{
list-style-image:none;
color:#8b8b8b;
background:#fff;
}
#category ul ul{
margin-top:5px;
display:none;
color:#8b8b8b;
background:#fff;
}
#category ul ul li{
word-wrap: break-word;
list-style-image: none;
padding:10px 0px 10px 10px;
border-bottom:1px dotted #cccccc;
}
.catalog
{
margin-left:12px;
float:left;
width:948px;
}
.product-main
{
width:236px;
height:285px;
float:left;
}
.product{
border-right:1px dotted #cccccc;
padding:0 15px;
}
.product h2{
color:#111017;
text-align:center;
font:bold 14px/1.3 Tahoma;
margin:0 0 15px 0;
}
.product h3{
color:#111017;
text-align:center;
font:bold 12px/1.3 Tahoma;
margin:0 0 15px 0;
}
.product-img{
text-align:center;
}
.product-img img{
weight:114px;
height:112px;
}
.price{
font:13px/1.3 "Arial", Arial,Helvetica, sans-serif;
color:#0bb1e8;
}
.price span{
font:13px/1.3 "Arial", Arial,Helvetica, sans-serif;
color:#111017;
text-align:center;
}
.price a{
clear:both;
float:right;
}
.bot-dot
{
border-bottom:1px dotted #cccccc;
margin:20px;
}
.product-main:nth-child(4n) .product
{
border-right:none;
}
.product-main:last-child .product
{
border-right:none;
}
.product-main:nth-child(4n) .bot-dot
{
margin: 20px 0 20px 20px;
}
.product-main:nth-child(4n+1) .bot-dot
{
margin: 20px 20px 20px 0px;
}
It must be like this:
But i have this:
when the actual images are being loaded,
the total width of your catalog increases more than 948px and so it has to move to next line.
in
.product-img img{
weight:114px;
height:112px;
}
instead of width you have specified weight by mistake
When I hover the first div for example, it is meant to change the bg color, and the color changes but it flashes when changing the color and it's not smooth at all in Chrome. but it is really smooth in IE and Firefox ... Why is that? (that's all I want to know)
CSS:
.bg {
position:absolute;
top:0;
left:0;
bottom:0;
right:0;
width:100%;
height:100%;
background-color:#D8D8D8;
z-index:-10;
}
.DIVOne {
color:#FFF;
margin-top:10%;
background-color:#A2D700;
height:300%;
line-height:200%;
width:20%;
padding:0 20px;
font-size:300%;
font-family:Verdana, Geneva, sans-serif;
margin-left:20%;
border: solid 5px #000;
border-width:0 4px 5px 0;
border-radius:5px;
border-color:transparent #ddd #999 transparent;
background-clip:padding-box;
text-align:center;
z-index:-5;
}
.DIVOne:hover {
border-width:0 2px 3px 0;
margin-right:4px;
position:relative;
left:2px;
top:3px;
}
.DIVOne:hover ~ .bg {
background-color:#A2D700;
transition:all 0.5s;
}
.DIVTwo {
color:#FFF;
background-color:#FF8000;
height:300%;
line-height:200%;
width:20%;
margin-top:10px;
padding:0 20px;
font-size:300%;
font-family:Verdana, Geneva, sans-serif;
margin-left:20%;
border: solid 5px #000;
border-width:0 4px 5px 0;
border-radius:5px;
border-color:transparent #ddd #999 transparent;
background-clip:padding-box;
text-align:center;
z-index:-6;
}
.DIVTwo:hover {
border-width:0 2px 3px 0;
margin-right:4px;
position:relative;
left:2px;
top:3px;
}
.DIVTwo:hover ~ .bg {
background-color:#FF8000;
}
.DIVThree {
color:#FFF;
background-color:#0080FF;
height:300%;
line-height:200%;
width:20%;
margin-top:10px;
padding:0 20px;
font-size:300%;
font-family:Verdana, Geneva, sans-serif;
margin-left:20%;
border: solid 5px #000;
border-width:0 4px 5px 0;
border-radius:5px;
border-color:transparent #ddd #999 transparent;
background-clip:padding-box;
text-align:center;
z-index:-6;
}
.DIVThree:hover {
border-width:0 2px 3px 0;
margin-right:4px;
position:relative;
left:2px;
top:3px;
}
.DIVThree:hover ~ .bg {
background-color:#0080FF;
}
HTML:
<div class="DIVOne"> Content </div>
<div class="DIVTwo"> Content </div>
<div class="DIVThree"> Content </div>
demo: http://www.jsfiddle.net/aryanf/w7unZ/
The problem is with the following code
.DIVOne:hover {
border-width:0 2px 3px 0;
margin-right:4px;
position:relative;
left:2px;
top:3px;
}
It's the position:relative; property that is causing the problem on Chrome. Try removing it. Besides, I don't see why you have introduced it in the first place. It seems to work fine without it.
.DIVOne:hover {
border-width:0 2px 3px 0;
margin-right:4px;
//position:relative;
left:2px;
top:3px;
}
If it is not rendering and appearing smooth on other browsers, try to add some css code additionaly inside your CSS file.
Suppose if you need Rounded Corner Border in IE, you will use
.ddlStyle {
border-radius: 4px;
height: 22px;
width: auto;
max-width: 300px;
min-width: 120px;
padding: 0 0 0px 0px;
padding-right: 4px;
font-family: Calibri,Verdana, Tahoma, 'Segoe UI';
}
But this may not render perfect on all other Browser due to different behavior of Rendering Engine. So make addition of some lines and try on other browsers.
.ddlStyle {
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
border-radius: 4px;
height: 22px;
width: auto;
max-width: 300px;
min-width: 120px;
padding: 0 0 0px 0px;
padding-right: 4px;
font-family: Calibri,Verdana, Tahoma, 'Segoe UI';
}
Hope, it solves the problem.
I have a template but when I scroll down the page it seems to be really lagging
I have a 8 core computer with 8gb of ram so I know it ent my computer. I have had other users telling me that my site is running slow. I change my layout and all works fine so I know its not the server. I change my html layout and put all my php scripts onto a new html / css layout and works fine with no lag but I like this layout...
Here is my css which i think is the problem
html
{
background: url(../images/background.png);
background-color: transparent;
overflow-y: auto;
}
body {
width: 1000px;
margin: auto;
padding: 0;
text-align: center;
color: #000000;
font-family: verdana;
font-size: 0.7em;
}
div.container
{
width:100%;
height:100%;
position:absolute;
margin:auto;
}
div.holder
{
width:990px;
background-color:#d7f7f7;
height:100%;
margin:auto;
margin-top:0px;
background-image:url('../images/swampertbackground.png');
background-repeat:no-repeat;
background-position:bottom center;
}
#container{
height: 100%;
width: 1000px;
background-color: #d7f7f7;
position: fixed;
border-bottom-left-radius:10px;
border-bottom-right-radius:10px;
border-top-left-radius:10px;
border-top-right-radius:10px;
border-left: solid #25a5a6 2px;
border-right: solid #25a5a6 2px;
overflow-y: auto;
overflow-x: auto;
}
div.banner
{
height:125px;
width:700px;
display:block;
position:absolute;
margin-top:2px;
margin-left:140px;
background-color:#FFF;
border-bottom-left-radius:7px;
border-bottom-right-radius:7px;
border-top-left-radius:7px;
border-top-right-radius:7px;
border: solid #25a5a6 1px;
background-image:url('../images/banner.png');
box-shadow: 3px 3px 3px #4b8384;
}
ul , li
{
margin:0px;
padding:0px;
list-style:none;
}
div.left_navigation
{
position:absolute;
margin-left:5px;
margin-top:150px;
box-shadow: 3px 3px 3px #4b8384;
border-top-left-radius:7px;
border-top-right-radius:7px;
border-bottom-left-radius:7px;
border-bottom-right-radius:7px;
width: 152px;
}
div.left_navigation2
{
position:absolute;
margin-left:5px;
margin-top:300px;
box-shadow: 3px 3px 3px #4b8384;
border-top-left-radius:7px;
border-top-right-radius:7px;
border-bottom-left-radius:7px;
border-bottom-right-radius:7px;
}
div.left_navigation3
{
position:absolute;
margin-left:5px;
margin-top:400px;
box-shadow: 3px 3px 3px #4b8384;
border-top-left-radius:7px;
border-top-right-radius:7px;
border-bottom-left-radius:7px;
border-bottom-right-radius:7px;
}
div.left_navigation4
{
position:absolute;
margin-left:5px;
margin-top:500px;
box-shadow: 3px 3px 3px #4b8384;
border-top-left-radius:7px;
border-top-right-radius:7px;
border-bottom-left-radius:7px;
border-bottom-right-radius:7px;
}
div.left_navigation5
{
position:absolute;
margin-left:5px;
margin-top:600px;
box-shadow: 3px 3px 3px #4b8384;
border-top-left-radius:7px;
border-top-right-radius:7px;
border-bottom-left-radius:7px;
border-bottom-right-radius:7px;
}
div.left_navigation6
{
position:absolute;
margin-left:5px;
margin-top:700px;
box-shadow: 3px 3px 3px #4b8384;
border-top-left-radius:7px;
border-top-right-radius:7px;
border-bottom-left-radius:7px;
border-bottom-right-radius:7px;
}
li.header
{
width:150px;
height:14px;
background-color:#54c0c1;
border:1px #188c8d solid;
border-top-left-radius:7px;
border-top-right-radius:7px;
background-image:url('../images/header.png');
border-left:2px #188c8d solid;
color:#FFFFFF;
font-weight:900;
}
li.links
{
width:150px;
height:16px;
background-color:#c1f9fa;
border-bottom:1px #188c8d solid;
border-left:2px #188c8d solid;
border-right:1px #188c8d solid;
color:#074647;
}
li.links:hover
{
background-color:#FFFF00;
color:#296584;
font-weight:bold;
text-shadow: 1px 2px 2px #0096ff;
}
li.footer
{
width:150px;
height:9px;
border-bottom-left-radius:7px;
border-bottom-right-radius:7px;
background-image:url('../images/header.png');
border-bottom:1px #188c8d solid;
border-left:2px #188c8d solid;
border-right:1px #188c8d solid;
}
div.centerboxholder
{
position:absolute;
top:150px;
margin-left:165px;
width:661px;
border-top-left-radius:7px;
border-top-right-radius:7px;
border-bottom-left-radius:7px;
border-bottom-right-radius:7px;
}
div.centerbox
{
position:absolute;
width:661px;
border-top-left-radius:7px;
border-top-right-radius:7px;
border-bottom-left-radius:7px;
border-bottom-right-radius:7px;
}
li.chead
{
width:660px;
height:14px;
border-top-left-radius:7px;
border-top-right-radius:7px;
background-image:url('../images/header.png');
border-left:2px #188c8d solid;
border-right:1px #188c8d solid;
border:1px #188c8d solid;
color:#FFFFFF;
font-weight:900;
box-shadow: 0px 0px 3px #4b8384;
}
li.ccontent
{
width:659px;
background-color:#c1f9fa;
border-bottom:1px #188c8d solid;
border-left:2px #188c8d solid;
color:#000;
font-size:0.9em;
border-right:1px #188c8d solid;
box-shadow: 3px 3px 3px #4b8384;
}
li.cfoot
{
width:659px;
height:9px;
border-bottom-left-radius:7px;
border-bottom-right-radius:7px;
background-image:url('../images/header.png');
border-bottom:1px #188c8d solid;
border-left:2px #188c8d solid;
border-right:1px #188c8d solid;
box-shadow: 3px 3px 3px #4b8384;
}
div.right_navigation
{
position:absolute;
margin-left:834px;
top:150px;
box-shadow: 3px 3px 3px #4b8384;
border-top-left-radius:7px;
border-top-right-radius:7px;
border-bottom-left-radius:7px;
border-bottom-right-radius:7px;
}
table
{
padding:0px;
margin:0px;
border: 0px;
font-size:0.9em;
font-weight:bold;
color:#000;
}
td
{
border:1px #188c8d solid;
width:200px;
text-align:center;
}
#textfield
{
color: #000000;
font-family: verdana;
font-size: 1em;
font-weight: bold;
background-color:#e2fffc;
border:1px #188c8d solid;
border-radius:5px;
}
#gender
{
color: #000000;
font-family: verdana;
font-size: 1em;
font-weight: bold;
background-color:#e2fffc;
border:1px #188c8d solid;
border-radius:5px;
width:110px;
padding:0px;
}
#gendertop
{
color: #000000;
font-family: verdana;
font-size: 1em;
font-weight: bold;
background-color:#e2fffc;
border:1px #188c8d solid;
}
#genderbottom
{
color: #000000;
font-family: verdana;
font-size:1em;
font-weight: bold;
background-color:#e2fffc;
border:1px #188c8d solid;
}
#button
{
background-color:Transperent;
color: #000000;
font-family: verdana;
font-size: 1em;
font-weight: bold;
background-color:#e2fffc;
border:1px #188c8d solid;
width:100px;
padding-top:0px;
margin:0px;
height:16px;
padding-bottom:5px;
}
#Avatar
{
color: #000000;
font-family: verdana;
font-size: 1em;
font-weight: bold;
background-color:#e2fffc;
border:1px #188c8d solid;
border-radius:5px;
width:110px;
}
#changer
{
color: #000000;
font-family: verdana;
font-size: 1em;
font-weight: bold;
background-color:#e2fffc;
border-bottom:1px #188c8d solid;
}
li.topper
{
height:12px;
border:1px #188c8d solid;
border-top-left-radius:5px;
border-top-right-radius:5px;
background-image:url('../images/header.png');
}
li.bottomer
{
border:1px #188c8d solid;
border-bottom-left-radius:5px;
border-bottom-right-radius:5px;
background-image:url('../images/header.png');
height:12px;
}
#button:hover
{
cursor:pointer;
}
a:link { color:#296584; text-decoration:none;display:block;}
a:visited { color:#296584; text-decoration:none;}
a:hover { color:#296584; text-decoration:none;text-shadow: 1px 2px 2px #0096ff;}
a:active {color:#296584; text-decoration:none; background-color:}
Is there anything in that css which will make it lag ?
it says here
http://jigsaw.w3.org/css-validator/validator?uri=pokemontoxic.net&profile=css21&usermedium=all&warning=1&vextwarning=&lang=en
i have 81 errors are these big errors ?
Use this tool to stress test your css, the author had issues with border radius on large elements: http://andy.edinborough.org/CSS-Stress-Testing-and-Performance-Profiling
border-radius has been shown to be process intensive, in one browser specifically, I think it was Firefox. With position:fixed, I can see those as being your only two problem areas, especially with the number of radius properties you have. Whether that is enough to cause you problems you would notice, I don't know.
I dont think so.
check how much 'heavy' are your images; Use png if you want transparency if not, convert it to jpg that are lighter.
one thing you can check with chrome is the unused styles:
press F12, in Audits tab and then click to the Run button. And in inform you can see the things that you dont use.
You can minimize the css (for example with this)
And the last you can add gzip compression
Good Luck
Your background seems to be a large png, and you're using absolute positioning to place the page contents on top of a still background. I've seen this cause issues before with scrolling lag. Change:
position:absolute;
To:
position:relative;
In div.container and as mentioned before scale down your images. At least begin by making the HTML tag background image a jpeg.
I have a footer on my page, where the content is placing correctly, under div#main (which includes div#left and div#right), but the background (the big blue thing) is placed way over div#main.
I have tried display:block and z-indexing the divs, to no avail.
Anyone have any idea what's going on?
Code:
body {
background:url(aaa-bg.jpg) repeat-x #e7e9e9;
margin:0;
padding:0;
color:#383838;
font:12pt verdana;
}
img {
border:0;
}
a:link {
color:#e29511;
text-decoration:none;
}
a:hover {
color:#e29511;
text-decoration:underline;
}
a:visited {
color:#808080;
}
/* header ------------------------------------------------------------------------------ */
#header {
margin:10px auto 10px;
width:800px;
height:97px;
}
/* nav ------------------------------------------------------------------------------ */
#nav {
width:800px;
margin:0px auto 3px;
height:30px;
}
#nav ul {
margin:0 0px 0px 0;
padding:0;
list-style:none;
}
#nav ul li {
width:140px;
height:20px;
padding:5px 0 5px 0;
float:left;
margin:0 10px 0 0;
background:#cdcdcd;
color:#000000;
position:relative;
z-index:99999;
text-align:center;
border-top-left-radius:10px;
border-top-right-radius:10px;
border-top:3px solid transparent;
border-left:3px solid transparent;
border-right:3px solid transparent;
}
#nav ul li:hover {
cursor:pointer;
border-top:3px solid #e29511;
border-left:3px solid #e29511;
border-right:3px solid #e29511;
}
#nav ul li.home {
width:140px;
height:20px;
padding:5px 0 5px 0;
float:left;
margin:0 10px 0 0;
background:#cdcdcd;
color:#000000;
position:relative;
z-index:99999;
text-align:center;
border-top-left-radius:10px;
border-top-right-radius:10px;
border-top:3px solid transparent;
border-left:3px solid transparent;
border-right:3px solid transparent;
}
#nav ul li.home:hover {
cursor:pointer;
-moz-box-shadow: 5px 5px 2px #656565;
-webkit-box-shadow: 5px 5px 2px #656565;
box-shadow: 5px 5px 2px #656565;
}
#nav ul li ul {
width:140px;
margin:5px 0 0 -3px;
float:left;
-moz-box-shadow: 5px 5px 2px #656565;
-webkit-box-shadow: 5px 5px 2px #656565;
box-shadow: 5px 5px 2px #656565;
background:url(aaa-navbg3.png) repeat-x #ffffff;
border-bottom:3px solid #e29511;
border-left:3px solid #e29511;
border-right:3px solid #e29511;
}
#nav ul li ul li {
width:140px;
font-weight:normal;
font-size:10pt;
background:none;
border-top:1px solid #808080;
border-left:none;
border-right:none;
border-top-left-radius:0px;
border-top-right-radius:0px;
}
#nav ul li ul li:hover {
background:url(aaa-libg2.png) repeat-x;
border-top:1px solid #808080;
border-left:none;
border-right:none;
}
/* toppane ------------------------------------------------------------------------------ */
#toppane {
width:100%;
height:210px;
background:url(aaa-toppane3.jpg) repeat-x;
padding:20px 0 20px;
margin:0px 0 20px 0;
position:relative;
z-index:-1;
border-top:1px solid #000000;
border-bottom:1px solid #000000;
}
#toppane-inner {
width:800px;
height:210px;
margin:0px auto;
}
/* slideshow ------------------------------------------------------------------------------ */
#window {
clear:both;
width:800px;
height:210px;
overflow:hidden;
position:relative;
margin:0;
padding:0;
}
#slideshow {
width:1600px;
height:420px;
overflow:hidden;
position:relative;
margin:0;
padding:0;
}
#slideshow li {
width:800px;
height:210px;
float:left;
display:inline;
margin:0;
padding:0;
}
/* main ------------------------------------------------------------------------------ */
#main {
width:800px;
margin:5px auto;
padding:0px;
}
#left {
width:390px;
margin:0 20px 0 0;
padding:0px;
float:left;
}
#right {
width:390px;
font-size:11pt;
margin:0;
padding:0px;
float:right;
}
#right img {
margin:0 0 5px 0;
}
#right a:link {
text-decoration:none;
color:#383838;
}
#right a:hover {
text-decoration:none;
color:#383838;
}
#right a:visited {
text-decoration:none;
color:#383838;
}
h2 {
width:390px;
font:14pt verdana;
border-bottom:1px solid #383838;
margin:0 0 5px 0;
text-align:right;
}
.segment {
margin:0 0 40px 0;
}
#footer {
background:blue;
width:800px;
margin:30px auto;
color:#ffffff;
}
#footer table {
width:800px;
}
#footer tr {
width:800px;
}
#footer td {
width:200px;
}
Adding clear:left; to your footer solves this problem.
The issue you're seeing is that #left and #right both extend outside of the #main div since they're floating and nothing inside the #main div is clearing those floats.
The footer is then stacking vertically against the #main div which is not the same height as #left and #right.
One thing you can do to pull the main div down over the floated items is add something at the end of it to clear the floats. You can do this with CSS as follows:
#main:after{
content:".";
display:block;
clear:both;
visibility:hidden;
}
What you need to use is what's called a "clear fix". Things are overlapping because the browser doesn't know when to stop "floating" things, so to speak.
You can either:
a) Add after your main divs the following
<div style="clear: both;"> </div>
b) Add the clear: both style to your footer itself.
My class goes like this to expand the div dynamically as min-height is given. May i know what goes wrong with this.
.gil_Individual_FormPanelBg
{
width:500px;
min-height:50px !Important;
float:none;
margin:5px auto;
padding:4px;
background-color:#f7f7f7;
border:Solid 1px #e6e6e6;
-border-radius:4px 4px 4px 4px;
-Moz-border-radius:4px 4px 4px 4px;
-webkit-border-radius:4px 4px 4px 4px;
}
Shabir, looks as though you have got a whole heap of float:left's when there is no need.
Try this updated CSS:
.gil_Individual_FormPanelBg
{
width:500px;
min-height:50px;
margin:5px auto;
padding:4px;
background-color:#f7f7f7;
border:Solid 1px #e6e6e6;
-border-radius:4px 4px 4px 4px;
-Moz-border-radius:4px 4px 4px 4px;
-webkit-border-radius:4px 4px 4px 4px;
}
.gil_Individual_FormWrapper
{
position:relative;
height:auto;
width:100%;
margin:2px auto;
padding:0px;
}
.gil_Individual_FormRow
{
position:relative;
width:100%;
min-height:20px !Important;
margin:3px 0 0 0;
padding:0px;
}
.gil_Individual_FormLable
{
position:relative;
width:150px;
height:15px;
float:left;
margin:0px;
padding:0px;
font-family:'Helvetica', 'Arial', 'Sans-Serif';
font-size:11px;
font-weight:Normal;
color:#3B5998;
text-align:left;
text-decoration:none;
text-shadow: 0 1px 1px rgba(0,0,0,.3);
}
.gil_Individual_FormCtrl
{
position:relative;
width:350px;
min-height:15px !Important;
float:left;
margin:0px;
padding:0px;
font-family:'Helvetica', 'Arial', 'Sans-Serif';
font-size:11px;
font-weight:Normal;
color:#333;
text-align:left;
text-decoration:none;
text-shadow: 0 1px 1px rgba(0,0,0,.3);
}
HTML stays the same. If you are going to add the class float. Consider creating a clear class to place after the floated DIV.
Class something like this:
.clear{
clear:both;
margin:0;
padding:0;
height:1px;
}
After reviewing the link you posted, it does look like you have probably over complicated the build but hopefully it should work the way you want it to now.
Dan