Solved

Difficulties with the div tag and browser compatibility

Posted on 2008-10-09
2
796 Views
Last Modified: 2012-06-27
Hi all,

I'm kind of new in web developping an I'm trying to use the div tags in order to replicate tables division without using the :table flag (since i heard that ie7 don't support it)

So the division i'm trying to do is the following:
-1 Header on top that fills 90% of the screen centered
- 1 Center div that fills 90% of the screen centered (let's call it container)
        -->Center parts contains:
                 =>1 Division on the side that will contains menus (with a fixed width of 100px). The height of this division should be the same height as the Container (since I want to show a different bg color even if the menu doesn't fill the whole space)

                 =>1 Division that fills the rest of the space at the RIGHT of the sidebar division(will be used to display web page content). This division need to always fill the remaining space even if i resize the page.
-1 Footer on top that fills 90% of the screen centered


I'm having difficulties for the center division. I can't seem to be able to make the sidebar division's height the same as the parent container... It seem it only arrange the height depending on the content of the sidebar division...

Also i was trying to make the right division fill the remaining space at the right of the side bar. In IE 7 it works... but in firefox and chrome the right division appear at the bottom of the  sidebar division even if i define a margin or even if a specify left:105px.

Any help would be appreciated!

StyleSheet.css

body

    {

        text-align: center;

    }

    div

    {

        border: 1px solid #f60;

        text-align: left;

    }

    #head

    {

        width: 90%;

        margin: 2px auto;

    }

    #contain

    {

        margin: 0 auto;

        overflow: hidden;

        background: #eee;

        min-width: 300px;

        width: 90%;

        height: 100%;

    }

    #left

    {

        float: left;

        width: 100px;

        margin: 2px 0px 2px 0px;

    }

    #middle

{

    float: left;

    width: auto;/*

    margin-bottom: 2px;

    margin-top: 2px;

    margin-right: 2px;*/

    /*left: 105px;*/
 

}

      #foot

    {

        clear: both;

        width: 90%;

        margin: 2px auto;

    }
 
 

CODE PAGE:
 

<%@ Master Language="VB" CodeFile="MasterPage.master.vb" Inherits="MasterPage" %>
 

<!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 runat="server">

        <link href="StyleSheet.css" rel="stylesheet" type="text/css" />

    </head>

    <body>

        <div id="head">

            this is the head

        </div>

        <div id="contain">

            <div id="left">

                left<br>

                left<br>

                left</div>

            <div id="middle">

                <asp:ContentPlaceHolder id="Master_PlaceHolder" runat="server">

                                

                            </asp:ContentPlaceHolder>

            </div>

            <%-- 

            <div id="right">

                right</div>--%>

        </div>

        <div id="foot">

            foot

        </div>

    </body>

</html>

Open in new window

0
Comment
Question by:SESIT
2 Comments
 
LVL 42

Accepted Solution

by:
David S. earned 125 total points
ID: 22681272
IE7 is less standards compliant than other browsers, so get used to it displaying some things differently.

The left property will be ignored unless you give the element position:relative or position:absolute. You don't need to do that now though. What you need to do is not float #middle (as in remove the float property declaration from its style rule) and give it a left margin of 105px or whatever you want.

As to the equal height columns... Equal columns is often an illusion created with backgrounds. You could use Faux Columns to make the elements appear to have equal heights.
http://www.alistapart.com/articles/fauxcolumns/

Also percentage heights work in an odd way. I recommend you read this which tries to explain it: http://www.dynamicsitesolutions.com/css/height-and-min-height/
0
 

Author Closing Comment

by:SESIT
ID: 31504699
Thanks for your answer. Was 100% what i was looking for
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Styling your websites can become very complex. Here I'll show how SASS can help you better organize, maintain and reuse your CSS code.
This article discusses how to create an extensible mechanism for linked drop downs.
In this tutorial viewers will learn how to style a corner ribbon overlay for an image using CSS Create a new class by typing ".Ribbon":  Define the class' "display:" as "inline-block": Define its "position:" as "relative": Define its "overflow:" as …
In this tutorial viewers will learn how to style a decorative dropcap for the first letter in a paragraph using CSS. In CSS, create a new paragraph class by typing "p.fancy": Then, to style only the first letter of the first sentence, include the ps…

867 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now