如何创建左侧有两个框,右侧有一个框的布局

时间:2014-03-13 17:00:51

标签: css html5 jquery-ui html

我正在寻找一种创建网页的方法,该网页在左侧包含两个div,在左侧包含一个更宽的div:

+--------------------+------------------------------------+
|                    |                                    |
|        img1        |                                    |
|                    |                                    |
+--------------------+              img2 centered         |
| logon or register  |                                    |
|       Search       |                                    |
|                    |                                    |
+--------------------+------------------------------------+

我尝试了下面的代码,但它在同一行中呈现img1和logon div。

这是安装在不同站点的ASP.NET MVC4购物卡母版页。

有些客户希望所有这3个盒子在同一行中,如下面的代码所示。 如果合理,那么应该使用母版页中的样式覆盖或其他一些简单的方法轻松地切换这两个布局。

如何实现? 使用了jquery ui和责任幻灯片。

<!DOCTYPE html>
<style>
.site-topbanner {
    display: inline-block;
    vertical-align: middle;
}

.rslides {
    display: inline-block;
    vertical-align: middle;
    position: relative;
    list-style: none;
    overflow: hidden;
    padding: 0;
    margin: 0;
}

    .rslides li {
        -webkit-backface-visibility: hidden;
        position: absolute;
        display: none; /*width: 100%;*/
        left: 0;
        top: 0;
    }

        .rslides li:first-child {
            position: relative;
            display: inline-block;
            float: left;
        }

    .rslides img {
        display: inline-block;
        float: left;
        border: 0;
    }

</style>

<body>
  <div id="container">
    <div style="margin: 0">
      <div class="site-topbar">
          <div class='site-topbanner'>
            <a><img id='img1'  width="175px" height="60px"/></a>
          </div>

        <div class='site-topbanner'>
            <div>
              <a>Logon</a>
              or <a>Register</a>
            </div>
       <form ><input /><input class="searchbutton" type="submit" value="Search" />
</form> 
        </div>
        <ul class="rslides">
            <li>
              <a>

<img id='img2' width="375px" height="60px" />

</a>
            </li>

        </ul>

      </div>
</div>
</div>
</body>

1 个答案:

答案 0 :(得分:0)

试试这个:

<style>
.leftside{ float: left; width:175px; } /* you can use any other width you want*/
.rightside{ text-align: center; margin-left:175px } /* you may add 10px more to left margin to step off from left side*/
</style>
<body>
  <div id="container">
    <div style="margin: 0">
      <div class="leftside">
         <a><img id='img1'  width="175px" height="60px"/></a>
         <div>
           <a>Logon</a>
           or <a>Register</a>
           <form ><input /><input class="searchbutton" type="submit" value="Search" /> </form> 
         </div>
      </div>
      <div class="rightside">
        <li>
          <a>
           <img id='img2' width="375px" height="60px" />
          </a>
        </li>
      </div>
    </div>
  </div>
</body>

你写的风格:

display: inline-block;
vertical-align: middle;

不会显着影响图像的垂直位置 - 对于尺寸仅与文本行高相当的对象,它是实际的。因此,最好先了解盒子的高度,然后再编写相应的样式。

另一种方法是使用表格或元素&#34; display:table-cell&#34;式