放置三个要素

时间:2013-10-09 10:18:54

标签: html css menu

我有这个css样式和html:

<!doctype html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <link href="css/style.css" rel="stylesheet" type="text/css">
        <body>
            <header class="header">
                <div id="header-wrapper">
                    <div id="box-left">
                        <div id="top-menu-left"></div>
                        <nav class="menu-left">
                            <ul id="main-nav">
                                <li><a href="http://webdesignerwall.com">Home</a>
                                </li>
                                <li><a href="http://themify.me">Themify</a>
                                </li>
                                <li><a href="http://icondock.com">IconDock</a> 
                                </li>
                                <li><a href="http://ndesign-studio.com">N.Design</a>
                                </li>
                            </ul>
                        </nav>
                    </div>
                    <div class="logo"></div>
                    <div id="box-right">
                        <div id="top-menu-right"></div>
                        <nav class="menu-right">
                            <ul id="main-nav">
                                <li><a href="http://webdesignerwall.com">Home</a>
                                </li>
                                <li><a href="http://themify.me">Themify</a>
                                </li>
                                <li><a href="http://icondock.com">IconDock</a> 
                                </li>
                                <li><a href="http://ndesign-studio.com">N.Design</a>
                                </li>
                            </ul>
                        </nav>
                    </div>
                </div>
            </header>
            <div id="content-wrapper">
                <div id="content" class="clearfix">
                        <h2 align="center">Sielsko Anielsko</h2>
W przeciwieństwie do rozpowszechnionych opinii, Lorem Ipsum nie jest tylko przypadkowym tekstem. Ma ono korzenie w klasycznej łacińskiej literaturze z 45 roku przed Chrystusem, czyli ponad 2000 lat temu! Richard McClintock, wykładowca łaciny na uniwersytecie Hampden-Sydney w Virginii, przyjrzał się uważniej jednemu z najbardziej niejasnych słów w Lorem Ipsum – consectetur – i po wielu poszukiwaniach odnalazł niezaprzeczalne źródło: Lorem Ipsum pochodzi z fragmentów (1.10.32 i 1.10.33) „de Finibus Bonorum et Malorum”, czyli „O granicy dobra i zła”, napisanej właśnie w 45 p.n.e. przez Cycerona. Jest to bardzo popularna w czasach renesansu rozprawa na temat etyki. Pierwszy wiersz Lorem Ipsum, „Lorem ipsum dolor sit amet...” pochodzi właśnie z sekcji 1.10.32.</div>
            </div>
        </body>
</html>
* {
    padding: 0;
    margin: 0;
}

.header {
    height: 200px;
    width: 100%;
    background-color: #261501;
}

.clearfix {
    clear: both;
}

#header-wrapper {
    height: 200px;
    width: 100%;
}

#box-left {
    height: 100%;
    width: 42%;
    float: left;
}

#top-menu-left {
    height: 155px;
    width: 450px;
}

#box-right {
    height: 100%;
    width: 42%;
    float: left;
}

#top-menu-right {
    height: 155px;
    width: 450px;
}

.logo {
    height: 250px;
/*  width: 300px;*/
    width: 16%;
    float: left;
    background:#ffffff url('../images/logo.png') no-repeat center center;
    -webkit-border-radius: 0px 0px 10px 10px;
    border-radius: 0px 0px 10px 10px;
    -webkit-box-shadow:  0px 1px 8px 0px rgba(0, 0, 0, 0.4);
    box-shadow:  0px 1px 8px 0px rgba(0, 0, 0, 0.4);
}

#site-logo {
}

/* navigation */

.menu-left {
    height: 45px;
    width: 100%;
    background: #fff;
    z-index: -1;
}

.menu-right {
    height: 45px;
    width: 100%;
    background: #fff;
    z-index: -1;
}

#main-nav ul {
margin: 0px;
padding: 0px;
}

#main-nav li {
list-style-type: none;
display: inline;
margin: 0 5px 0 5px;
}

#main-nav li a {
color: #000;
text-decoration: none;
}

#main-nav li a.active, #main-nav a:hover {
text-decoration: underline;
color: #D9CD60;
}

问题是右侧菜单略微重叠了徽标,边距或z-index的任何变化都没有达到预期效果或在某处出错而我无法找到原因的中心元素。

jsfiddle:jsfidle

我在发布问题后找到了解决办法,但我不确定这是否正确。现在菜单位置的另一个小问题我需要左右菜单靠近徽标。 jsfiddle看起来不错,但在本地副本菜单上下去

//上次编辑

根据包装和内容定位页脚 当我设置页脚停留在底部时它被内容隐藏,我想设置页脚粘贴到页面底部

修改

修正了内容的位置,但页脚现在位于

之上
#content {
    padding-top: 380px;
}

#tresc {
    text-align: center;
    padding: 10px;
    width: 1180px;
    background: #fff;
    -webkit-box-shadow: 0px 1px 8px 0px rgba(0, 0, 0, 0.4);
    box-shadow: 0px 1px 8px 0px rgba(0, 0, 0, 0.4);
    -webkit-border-radius: 10px;
    border-radius: 10px;
    margin: 0 auto;
}

修复了页脚问题

//修改

让某人了解如何使这些菜单适合移动设备?

1 个答案:

答案 0 :(得分:0)

如果要管理菜单和徽标之间的空间,请执行以下操作:

  1. 从所有三个元素中删除float:left
  2. display: inline-block添加到所有三个元素。
  3. 确保父元素(#header-wrapper)具有text-align: center
  4. 然后,通过更改margin的{​​{1}}属性,您可以将其与菜单分开。

    然而.logo存在一个小问题。它会在徽标和菜单之间产生小的间隙,在您的情况下会导致正确的菜单进入新的界限。要修复它,请确保这三个元素的开始和结束标记之间没有空格,如下所示:

    display: inline-block

    而不是

    (...)
    </div><div class="logo">
    

    修改

    根据您上次有关页脚的更新,
    您将(...) </div><!-- here is a newline and a tab which both are white-spaces --> <div class="logo"> 高度设置为.wrapper,这意味着它占据了窗口的所有高度。然后,您的100% div的高度设置为.bg。因此,如果浏览器窗口小于标题的500px500px,则页脚会被包装器 eaten 。我无法准确解释为什么会发生这种情况,但要解决这个问题,你所要做的就是将页脚放在包装器内 这是固定的小提琴:http://jsfiddle.net/s3snc/8/

    另外,为了避免进一步的问题,你应该将标题放在包装器中。如果包装器是200px(与height: 100%结合使用),则必须是主体的直接和唯一子项。