在HTML中,围绕一个div元素的文本。

9 浏览
0 Comments

在HTML中,围绕一个div元素的文本。

由于我不能在我的标题中使用'float'和'absolute',

我有几个嵌套在我的div中的div,其中一些是浮动的,并且有一个绝对定位的图像占位符。浮动的div用于文本值。

如何使这个div不重叠在我当前的'blue'图像占位符上?

CODEPEN

它当前使用的布局是:

+----------------------------+

| 信用卡 |

+----------------------------+

|\/\/\/\/\/\/\/\/\/\/\/\/\/\/|

+----------------------------+

| Mr Joe Bloggs 地址 |

| +-----------+ 更多地址 |

| | |___| | <-- 文本出现在图像占位符后面

| | | |

| |_______________| |

| 页脚文本 |

+----------------------------+

我想要的是:

+----------------------------+

| 信用卡 |

+----------------------------+

|\/\/\/\/\/\/\/\/\/\/\/\/\/\/|

+----------------------------+

| Mr Joe Bloggs 地址 |

| +---------------+ 更多 |

| | | 地址 | <-- 希望文本围绕它换行

| | | |

| |_______________| |

| 页脚文本 |

+----------------------------+

如何使这个div围绕图像的占位符?

0
0 Comments

问题原因:

- 问题是在使用绝对定位时,文本不能环绕在div中,导致内容重叠。

解决方法:

- 重新组织HTML结构,将.card-image div放在左栏中。

- 调整浮动宽度,使内容不重叠。

- 缺点是如果卡片小于200px,会在内容之间留下额外的空间。

以下是解决方法的代码示例:

Mr Joe Bloggs

.card-left{
  width:65%;
  min-width: 200px;
  float:left;
}
.card-right{
  width:35%;
  float:left;
}

作者表示问题的实质是,如果名称换行成两行,图像div会因为名称长度而上下跳动。

作者通过对此进行了一些调整和尝试,已经解决了90%的问题,这样可以暂时使用,直到找到一个确定的解决方案。

0
0 Comments

在这个问题中,原始的HTML代码中,.card-image的位置在.card-right之后,但是要求将.card-image的位置放在.card-right之前。为了解决这个问题,可以通过将.card-image的float属性设置为left,而不是使用position: absolute来保持其在布局中的流动性。

以下是解决这个问题的代码:

Mr Joe Bloggs
This is a very long address, with lots and lots of information available to the user. We could go on talking for years about this user! :P

.card-left {
    width:50%;
    float:left;
}
.card-right {
}
.card-image{
    /* position:absolute; */
    float: left;
    margin-right: 10px;
}

然而,由于将.card-image的float属性设置为left,如果名字过长,它可能会跳出卡片之外。为了解决这个问题,可以采取以下两种方法之一:

1.设置名字字段的特定高度,无论是占用一行还是两行。

2.将名字字段从布局中移除,使其不会影响后面的任何内容。

以上就是解决在HTML中将文本环绕在一个div中的问题的原因和解决方法。

0