Hi,
I am trying to float a div to the right with a top-margin, inside another div whose contents wrap the right-float. Top-margin of the float is fixed (233px in the code below).
I kind of got it working in Firefox 3.x. The “main-content” div is pulled up by a negative top-margin, to fill the space left out by the bottom-margin of the “header” div, leaving the right-floated div underneath. But, it uses negative-margins. While, I was trying to find an answer in the sitepoint forums, I saw someone commenting “negative margins might turn ugly”. He/She was right.
Not surprisingly, chrome (webkit) refuses to fill the space provided after the negative margin and “main-content” wraps only as far as if there were no negative-margins.
I’m sorry the code below is a bit bloated; I needed those long paragraphs to make my point.
I know, I might be asking about the obvious; would absolute positioning be a help here? I would appreciate any tips and comments.
Thank you.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Filling Top-Margin of a Float</title>
<style type="text/css">
body {
margin: 0;
padding: 0;
}
#main {
width: 987px;
margin: 0 auto;
}
#header {
height: 144px;
background: none repeat scroll 0 0 #CFC1A8;
margin-bottom: 233px;
color: #808080;
}
#header h1 {
margin: 11px 0 31px 264px;
line-height: 42px;
float: left;
font-size: 2em;
font-family: sans-serif;
}
#content {
float: left;
margin-left: 233px;
width: 610px;
line-height: 21px;
text-align: justify;
}
#main-content {
background: none repeat scroll 0 0 #FFF9EF;
color: #6F6F6F;
font-size: 15px;
margin: -233px auto 0;
padding: 15px 31px 21px;
}
#right-float {
background: none repeat scroll 0 0 #CFCAC2;
color: #5F5F5F;
float: right;
font-family: sans-serif;
font-size: 13px;
width: 181px;
padding: 16px 31px 21px 21px;
margin: 0 0 21px 21px;
}
</style>
</head>
<body>
<div id="main">
<div id="header">
<h1>Filling Top-Margin of a Float</h1>
</div> <!-- end of header -->
<div id="content">
<div id="right-float">
<p>Lorem ipsum dolor sit amet, tellus et. Molestie auctor nisl faucibus ut, lorem tortor mattis, fusce nullam enim fringilla vel.
Mauris vitae gravida dolor praesent. Id in nascetur aut odio, nam et. Pede libero bibendum sit felis pretium sodales, fusce
pharetra vestibulum bibendum morbi ultricies nullam, est nulla, id amet mollis. Nec consectetuer urna dapibus luctus ut,
ipsum nascetur consequat dapibus dui ac molestie, est nascetur id nec nunc. Mi etiam mauris facilisi sed, nec ut id,
aliquam non.</p>
</div> <!-- end of right-float -->
<div id="main-content">
<p>Lorem ipsum dolor sit amet, tellus et. Molestie auctor nisl faucibus ut, lorem tortor mattis, fusce nullam enim fringilla vel.
Mauris vitae gravida dolor praesent. Id in nascetur aut odio, nam et. Pede libero bibendum sit felis pretium sodales, fusce
pharetra vestibulum bibendum morbi ultricies nullam, est nulla, id amet mollis. Nec consectetuer urna dapibus luctus ut,
ipsum nascetur consequat dapibus dui ac molestie, est nascetur id nec nunc. Mi etiam mauris facilisi sed, nec ut id,
aliquam non, taciti donec ut. Risus integer hymenaeos velit, nisl suspendisse sollicitudin ut, sed tempor sagittis curae dolor,
volutpat massa ut sagittis. Voluptatem a enim, lobortis lectus volutpat, vitae vero diam purus morbi class, tristique donec
ante sed, ac turpis dis dui vestibulum aut.
Tortor sit voluptatem pede sodales turpis hac, vel velit suscipit, luctus bibendum molestie lacinia neque. Porttitor ante
turpis in voluptate vivamus autem, gravida magna amet porta praesent tincidunt at, nam enim sodales ante non, sit nunc
posuere odio libero nibh ac. Amet id dignissim vehicula tempor et eros. Est hendrerit est quis, et viverra est class pede
voluptas libero, sed mauris tincidunt, ultrices praesent. Iaculis vivamus sapien id, lorem ante aliquet, commodo pede imperdiet
congue, dictum integer eget sed orci.</p>
<p>Lorem ipsum dolor sit amet, tellus et. Molestie auctor nisl faucibus ut, lorem tortor mattis, fusce nullam enim fringilla vel.
Mauris vitae gravida dolor praesent. Id in nascetur aut odio, nam et. Pede libero bibendum sit felis pretium sodales, fusce
pharetra vestibulum bibendum morbi ultricies nullam, est nulla, id amet mollis. Nec consectetuer urna dapibus luctus ut,
ipsum nascetur consequat dapibus dui ac molestie, est nascetur id nec nunc. Mi etiam mauris facilisi sed, nec ut id,
aliquam non, taciti donec ut. Risus integer hymenaeos velit, nisl suspendisse sollicitudin ut, sed tempor sagittis curae dolor,
volutpat massa ut sagittis. Voluptatem a enim, lobortis lectus volutpat, vitae vero diam purus morbi class, tristique donec
ante sed, ac turpis dis dui vestibulum aut.
Tortor sit voluptatem pede sodales turpis hac, vel velit suscipit, luctus bibendum molestie lacinia neque. Porttitor ante
turpis in voluptate vivamus autem, gravida magna amet porta praesent tincidunt at, nam enim sodales ante non, sit nunc
posuere odio libero nibh ac. Amet id dignissim vehicula tempor et eros. Est hendrerit est quis, et viverra est class pede
voluptas libero, sed mauris tincidunt, ultrices praesent. Iaculis vivamus sapien id, lorem ante aliquet, commodo pede imperdiet
congue, dictum integer eget sed orci.</p>
</div> <!-- end of main-content -->
</div> <!-- end of content -->
</div> <!-- end of main -->
</body>
</html>