gpt4 book ai didi

html - 将元素 float 到其容器的右上角

转载 作者:搜寻专家 更新时间:2023-10-31 08:16:14 26 4
gpt4 key购买 nike

我有一个无法编辑的 HTML 文件。

<section>
<h2>Section heading</h2>
<p>Paragraph text</p>
<img src="image.jpg" />
</section>

设计要求照片位于该部分的右上角,如果图像是该部分的顶部子元素,这很容易。不幸的是,所提供的 HTML 中的图像正好位于 HTML 部分的底部,因此简单地向右浮动是行不通的。通过一些工作,我想出了如何通过使用另一个 float 元素伪造流来绝对定位一个 div,同时将其保持在页面流中。

* {
box-sizing: border-box;
}
section {
position: relative;
outline: 1px solid #CCC;
}

div {
display: inline-block;
width: 140px;
height: 140px;
background-color: green;
border-radius: 100px;
position: absolute;
top: 0;
right: 0;
}

h2::before {
content: "";
display: inline-block;
float: right;
width: 150px;
height: 150px;
outline: 1px solid red;
}

h2 {
outline: 1px solid blue;
}

参见 https://jsfiddle.net/tnxhy0po/3/

  • Div - 用它来演示 fiddle 中的图像。
  • 红色轮廓 - 右浮动::before pesudo 元素标题。
  • 蓝色轮廓 - 标题轮廓。
  • 银色轮廓 - 部分大纲。

现在是问题。标题包含“与所有者会面,朱莉”等字样,而朱莉应该在单独的一行中。如果我为此限制标题的宽度,则 float 的间隔元素将包含在标题的宽度中,这意味着它下面的文本不会向上延伸到图像。

参见 https://jsfiddle.net/s7eke1gy/16/

我不确定如何使图像 float 在该部分的右上角。将它放在那里很容易,但让它成为流程的一部分却并非易事。

或者,如果我能找到某种方法让“Julie”移动到下一行,则当前的 float + 绝对位置解决方案会起作用。

编辑:在测试时,我将部分设置为最大宽度,但忘记将其删除。部分的宽度是动态的,因此为 100%。我已经从此处和 jsfiddles 的部分中删除了 max-width 属性。抱歉造成混淆!

最佳答案

如果我没理解错的话,你想把 Julie 放在单独的一行上,让文本像 https://jsfiddle.net/tnxhy0po/1/ 一样 float 。

你可以尝试把before和after伪元素结合起来,用:before来包裹h2(将 Julie 移到新行)和 :after 换行。

h2::before {
content: "";
display: inline-block;
float: right;
width: 150px;
height: 25px;
outline: 1px solid red;
}
h2::after {
content: "";
display: inline-block;
float: right;
width: 10px;
height: 120px;
outline: 1px solid red;
}

您可以在https://jsfiddle.net/s7eke1gy/13/ 上看到结果希望我能理解你,这会对你有所帮助。

关于html - 将元素 float 到其容器的右上角,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34477152/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com