css - DIV位置问题

标签 css html

我正在尝试将我的 DIV 定位如下

Logo /菜单/社交

前奏左/前奏右

背景图

中间 1

左下/右下

问题是目前 DIV 显示如下(参见 JSFiddle http://jsfiddle.net/A4Sn8/1/ ):

标志/菜单

社交

背景图

前奏左/前奏右

中间 1

左下

右下

总而言之,我的“社交”DIV 位于菜单下方而不是右侧。 Bottom-right DIV 在左下角下方而不是在其右侧,背景图片在 Intro-left 和 intro-right 之前而不是之后。

我该如何解决这个问题?

非常感谢

HTML

 <div id="logo">Logo</div>  <!-- End DIV Logo -->
  <div id="mainmenu">
    <ul>
      <li>
        <h5>Menu I</h5>
        <ul>
          <li><a title="" href="">Biography</a> </li>
          <li><a title="" href="">Publications</a> </li>
        </ul>
      <li>
        <h5>Menu 2</h5>
        <ul>
          <li><a title="" href="">Demo</a> </li>
          <li><a title="" href="">Features</a> </li>
          <li><a title="" href="">Comparison</a> </li>
        </ul>
      </li>
      <li>
        <h5>Menu 3</h5>
        <ul>
          <li><a title="" href="">Item 1</a> </li>
          <li><a title="" href="">Item 2</a> </li>
          <li><a title="" href="">Item 3</a> </li>
        </ul>
      </li>
      <li>
        <h5>Menu 4</h5>
        <ul>
          <li><a title="" href="">ddfd</a> </li>
          <li><a title="" href="">dsfd</a> </li>
        </ul>
      </li>
    </ul>
  </div>  <!-- End DIV Main Menu -->
 <div id="social">Social</div>

    <div id="intro-left"></div>

    <div id="intro-right">
    <div id="content-headline"><h1>Novitates autem si spem</h1></div>  <!-- End DIV Content headline-->
      <p>Novitates sit.</p>

    </div> 

<div id="backpicture">backpicture</div>
<div id="middle-1">Middle-1</div>
<div id="bottom-left">bottom-left</div>
<div id="bottom-right">bottom-right</div>

CSS:

@charset"UTF-8";
/* CSS Document */

Html, body {
    margin: 0;
    padding: 0;
    height: 100%;
    background: #fff;
    font-family: 'Open Sans', sans-serif; 
}

#logo {
    position: absolute;
    top: 35px;
    left: 20px;
    color: #000;
    font-size: 20px;
}

/* mainmenu */

#mainmenu {
    margin-top: 35px;
    width: 100%;
    padding-bottom: 10px; 
    overflow: hidden;
}
#mainmenu ul {
    float: right;
    margin: 0;
    color: #000;
    list-style: none;
}
#mainmenu ul li {
    display: inline-block;
    float: left;
    width: 140px;
    line-height: 20px;
}
#mainmenu>ul>li {
    margin-left: 20px;
}
#mainmenu ul li a {
    display: block;
    text-decoration: none;
    font-weight:600;
    font-size: 12px;
}
#mainmenu ul li a, #mainmenu ul ul:hover li a {
    color: #333;
    -webkit-transition-timing-function: ease-out, ease-in, linear, ease-in-out;
    -moz-transition-timing-function: ease-out, ease-in, linear, ease-in-out;
    -ms-transition-timing-function: ease-out, ease-in, linear, ease-in-out;
    -o-transition-timing-function: ease-out, ease-in, linear, ease-in-out;
    transition-timing-function: ease-out, ease-in, linear, ease-in-out;
    -webkit-transition-duration: .4s, .4s, .4s, .4s;
    -moz-transition-duration: .4s, .4s, .4s, .4s;
    -ms-transition-duration: .4s, .4s, .4s, .4s;
    -o-transition-duration: .4s, .4s, .4s, .4s;
    transition-duration: .4s, .4s, .4s, .4s;
    -webkit-transition-property: all, -webkit-transform;
    -moz-transition-property: all, -moz-transform;
    -ms-transition-property: all, -ms-transform;
    -o-transition-property: all, -o-transform;
    transition-property: all, transform;
}
#mainmenu ul ul li a:hover, #mainmenu ul ul li.current-menu-item a {
    color: #005EBC;
    -webkit-transition-timing-function: ease-out, ease-in, linear, ease-in-out;
    -moz-transition-timing-function: ease-out, ease-in, linear, ease-in-out;
    -ms-transition-timing-function: ease-out, ease-in, linear, ease-in-out;
    -o-transition-timing-function: ease-out, ease-in, linear, ease-in-out;
    transition-timing-function: ease-out, ease-in, linear, ease-in-out;
    -webkit-transition-duration: .4s, .4s, .4s, .4s;
    -moz-transition-duration: .4s, .4s, .4s, .4s;
    -ms-transition-duration: .4s, .4s, .4s, .4s;
    -o-transition-duration: .4s, .4s, .4s, .4s;
    transition-duration: .4s, .4s, .4s, .4s;
    -webkit-transition-property: all, -webkit-transform;
    -moz-transition-property: all, -moz-transform;
    -ms-transition-property: all, -ms-transform;
    -o-transition-property: all, -o-transform;
    transition-property: all, transform;
}

social {
    right: 10px;
    Color: blue;
}

p {
    color: #333;
    font-weight:300;
    font-size: 13px;
}
h1 {
    color: #00539E;
    font-size: 30px;
    }



#intro-left {
    float: left;
    width: 35%;
}

#intro-right {
    float: right;
    padding-right: 50px;
    width: 60%;
}
#backpicture {
    height:160px;
    width: 100%;
    background: blue;
}

#middle-1 {
    width: 980px;
    background: #c81919;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

#bottom-left {
    float: left;
    width: 35%;
    background: #5421c2;
}

#bottom-right {
    float: right;
    padding-right: 50px;
    width: 60%;
    background: #2ec4a6;

}

最佳答案

您将 CSS 规则与绝对像素大小和百分比混合在一起。这并不总是一个好主意。

你可能会遇到这个问题,因为你的 50px 的 padding-right 比剩余的 5% 的可用空间要大。

我不确定你想要达到什么目的,但我想底部元素应该在相同的高度上。试试这个:

#bottom-right {
    float: right;
    padding-right: 5%; /* you defined 50px instead! */
    width: 60%;
    background: #2ec4a6;
}

样本:http://jsfiddle.net/A4Sn8/2/

关于css - DIV位置问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18636104/

相关文章:

php - 如果用户点击浏览器按钮如何显示消息?

javascript - 在 Android 浏览器上,在文本框内输入时整个页面会上下跳动?

css - 使用 MVC Razor Bootstrap 自定义主题

javascript - 强制 div 成为所有网页的最顶层元素

JavaScript 在 for 循环中附加 br 节点时出现问题

javascript - 允许使用 execCommand 在 contentEditable div 中使用 Tabbing

javascript - jQuery 结合 ('click' ) 和 if 语句

javascript - document.querySelector 不适用于 id 内的 "="符号

javascript - 创建同时悬停效果

html - 如何创建两个 li 样式?