Html Div定位问题

Html Div定位问题,html,css,Html,Css,我有一个名为frontwidth的div id css,它包含1个img、1个标题和1个文本 当我做第二个或第三个前宽时,它会放在后面,而不是放在下面和下面。问题在于你对位置:绝对和位置:相对的使用 如果从css中删除这些内容,这些内容将不再堆叠在彼此之上。 尝试删除它们,然后调整html问题在于您对position:absolute和position:relative的使用 如果从css中删除这些内容,这些内容将不再堆叠在彼此之上。 如果从homepageimage、TitleMedium和h

我有一个名为frontwidth的div id css,它包含1个img、1个标题和1个文本


当我做第二个或第三个前宽时,它会放在后面,而不是放在下面和下面。

问题在于你对位置:绝对和位置:相对的使用

如果从css中删除这些内容,这些内容将不再堆叠在彼此之上。
尝试删除它们,然后调整html

问题在于您对position:absolute和position:relative的使用

如果从css中删除这些内容,这些内容将不再堆叠在彼此之上。
如果从homepageimage、TitleMedium和homepagetext类中删除
position:absolute
,请尝试删除它们,然后调整html

,大多数布局都会自行排序。各种
position:relative
元素没有引起问题,因为它们没有对top、bottom、left或right的任何引用-本质上,它们根本没有改变布局


要使一个元素与另一个元素相邻,可以使用float。例如,将图像向左浮动,然后将标题向左浮动。这将在图像旁边放置标题。之后,确保使用“清除”重新开始正常流动元素。或者,去掉所有额外的div——通过添加大量额外元素来改变布局。为了包装和样式化一个内联元素,请考虑一个<代码> <代码>标签。

如果从HealPigeMead、TeleMeLead和HooEpGeTeXT类中删除<代码>位置:绝对< /代码>,大部分布局会自行排序。各种
position:relative
元素没有引起问题,因为它们没有对top、bottom、left或right的任何引用-本质上,它们根本没有改变布局

要使一个元素与另一个元素相邻,可以使用float。例如,将图像向左浮动,然后将标题向左浮动。这将在图像旁边放置标题。之后,确保使用“清除”重新开始正常流动元素。或者,去掉所有额外的div——通过添加大量额外元素来改变布局。为了封装和设计内联元素,请考虑<代码> <代码>标签。根据我的注释< < /P> < P>:


哇,那是。。独特的方法?你 拥有过多的
位置:绝对
位置:相对
。我刚修好
这在Firebug中,但它会
花几分钟写一个答案,
我必须切换的规则数量
并添加

从以下每个元素中删除
位置
规则:

  • #主体
  • #frontwidth
  • #titlesbig
  • #greyline
  • #主页图像
  • #titlesmedium
  • #主页文本
  • 希望我没有忘记:D
除了
mainbody
,这些元素中的每一个都被多次使用

因此,改为使用

例如,在HTML中,更改为:

<div class="frontwidth">
.frontwidth {

}
现在,我们可以根据您的需要布置这些元素:

  • .homepageimage
    上,添加
    浮动:左
  • .frontwidth
    上,将
    溢出:隐藏添加到
  • .titlesmedium
    .homepagetext
    上添加
    左边距:340px
根据我的评论:


哇,那是。。独特的方法?你 拥有过多的
位置:绝对
位置:相对
。我刚修好
这在Firebug中,但它会
花几分钟写一个答案,
我必须切换的规则数量
并添加

从以下每个元素中删除
位置
规则:

  • #主体
  • #frontwidth
  • #titlesbig
  • #greyline
  • #主页图像
  • #titlesmedium
  • #主页文本
  • 希望我没有忘记:D
除了
mainbody
,这些元素中的每一个都被多次使用

因此,改为使用

例如,在HTML中,更改为:

<div class="frontwidth">
.frontwidth {

}
现在,我们可以根据您的需要布置这些元素:

  • .homepageimage
    上,添加
    浮动:左
  • .frontwidth
    上,将
    溢出:隐藏添加到
  • .titlesmedium
    .homepagetext
    上添加
    左边距:340px

您已将所有内容放置在
frontwidth
divs absolute中。绝对定位将元素从流中取出,所有其他元素的定位都好像它们不在流中一样

最好的解决方案是不要使用
位置:绝对值
(这是通常使用的“最后手段”)。相反,将图像向左浮动,并给标题和文本留一个左边距

还有一些建议:

  • 许多图像缺少
    alt
    属性
  • 您的源代码是一个大的
    div
    soup。“无表布局”并不意味着“仅使用
    div
    s”。不要用
    div
    s来包装东西。例如,没有必要将每个图像包装在一个div中。您可以将样式直接应用于图像。并使用有意义的元素,如
    h1
    h2
    ,等等。标题使用
    p
    ,文本段落使用
    ul
    ,列表(菜单)使用
    li
    ,等等。
    div
    s也是“最后的选择”。只有在没有其他HTML元素适用时才使用它们

您已将所有内容放置在
frontwidth
divs absolute中。绝对定位将元素从流中取出,所有其他元素的定位都好像它们不在流中一样