www.webdeveloper.com
Results 1 to 8 of 8

Thread: Div's overlapping

  1. #1
    Join Date
    Jul 2014
    Posts
    9

    Div's overlapping

    Hi

    I ran in to a little problem, I placed two divs, first one is menu bar and the second is header the menu bar is overlapping the header only show half of the header.

    my .css code, I can't figure out the problem, could someone help me solve it?

    #Main-menu-container {
    width:100%;
    background-color: #FFF;
    line-height:40px;
    position: relative;
    z-index: 9999;
    -webkit-box-shadow: 0px 1px 2px 0px rgba(50, 50, 50, 0.36);
    -moz-box-shadow: 0px 1px 2px 0px rgba(50, 50, 50, 0.36);
    box-shadow: 0px 1px 2px 0px rgba(50, 50, 50, 0.36);
    }

    #Header {
    width:100%;
    background-color:#E4E4E4;
    height:130px;
    text-align:center;
    padding:30px 30px;
    }

  2. #2
    Join Date
    Oct 2013
    Posts
    614
    First, I didn't see any overlapping using only your posted CSS applied to a couple of <div>s. The reason I state "only" is that this is probably not your entire CSS. Therefore some other rule could be pushing the Main-menu-container over the Header.

    I adjusted a couple of things in your CSS:
    • Assuming (that's dangerous) that these are getting applied to block-level elements (<div>,<ul>,<p>,<hx>, etc.) you don't need to specify width:100%. That's default presentation in every browser. So both of those don't appear in my code below.
    • I added a top margin to #Header to put a little space between it and the menu bar.

    Anyway, this looks decent enough to me, but it might not solve your problem:
    HTML Code:
    <?DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="utf-8">
    <title>#</title>
    <style>
    #Main-menu-container {
    	background-color: #FFF;
    	line-height:40px;
    	position: relative;
    	z-index: 9999;
    	-webkit-box-shadow: 0px 1px 2px 0px rgba(50, 50, 50, 0.36);
    	-moz-box-shadow: 0px 1px 2px 0px rgba(50, 50, 50, 0.36);
    	box-shadow: 0px 1px 2px 0px rgba(50, 50, 50, 0.36);
    }
    
    #Header {
    	margin-top:5px;
    	background-color:#E4E4E4;
    	height:130px;
    	text-align:center;
    	padding:30px 30px;
    }
    </style>
    </head>
    <body>
    	<div id="Main-menu-container">menu bar</div>
    	<div id="Header">header</div>
    </body>
    </html>

  3. #3
    Join Date
    Jul 2014
    Posts
    9
    Hi, here is link to code editor I pasted all my code

    http://www.cssdesk.com/7RxfW

  4. #4
    Join Date
    Jan 2004
    Location
    chertsey, a small town s.w. of london, england.
    Posts
    1,480
    Hi there Vregor,

    try it like this...
    Code:
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
    
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    
    <title>untitled</title>
    
    <link rel="stylesheet" type="text/css" href="style.css">
    <link rel="stylesheet" type="text/css" href="responsive.css" media="screen and (max-width:900px)">
    
    <style>
    body {
        margin:0;
        padding:0;
        background-color:#fff;
     }
    .nav {
        position:fixed;
        z-index:1;
        top:0;
        width:100%;
        line-height:40px;
        background-color:#ccc;
        text-align:center;
     }
    .header {
        height:150px;
        margin-top:40px;
        background-color:#e1e1e1;
     }
    .footer {
        text-align:center;
     }
    </style>
    
    </head>
    <body>
    
    <div class="wrap">
    <div class="nav">
    navigation
    </div>
    <div class="header"></div>
    
    <div class="path"></div>
    <div class="body">
    <p>
    The problem is here as you can see the navigation is overlapping the header. 
    I want it to be close to each other and not overlapping. I noticed that if 
    I add padding to the header it moves down but does this solve the problem?
    Is is a good practice
    </p>
           
    <aside></aside>
    <aside></aside>
    </div>
    
    <div class="footer">
    <footer>
    <p>&copy; Copyright 2014 Name. All rights servered.</p>
    </footer>
    </div>
    
    </div>
    		
    </body>
    </html>
    coothead

  5. #5
    Join Date
    Nov 2013
    Location
    new york
    Posts
    68
    How to avoid divs overlap...
    - should not mention position absolute
    - should not give fixed height.
    - should not forget to say clear both once float left or right comes.

  6. #6
    just write "clear: both" or "clear: left" or "clear:right" in css inside (next) div which is overlapping, according to your need.

  7. #7
    There may be problem in your adjustment like padding.otherwise there is no any in your css coding.

  8. #8
    What you are encountering is called "margin collapse" -- when the first element has a margin it often just disappears if it's parent doesn't have positioning or an overflow state. I would suggest padding the top of .wrap to push the content down, since that position:fixed removes the .nav from flow...

    Though... scratch that. I'd axe the position:fixed; -- it's annoying garbage on many displays wasting screen space that would be better used to display CONTENT. I hate websites that do that.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles