我如何在旁边和顶部堆叠div?

时间:2013-04-12 20:56:05

标签: html css

我对html或css了解不多,但我做了这么多;

enter image description here

我想堆叠div,所以它看起来像这样(请原谅糟糕的绘图);

enter image description here

我已经搜索了如何尝试不同的东西,但喜欢/不喜欢的盒子总是不会移动或移动到最左边/非常右边。

<div style="float:left;width:300px;height:350px;text-align:center;">
<div style="float:left;width:500px;height:200px;text-align:center;">
<div id="wrapper">
<div style="align=center;">
<div id="first">1</div>
<div id="second">2</div>

这是我拥有的三个div。 第一个有链接[添加/消息等]

第二个人有“thelastgecko”和个人资料。

我正在尝试使用最后一个框来表示喜欢/不喜欢,但无论我做什么都不起作用。

3 个答案:

答案 0 :(得分:2)

您通常使用一个“巨大”div,将其设置在1024像素宽以下,以便旧屏幕可以查看它,然后您通常将其置于屏幕中间。然后在那个大的div里面你把“加我 - 消息我 - 画廊”放“浮动:左”或“位置:绝对”我更喜欢后者。然后你制作另一个包含“最后一只壁虎”的div +不喜欢&amp;喜欢和居中那个div,然后我会做另一个div并做一个“浮动:正确”或“位置:绝对;左:'巨大的宽度减去这个宽度”。

我确实用文字和可读的方式写了所有内容,因为放弃代码也不会教授



但是如果你仍然没有得到它,这是我的想法:

<html>
  <head>
    <style>
      body{margin:0px;padding:0px;width:100%;height:100%;}
      #container{width:900px;margin:auto;margin-top:200px;}
      #add_me,#dislike_text{position:absolute;width:200px;background-color:#ace;}
      #last_gecko,#holder{margin:auto;width:500px;background-color:#eca;}
      #likes,#dislikes{float:left;width:250px;display:block;background-color:#cae;}
      #dislikes{background-color:#cea;}
      #dislike_text{margin-left:700px;background-color:#eac;}
    </style>
  </head>
  <body>
    <div id="container">
      <div id="add_me">add me<br>message me<br>wuts going on</div>
      <div id="dislike_text">dislike text</div>
      <div id="last_gecko">
      Last Gecko
        <div id="holder">
          <div id="dislikes">dislikes</div>
          <div id="likes">likes</div>
        </div>
      </div>
    </div>
  </body>
</html>

让它变得可行,它至少会告诉你移动的方向,它可能不是最好的方式,但它是我的方式。

答案 1 :(得分:0)

您可以执行以下操作:http://jsfiddle.net/jAKgd/

CSS

        #wrapper {
            width: 800px;
        }
        #leftColumn {
            float: left;
            height: 800px;
            width: 200px;
            margin-right: 5px;
        }
        #leftColumn a {
            display: block;
        }
        #rightColumn {
            width: 100%;
        }
        #contentDislike,
        #contentLike {
            display: inline-block;
            width: 250px;
        }

显然,可以更改高度/宽度以满足您的需求。我只是做了一个简单的例子。

HTML

<div id="wrapper">
  <div id="leftColumn"> <a href="#">Link</a>
    <a href="#">Link</a>
    <a href="#">Link</a>
    <a href="#">Link</a>
    <a href="#">Link</a>
   </div>
   <div id="rightColumn">
    <div id="contentTop">
        <img src="/images/image_name.jpg" alt="image text here" />
        <p>THIS IS WHERE YOUR PROFILE TEXT WOULD SHOW. IT CAN EXPAND HEIGHT AS NEEDED.</p>
    </div>
    <div>
        <div id="contentDislike">DISLIKE CONTENT HERE</div>
        <div id="contentLike">LIKE CONTENT HERE</div>
    </div>
    <div>YOUR LOWER TWO COLUMNS WILL GO IN THIS DIV</div>
  </div>
</div>

答案 2 :(得分:0)

使用花车将div放在某个地方是一种糟糕的设计方式。 这是一种更好的使用方式,例如,flex布局。 但并非所有浏览器都支持此功能(但差不多。如果可以,请选择此选项)。

另一个解决方案就是这个: 使用width选项。当然,您将html的任何div的宽度设置为固定数字,以百分比表示。 Watch this example 但是如果你这样做,你将不得不关注非常大和非常小的屏幕,我认为你必须编写与(max-width)(min-width)一起使用的替代css样式表。

还有另一个解决方案:gridlayout。它是自2013年以来的标准的一部分(我认为),但它还没有得到很好的支持。但也许将来。

希望我能帮忙