javascript - 如何在不使用位置 : absolute? 的情况下强制 div 保持在同一行

标签 javascript html asp.net css

我试图在 li 中并排放置一个图像元素和一个 anchor 元素。 .如果 anchor 元素的文本很长,它应该换行并从与 anchor 元素第一行相同的水平偏移量开始。

我的第一次尝试:

<h2>Related</h2>
<ul class="list-unstyled owner-list">
    @foreach (var package in Model.RecommendedPackages)
    {
        <li>
            <a href="@Url.Package(package)" title="@package.Id" target="_blank">
                <img class="owner-image" aria-hidden="true" alt="" width="32" height="32"
                    src="@(PackageHelper.ShouldRenderUrl(package.IconUrl) ? package.IconUrl : Url.Absolute("~/Content/gallery/img/default-package-icon.svg"))"
                    @ViewHelpers.ImageFallback(Url.Absolute("~/Content/gallery/img/default-package-icon-256x256.png"))
                    />
            </a>
            <a href="@Url.Package(package)" title="@package.Id" target="_blank">@package.Id</a>
        </li>
    }
</ul>

结果是:

因为我希望 anchor 文本在同一行开始,所以我使用了修复 here并应用 position: absolute;到第二个 anchor :

<li style="position: relative;">
    ...
    <a href="@Url.Package(package)" title="@package.Id" target="_blank" style="position: absolute;">@package.Id</a>
</li>

结果是:

然后我添加了自动换行:

<li style="position: relative; word-break: break-all;">

结果是:

现在这仍然不令人满意,因为它没有调整 li 的高度响应换行文本,所以 margin-bottomli 之间正如您在上面看到的那样,s 无法正常工作。参见 this answer获取更多信息。

一方面,我需要 position: absolute;为了使图像上的文本保持在同一行。另一方面,我没有 position: absolute;因为它会导致 div不占用文档流中的任何空间,导致 li不扩展,导致margin-bottomli 上不能正常工作。我该如何处理?

最佳答案

对于每个需要水平对齐的子元素,将css设置为:

position: relative;
display: inline-block;

如果需要调整子元素的垂直对齐方式,可以使用vertical-align属性。

您还可以在 parent 元素上使用 display:flex 作为更简单的修复。

关于javascript - 如何在不使用位置 : absolute? 的情况下强制 div 保持在同一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50402877/

相关文章:

Asp.NET MvcHtmlString 和 ModelMetadata.FromLambdaExpression 到 AspNetCore?

javascript - react-native - 作为参数调用函数

javascript - 我自己的 Angular 2 Table 组件 - 2 种数据绑定(bind)方式

c# - 母版页中我的网络内容表单中的谷歌地图

c# - OWIN 和 Global.asax.cs 文件

javascript - 将变量分配给单个表格单元格

javascript - 全屏 vlc,底部有控件

带有 Bootstrap 的 JavaScript 表格过滤器

javascript promise 递归返回索引

html - Select 元素的增长与 display flex 中的 input 不同