Solved

Difficulties with the div tag and browser compatibility

Posted on 2008-10-09
2
795 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
Comment Utility
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
Comment Utility
Thanks for your answer. Was 100% what i was looking for
0

Featured Post

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Have you tried to learn about Unicode, UTF-8, and multibyte text encoding and all the articles are just too "academic" or too technical? This article aims to make the whole topic easy for just about anyone to understand.
Not sure what the best email signature size is? Are you worried about email signature image size? Follow this best practice guide.
In this tutorial viewers will learn how to style transparent/translucent elements using alpha transparency in CSS Start with a normal styled element, such as a div.: Define its "background-color" property as "rgba (255, 255, 255, .5): The numbers in…
In this tutorial viewers will learn how to embed custom externally-hosted Google Fonts using the Google Font API in CSS Go to the Google Fonts website at google.com/fonts: Browse or search based on font properties or name to find a suitable font for…

762 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

9 Experts available now in Live!

Get 1:1 Help Now