我的目的是有一个输入字段,在页面加载时禁用,直到点击输入字段旁边的小文本"编辑"以启用它.我一生都想不出如何将此文本放置在它应该放置的位置.我还没有添加禁用/启用的功能,但这很简单.

到目前为止,我的代码非常基本.Mtop-8只是将余量上限设置为8 px.

<div class="mtop-8">
<input placeholder="Code" [(ngModel)]="typedCode" />
<a style="margin-top: auto"> Edit </a>
</div>

我try 使用a,但这将它置于输入字段的下方.我需要让它与该字段的底部稍微偏右保持一致.我还try 过margin-top: auto, text-align: left和其他css样式试图将其向下推到它的位置,但没有效果.

推荐答案

使用flexbox使内容水平而不是垂直堆叠,然后将Deliver-items属性设置为中心,以确保分区内的所有内容都将以Y轴为中心.我还建议对元素应用一些余量.

<style>
.mtop-8 {
    margin-top: 8px;
    display: flex;
    align-items: center;
}
.mtop-8 a {
    /* Add a little spacing in between the input and text */
    margin-left: 4px;
}
</style>
<div class="mtop-8">
    <input id="codeInput" placeholder="Code [(ngModel)]="typedCode" disabled/>
    <a id="editLabel">Edit</a>
</div>
<script>
document.getElementById("editLabel").addEventListener("click", function() {
    let input = document.getElementById("codeInput");
    let label = document.getElementById("editLabel");
    if (input.disabled) {
        input.disabled = false;
        label.innerHTML = "Stop Editing";
    } else {
        input.disabled = true;
        label.innerHTML = "Edit";
    }
});
</script>

Html相关问答推荐

CSS动画积分计数器

在NzMessageService中传递动态TemplateRef- Angular 15

为什么在移动视图中,这个水平可滚动的表格会在表格的右侧显示额外的空间?

角化、剪裁、边缘,但仅在底部2和平滑包装上

在显示 swift ui 之前加载下一个 YouTube 视频

当底部进入视图时从底部粘性定位

如何在悬停时使用 CSS 更改许多同级元素

当我们在vue中使用截断大文本时如何显示标题属性?

为什么盒子不在div中显示?

实验的响应式屏幕尺寸

如何截断一些文本并用双引号引起来?

为什么在使用src与srcdoc时 iframe 内容高度呈现不同?

如何通过可见文本使用 Selenium 定位元素

在 SQL 中合并 HTML 表中的单元格

我如何让这个动画播放,然后停止,然后在设定的时间后再次播放? (CSS)

防止 HTML 表格在 Quarto 中使用全页宽度

圆形边框显示在该部分后面.怎么修?

变换元素以适应高度(Angular,SCSS)

为什么 `html` 上的 overflow: hidden 将滚动框移动到正文?

样式不适用于来自 tailwindcss 的网络