Solved

Difficulties with the div tag and browser compatibility

Posted on 2008-10-09
2
799 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
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

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
need help with share buttons 11 72
Asp.net 4 FileUpload gets "Permission Denied" when Uploading file 8 37
Use Mid in Html 6 23
html5 1 19
This article describes how to create custom column layout styles for Bootstrap. The article uses 5 columns to illustrate the concept, but the principle can be extended to any number of columns.
Use these top 10 tips to master the art of email signature design. Create an email signature design that will easily wow recipients, promote your brand and highlight your professionalism.
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
Video by: Mark
This lesson goes over how to construct ordered and unordered lists and how to create hyperlinks.

730 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