【问题标题】:CSS HTML Semantics and PositioningCSS HTML 语义和定位
【发布时间】:2012-04-29 08:58:03
【问题描述】:

我目前正在为我的主要内容区域设计一个具有这种设计和布局的网站: http://img528.imageshack.us/img528/9483/screenshot20120429at124.png

但是,我发现使用适当的语义编写 HTML 和 CSS 有点困难。
首先,我应该使用 div 来分割左右列,还是 HTML5 部分标签和图片的旁边标签?

其次,定位每个部分或区域的最佳方式是什么?

最后,话虽如此,在每个内容区域的底部都有 2 个应该水平内联的按钮。考虑到网站用户稍后将放置在他们自己的文本中并且两个按钮都应该随着更多的文本被放置在内部而进一步向下推动或定位自己这一事实,实现这一目标的最佳方法是什么。

这个 jsfiddle 目前是使它工作的原因......但是,似乎有问题? http://jsfiddle.net/LGEKW/

如果这 2 个按钮在当前 div 中,我是使用绝对位置、相对位置还是浮动位置……我不知道。任何有关您如何进行此操作的帮助将不胜感激。

【问题讨论】:

  • 您的 2 个按钮应位于 HTML 代码中各自列的末尾。如果你想让它们水平对齐,那就更复杂了。然后它们应该相对于底部的#maincontent 绝对定位,并且可以通过在后者上足够的 padding-bottom 来避免文本的叠加。按钮将显示在“填充区”中。
  • (cont) 如果两列都不是浮动的,而是display: table-cell; vertical-align: top;(和#maincontent 上的display: table; table-layout:fixed),那么这些按钮可以很容易地放置在底部,并且相对于它们的列具有绝对定位,并且与某些祖先无关。但是这个 display 的值与 IE8+ 兼容,你会被其他方法或 IE7 的 polyfills 卡住-
  • 感谢您快速回复费利佩。您能否在 jsfiddle 中证明这一点。如果问的有点多,我会理解的。

标签: html css


【解决方案1】:
  1. 如果你使用<!doctype html>,那肯定更好用 语义标签,因为divs 根本没有语义。
  2. 在我看来,定位元素的最佳方式是使用float 财产
  3. 按钮也应该是浮动的。不是absolutely positioned。 因此,当用户添加更多内容时,它们将被下推。尝试将它们放在同一个包装器中的内容之后
  4. 在每个段落之后删除br 标签。 p 元素是 块级 - 所以你可以使用margin-bottom 属性来推送 下一个p 下一点

【讨论】:

  • 感谢您这么快回复skip405。我将使用
    标签来划分区域,左右浮动,以及图片的
  • 我还建议避免同时应用display: inline-blockfloat 属性。因为浮动自动成为块级。建议您删除 display 属性,因为它未应用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-11-07
  • 2014-08-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-29
  • 2013-07-24
相关资源
最近更新 更多