【问题标题】:HTML/CSS: Aligning contents within divsHTML/CSS:在 div 中对齐内容
【发布时间】:2013-09-21 21:35:06
【问题描述】:

如何使用align 属性对齐</div> 中的元素,如下图所示:

  • e1:align="top"
  • e2:align="right"
  • e3:align="bottom"
  • e4:align="left"

编辑:所以在这种情况下,我不清楚我想告诉什么。这不是作业或其他任何东西,只是想自己学习HTML / CSS。我只是在问如果是否可以仅使用align 属性来实现。

希望我正在制作的东西中的这段代码 sn-ps 将帮助您了解我真正想要实现的目标:

<div id="container">

    <div id="nav-vbar">
    <button class="btnV" align="top"></button>
    <button class="btnV" align="bottom"></button>
    </div>

    <div id="navigation">
    </div>

    <div id="nav-hbar">
    <button class="btnH" align="left"></button>
    <button class="btnH" align="right"></button>
    </div>

    <div id="preview">
    </div>

</div>

我正在努力工作的结果(grayed divs are in focus)

【问题讨论】:

  • 请向您显示当前尝试此操作的 HTML。不清楚您到底遇到了哪一部分
  • 为什么不只是margin
  • 我觉得你应该开始here
  • @stackular 好吧,我尝试过,但我正在寻找一种无需太多手动计算的组织方式。
  • @mr5:您是否尝试将内容垂直和水平居中?

标签: html css alignment


【解决方案1】:

用你需要的任何东西替换 500px 和 200px。

<div style="width: 500px;height: 200px;margin: 0 auto;display: table;">
    <div style="display: table-cell; vertical-align: middle;height: 100%;text-align: center;">
        content goes here
    </div>
</div>

从那个草图中理解你想要什么有点困难。给我一些关于这有多接近的反馈。因为据我所见,你可以很好地使用这样的东西:

<div style="position: relative">
    <div style="position: absolute;top: 50px;right: 100px;bottom: 50px;left: 100px;text-align: center">
        content goes here
    </div>
</div>

你需要更明确...

【讨论】:

    【解决方案2】:

    首先不要使用 align 属性。在那种程度上,我什至不确定你是否能够使用它来管理它。你应该使用 CSS 和浮动,甚至是 inline-block。

    就此而言,您应该看看Code Academy。他们有关于 HTML、CSS 等的免费网络教程。他们也不仅仅是一些阅读,还有实际的练习。

    现在...我不会给你一套完整的 HTML/CSS,因为这里几乎没有其他人会这样做,我们也不应该这样做。这个地方是为了帮助你解决问题。缺乏知识并不是代码的问题。做一些工作和谷歌搜索以及一些简单的实验来自己尝试。当您遇到实际问题时回来告诉我们。

    也就是说,要实现这种结构,您需要 4 个 div 来管理主要的 3 列布局。一个家长,三个孩子。一个 div 包装所有其余部分,将被视为“包装器”或“容器”。其他 3 个 div 中的第一个是您的左列,第二个 div 是另一个包装器,其中包含另外 3 个 div(e1、e3 和中间的空白),然后第三个 div 是您的右列。

    使用左浮动将使它们彼此相邻对齐。

    【讨论】:

      【解决方案3】:

      请不要使用align 属性。它已经过时了。您可以更好地使用 CSS。 您将需要创建至少三个父 &lt;div&gt;s。

      你可以这样做:

      <div class="wrapper">
      
          <div class="e4">
          </div>
      
          <div class="middle">
      
              <div class="e1">
              </div>
      
              <div></div>
      
              <div class="e3">
              </div>
      
          </div>
      
          </div class="e2">
          </div>
      
      </div>
      

      然后为它们添加样式

      样式可以像

      .wrapper {
      
      }
      
      .e4 {
      float: left;
      }
      
      .e2 {
      float: right;
      }
      
      .e1 {
      display: block;
      }
      
      .e3 {
      display:block;
      }
      

      【讨论】:

      • 确保里面有内容,如果可以的话也指定宽度/高度(如果布局是固定的)。
      • @Michael 哎呀。以为他迷路了什么的。
      • 约翰,通过阅读许多这样的帖子,您将很快了解,谁有实际问题,谁对 html 了解为 0。大多数时候,他们要么是在某个他们不想参加的课程并且不想学习基本的 HTML 和 CSS,要么他们是想要一个网站但不能自己做的人,不能付钱去做,所以他们做像这样的问题来获得代码的sn-ps。在这些情况下,最好的办法是鼓励他们自己尝试,并在遇到实际代码问题而不是缺乏专业知识时回来。
      • @Michael 抱歉,我真的不知道。我自己也是新来的。下次我会按照你的方法。谢谢。
      • 不用说对不起,我可以从你的代表那里告诉你的新消息,因此评论;)这里的其他一些人只会跳下你的喉咙对你大喊大叫,因为他们在这里工作,因为他们讨厌他们的工作。我想在有人对你这样做之前我会参与其中;)
      猜你喜欢
      • 1970-01-01
      • 2012-02-21
      • 1970-01-01
      • 1970-01-01
      • 2020-05-14
      • 1970-01-01
      • 2012-04-16
      • 2014-02-05
      • 2015-10-29
      相关资源
      最近更新 更多